Module:Langue/Data/Test/Documentation

De Baripedia
< Module:Langue‎ | Data‎ | Test

Erreur Lua : impossible de créer le processus : proc_open n’est pas disponible. Vérifiez la directive de configuration PHP « disable_functions ».

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

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é.

Structure du fichier et modification[modifier le wikicode]

Cette base est composée en deux parties

  1. Liste code IETF avec les informations qui s'y rapporte
  2. Liste de nom de langue et (quelque) code ISO 639 avec un lien vers le nom de base de la liste précédente.

Liste des code 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 :

  • 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 le code n'est pas un code IETF valide mais qu'il est ajouté pour éviter les erreurs de saisie, on ajoute « invalide = true » Cela permettra 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é par ordre alphabétique des code 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 ou Linguist List (en). Plutôt que de dupliquer les données, on lie le nouveau nom au données du code IETF.

Cette liste est sous la forme :

data["<nom en micuscule>"] = data["<code IETF en minuscule>"]
Exemples
  • français, code IETF « fr ».
    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"]

  • chinois de Hong Kong : le nom doit être écrit entièrement en minuscules.
    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 à faire 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 (s'il y en a plusieurs elle se suivent),
  • Ajouter un ligne pour rediriger l'ancien code vers le nouveau,
  • Repositionner ces lignes dans l'ordre alphabétique des code IETF pour qu'on puisse la retrouver.

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 wikipedia 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 ;
  • invalide : booléen égal à true si ce code n'est pas un code IETF valide, nil dans les autres cas.