Module:Langue/Data/Documentation

From CryptoWiki

< Module:Langue‎ | Data

Revision as of 08:36, 2 January 2022 by 5imp5on (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


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

Structure du fichier

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 »
    <syntaxhighlight lang="lua" class="" id="" style="" inline="1">fr = {"français"},</syntaxhighlight>
  • finnois, code IETF « fi »
    <syntaxhighlight lang="lua" class="" id="" style="" inline="1">fi = { "finnois", "finlandais", "finnish" },</syntaxhighlight>
  • anglais britannique, code IETF « en-GB »
    <syntaxhighlight lang="lua" class="" id="" style="" inline="1">["en-gb"] = {"anglais britannique"},</syntaxhighlight>

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 de true)
  • Si la langue est une langue des signes, on ajoute une donnée « signe = true » (pas de guillemets autour de true)
  • 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
    <syntaxhighlight lang="lua" class="" id="" style="" inline="1">co = {"corse", page = "Corse (langue)"},</syntaxhighlight>
  • arabe, qui s'écrit de droite à gauche
    <syntaxhighlight lang="lua" class="" id="" style="" inline="1">ar = {"arabe", rtl = true},</syntaxhighlight>
  • 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 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.

Catégorie:Documentation de module