Aller au contenu

Module:Langue/Data/Documentation

Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 14 août 2013 à 02:15 et modifiée en dernier par Zebulon84 (discuter | contributions) (Mise à jour avec selon le nouveau format.). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.


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é par un programme informatique qui n'accepte pas qu'une virgule soit absente. Seules possibilités :

  • les donnée saisie peuvent être entourée de guillemets double (") ou simple (') — mais pas de guillemets français («  »)
  • des espaces peuvent être ajoutés pour améliorer la lisibilité.

Structure du fichier et modification

Cette base est composé 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

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

L'objectif de cette liste est de fournir des alias permettant d'utilisé un nom français au lieu d'un code IETF, ou les codes ISO 639 répandu. 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>"]

Exemple :

  • français, code IETF « fr »
    data["français"] = data["fr"]
  • Pendjabi, code IETF « pa », qui a plusieurs orthographe, 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 est « he » mais un 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 minuscule
    data["chinois de hong kong"] = data["zh-hk"]

Cette liste est aussi trié par code IETF, donc la deuxième partie de l'expression.

Liste des actions à faire pour changer un code erroné

  • Dans la première partie, changé 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 deuxième partie, changé les codes IETF sur chaque redirection (si 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

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 suivant

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