Modifications

Aller à : navigation, rechercher

Module:Langue/Data/doc

4 442 octets ajoutés, 21 octobre 2018 à 09:17
Page créée avec « {{#invoke:Langue|erreurModuleData}} <!-- affiche un message d'erreur si le module bug --> Ce module est une base de données de langues destinée à être chargé par :... »
{{#invoke:Langue|erreurModuleData}} <!-- affiche un message d'erreur si le module bug -->

Ce module est une base de données de langues destinée à être chargé 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] ;
* si la langue ne possède pas de code IETF, elle ne doit pas figurer dans cette base.

{{Boîte déroulante|titre = Liste des langues supportées|contenu=
Les lettres accentuées sont classées en dessous des autres.
{{#invoke:Langue|tableauLangues}}
}}

== 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}}
* [[monténégrin]], code IETF « sr-ME » <br> {{code|1=["sr-me"] = {"monténégrin"},|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ément 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.
<includeonly>
{{Projet Scribunto}}
[[Catégorie:Module de données]]
</includeonly><noinclude>
[[Catégorie:Documentation de module]]
</noinclude>

Menu de navigation