Module:Langue/Data/Documentation

Une page de Wikiversité.
Sauter à la navigation Sauter à la recherche

Ceci est la page de documentation pour Module:Langue/Data


Ce module est une base de données de langues destinée à être chargé par mw.loadData.

Avertissements[modifier le wikicode]

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és 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 et modification[modifier le wikicode]

Cette base est composée en deux parties :

  1. Liste des codes IETF avec les informations qui s'y rapportent ;
  2. Liste des noms de langue et quelques codes incorrects avec un lien vers le code de base de la liste précédente.

Liste des codes IETF[modifier le wikicode]

Pour chaque code IETF, il y a une ligne de ce type :

data["<code IETF en minuscule>"] = {code = "<code IETF>", nom = "<nom de la langue en français>"}

Exemples :

  • français, code IETF « fr »
    data["fr"] = {code = "fr", nom = "français"}
  • monténégrin, code IETF « sr-ME »
    data["sr-me"] = {code = "sr-ME", nom = "monténégrin"}

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 = true », ce qui permet la catégorisation des pages utilisant ce code.

Exemples :

  • corse
    data["co"] = {code = "co", nom = "corse", page = "Corse (langue)"}
  • arabe, qui s'écrit de droite à gauche
    data["ar"] = {code = "ar", nom = "arabe", rtl = true}
  • japonais, IETF « ja » mais souvent écrit avec le code ISO 3166-1 du Japon « JP »
    data["ja"] = {code = "ja", nom = "japonais"}
    data["jp"] = {code = "ja", nom = "japonais", invalide = true}

La liste est triée par ordre alphabétique des codes IETF.

Liste des noms de langues[modifier le wikicode]

L'objectif de cette liste est de fournir des alias permettant d'utiliser un nom français au lieu d'un code de langue IETF ou si ce dernier n'existe pas ISO 639-3. Plutôt que de dupliquer les données, on lie le nouveau nom aux données du code IETF.

Les données de cette liste sont sous la forme :

data["<nom en minuscule>"] = data["<code IETF en minuscule>"]

Exemples :

data["français"] = data["fr"]

  • pendjabi, code IETF « pa », qui a plusieurs orthographes, avec ou sans diacritiques.

data["pendjabi"] = data["pa"]
data["penjabi"] = data["pa"]
data["penjābī"] = data["pa"]
data["panjabi"] = data["pa"]
data["panjābī"] = data["pa"]

  • latin, dont le code ISO 639 « lat » est souvent utilisé.

data["latin"] = data["la"]
data["lat"] = data["la"]

  • hébreu, code IETF « he », mais l'ancien code « iw » est quelquefois utilisé.

data["hébreu"] = data["he"]
data["iw"] = data["he"]

data["chinois de hong kong"] = data["zh-hk"]

Cette liste est aussi triée par code IETF, c'est-à-dire la deuxième partie de l'expression.

Liste des actions à effectuer pour changer un code erroné[modifier le wikicode]

  • Dans la liste des caractéristiques (première partie), changer les deux occurrences du code IETF. Attention, il faut impérativement des minuscules la première fois.
  • Repositionner cette ligne dans l'ordre alphabétique pour qu'on puisse la retrouver.
  • Dans la liste des alias (deuxième partie), changer les codes IETF sur chaque redirection (elles se suivent s'il y en a plusieurs).
  • Ajouter une ligne pour rediriger l'ancien code vers le nouveau.
  • Repositionner ces lignes dans l'ordre alphabétique des codes IETF pour qu'on puisse les retrouver.

Après avoir enregistré les modifications, cliquer sur le bouton « purger » (Documentation du module) pour mettre à jour la liste des langues supportées.

Utilisation dans un module Lua[modifier le wikicode]

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.