Module:Langue/Data/Documentation
Ce module est une base de données de langues destinée à être chargé par mw.loadData.
Avertissements[modifier le code]
Attention à la syntaxe lors de la modification de ces données : cette page est utilisée par un programme informatique qui n'accepte pas qu'une virgule soit absente. Seules possibilités :
- les données saisies peuvent être entourées de guillemets doubles (") ou simples (') — mais pas de guillemets français (« »)
- des espaces peuvent être ajoutées pour améliorer la lisibilité.
Avant d'ajouter une langue, vérifier qu'elle n'est pas déjà liée à un autre code dans la liste.
Pour rechercher le code approprié :
- obtenir le nom de la langue en anglais (par exemple grâce au lien interlangue sur l'article de la langue) ;
- rechercher celui-ci dans la liste complète des codes IETF du registre tenu à jour par l'IANA (voir également Choosing a Language Tag sur w3.org) ;
- si la langue ne possède pas de code IETF, elle ne doit pas figurer dans cette base.
La liste complète des langues prises en charge se trouve sur la page Module:Langue/Liste des langues.
Structure du fichier[modifier le code]
Pour chaque code IETF, il y a une ligne de ce type :
<code IETF> = { "<nom de la langue en français>", "<autre nom>" },
Si le code IETF contient des tirets, il faut l'entourer de guillemets et de crochets. Il peut y avoir plusieurs autres noms ou aucun, chacun entre guillemets et séparé des autres par des virgules. Ces noms seront utilisés par le modèle {{code langue}} pour retrouver un code à partir du nom de la langue, ils doivent donc être uniques.
Exemples :
- français, code IETF « fr »
fr = {"français"},
- finnois, code IETF « fi »
fi = { "finnois", "finlandais", "finnish" },
- anglais britannique, code IETF « en-GB »
["en-gb"] = {"anglais britannique"},
Cette syntaxe est complétée par des options, séparées par une virgule :
- Si la page Wikipédia à propos de cette langue ne porte pas le nom de la langue, on ajoute une donnée «
page = "<page wikipédia de cette langue>"
» - Si la langue s'écrit de droite à gauche, on ajoute une donnée «
rtl = true
» (rtl pour right to left, pas de guillemets autour detrue
) - Si la langue est une langue des signes, on ajoute une donnée «
signe = true
» (pas de guillemets autour detrue
) - Si le code n'est pas un code IETF valide, mais qu'il est ajouté pour éviter les erreurs de saisie, on ajoute «
invalide = "<code valide>"
», ce qui permet la catégorisation des pages utilisant ce code.
Exemples :
- corse
co = {"corse", page = "Corse (langue)"},
- arabe, qui s'écrit de droite à gauche
ar = {"arabe", rtl = true},
- japonais, IETF « ja » mais souvent écrit avec le code ISO 3166-1 du Japon « JP »
ja = {"japonais"}, jp = {"japonais", invalide = "ja"},
La liste est triée par ordre alphabétique des codes IETF.
Utilisation dans un module Lua[modifier le code]
Ce module exporte pour chaque nom de langue, indexé par son nom en français ou son code IETF en minuscule, une table avec les élément suivants :
code
: code IETF de la langue ;nom
: nom complet, en français, de cette langue ;page
: nom de la page Wikipédia de cette langue, uniquement si celle-ci est différente du nom,nil
dans les autres cas ;rtl
: booléen égal àtrue
si cette langue s'écrit de droite à gauche (right to left),nil
dans les autres cas ;signe
: booléen égal àtrue
si cette langue est une langue des signes,nil
dans les autres cas ;invalide
: booléen égal àtrue
si ce code n'est pas un code IETF valide,nil
dans les autres cas.