Module:Langue/Data/Documentation
< Module:Langue | Data
Aller à la navigation
Aller à la recherche
La documentation pour ce module peut être créée à Module:Langue/Data/Documentation/doc
Erreur de script : Erreur Lua à la ligne 1 : unexpected symbol near '{'.
{{#invoke:Langue|erreurModuleData}} <!-- affiche un message d'erreur si le module bug --> {{Avertissement|texte='''Si une langue ne possède pas de code IETF, elle ne doit pas figurer dans cette base !'''|Ces codes servent dans le code HTML des articles à indiquer les langues, notamment pour les lecteurs d'écran destinés aux malvoyants. Utiliser de mauvais codes nuit grandement à l'accessibilité.}} Ce module est une base de données de langues destinée à être chargée par [[:mw:Extension:Scribunto/Lua reference manual/fr#mw.loadData|mw.loadData]]. == Avertissements == 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 [https://r12a.github.io/app-subtags/ registre tenu à jour par l'IANA] (voir également ''[https://www.w3.org/International/questions/qa-choosing-language-tags 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 == Pour chaque code IETF, il y a une ligne de ce type : <code><nowiki><code IETF> = { "<nom de la langue en français>", "<autre nom>" },</nowiki></code> 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 {{m|code langue}} pour retrouver un code à partir du nom de la langue, ils doivent donc être uniques. Exemples : * [[français]], code IETF « fr » <br> {{code|1=fr = {"français"},|2=lua}} * [[finnois]], code IETF « fi » <br> {{code|1=fi = { "finnois", "finlandais", "finnish" },|2=lua}} * [[anglais britannique]], code IETF « en-GB » <br> {{code|1=["en-gb"] = {"anglais britannique"},|2=lua}} 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 « <code>page = "<page wikipédia de cette langue>"</code> » * Si la langue s'écrit de droite à gauche, on ajoute une donnée « <code>rtl = true</code> » (rtl pour {{lang|en|right to left}}, pas de guillemets autour de <code>true</code>) * Si la langue est une langue des signes, on ajoute une donnée « <code>signe = true</code> » (pas de guillemets autour de <code>true</code>) * Si le code n'est pas un code IETF valide, mais qu'il est ajouté pour éviter les erreurs de saisie, on ajoute « <code><nowiki>invalide = "<code valide>"</nowiki></code> », ce qui permet la catégorisation des pages utilisant ce code. Exemples : * [[Corse (langue)|corse]] <br> {{code|1=co = {"corse", page = "Corse (langue)"},|2=lua}} * [[arabe]], qui s'écrit de droite à gauche <br> {{code|1=ar = {"arabe", rtl = true},|2=lua}} * [[japonais]], IETF « ja » mais souvent écrit avec le code [[ISO 3166-1]] du [[Japon]] « JP » <syntaxhighlight lang="lua">ja = {"japonais"}, jp = {"japonais", invalide = "ja"},</syntaxhighlight> La liste est triée par ordre alphabétique des codes IETF. == Utilisation dans un module Lua == 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éments suivants : * <code>code</code> : code IETF de la langue ; * <code>nom</code> : nom complet, en français, de cette langue ; * <code>page</code> : nom de la page Wikipédia de cette langue, uniquement si celle-ci est différente du nom, <code>nil</code> dans les autres cas ; * <code>rtl</code> : booléen égal à <code>true</code> si cette langue s'écrit de droite à gauche ({{lang|en|right to left}}), <code>nil</code> dans les autres cas ; * <code>signe</code> : booléen égal à <code>true</code> si cette langue est une langue des signes, <code>nil</code> dans les autres cas ; * <code>invalide</code> : booléen égal à <code>true</code> si ce code n'est pas un code IETF valide, <code>nil</code> dans les autres cas. {{Projet Scribunto}} <includeonly> [[Catégorie:Module de données]] </includeonly>