« Module:Langues » : différence entre les versions
Contenu supprimé Contenu ajouté
Fonctions de création des éléments de tableau déplacés dans le module:bases |
get_nom et affiche_nom sont les seules fonctions restantes (=locale). Les mêmes version Wikimedia sont déplacées dans /analyse, de même que p.affiche_tableau_langues_locales |
||
Ligne 2 : | Ligne 2 : | ||
-- AFFICHAGE DES LANGUES |
-- AFFICHAGE DES LANGUES |
||
-- Cherche la langue |
-- Cherche et renvoie le nom de la langue depuis notre liste locale [[Module:langues/data]]. |
||
function p. |
function p.get_nom(code) |
||
if (code == nil) then return nil end |
if (code == nil) then return nil end |
||
Ligne 17 : | Ligne 17 : | ||
end |
end |
||
⚫ | |||
-- RCherche la langue dans la liste de Wikimedia. |
|||
function p. |
function p.affiche_nom(frame) |
||
if (code) then |
|||
local langue = mw.language.fetchLanguageName(code, 'fr') -- fr = nom en français |
|||
-- Langue trouvée ? On renvoit nil si c'est vide, pas '' |
|||
if (langue ~= nil and langue ~= '') then |
|||
return langue |
|||
else |
|||
return nil |
|||
end |
|||
else |
|||
return nil |
|||
end |
|||
end |
|||
-- Renvoit le nom d'une langue. |
|||
function p.get_nom(code) |
|||
if (code == nil) then return nil end |
|||
-- Essaye d'abord de trouver la langue localement |
|||
local langue_local = p.get_nom_local(code) |
|||
-- Trouvé localement ? |
|||
if (langue_local ~= nil) then |
|||
return langue_local |
|||
end |
|||
-- Pas trouvé localement : regarde dans la liste Wikimédia |
|||
local nom = p.get_nom_wikimedia(code) |
|||
-- Renvoit le résultat, qu'il s'agisse du nom, ou de nil |
|||
return nom |
|||
end |
|||
-- AFFICHAGE DES LANGUES |
|||
⚫ | |||
function p.affiche_nom(frame, methode) |
|||
local code = frame.args[1] |
local code = frame.args[1] |
||
if (code == nil) then |
if (code == nil) then |
||
Ligne 58 : | Ligne 24 : | ||
end |
end |
||
-- Récupère la langue |
-- Récupère la langue dans le liste Wikimedia |
||
local langue = |
local langue = p.get_nom(code) |
||
if (methode == 'local') then |
|||
langue = p.get_nom_local(code) |
|||
elseif(methode == 'wikimedia') then |
|||
langue = p.get_nom_wikimedia(code) |
|||
else |
|||
langue = p.get_nom(code) |
|||
end |
|||
-- A-t-on un résultat ? |
-- A-t-on un résultat ? |
||
Ligne 72 : | Ligne 31 : | ||
return langue |
return langue |
||
else |
else |
||
return ' |
return "Pas de nom de langue pour ''" .. code .. "''" |
||
end |
end |
||
end |
|||
-- Affiche directement le nom de la langue local. |
|||
function p.affiche_nom_local(frame) |
|||
return p.affiche_nom(frame, 'local') |
|||
end |
|||
-- Affiche directement le nom de la langue Wikimedia. |
|||
function p.affiche_nom_wikimedia(frame) |
|||
return p.affiche_nom(frame, 'wikimedia') |
|||
end |
|||
-- Affiche les langues |
|||
-- (seules les langues locales, je ne sais pas si on peut récupérer un tableau de Wikimédia) |
|||
function p.affiche_tableau_langues_locales(frame) |
|||
local titres = {'code', 'nom'} |
|||
local textet_tableau = {b.tableau_entete(titres)} |
|||
local wlangues = mw.loadData('Module:langues/data') |
|||
for code, infos in pairs(wlangues) do |
|||
local langue = infos['nom'] or 'NOM MANQUANT' |
|||
local ligne = {code, langue} |
|||
table.insert(textet_tableau, b.tableau_ligne(ligne)) |
|||
end |
|||
table.insert(textet_tableau, b.tableau_fin()) |
|||
return table.concat(textet_tableau, "\r\n") |
|||
end |
end |
||
Version du 20 mars 2013 à 00:09
La documentation pour ce module peut être créée à Module:Langues/Documentation
local p = {}
-- AFFICHAGE DES LANGUES
-- Cherche et renvoie le nom de la langue depuis notre liste locale [[Module:langues/data]].
function p.get_nom(code)
if (code == nil) then return nil end
-- Récupère la table
local wlangues = mw.loadData('Module:langues/data')
-- Récupère le nom de langue, s'il y est
if (wlangues[code] and wlangues[code]['nom']) then
return wlangues[code]['nom']
else
return nil
end
end
-- Affiche directement le nom de la langue
function p.affiche_nom(frame)
local code = frame.args[1]
if (code == nil) then
return 'Pas de code langue donné'
end
-- Récupère la langue dans le liste Wikimedia
local langue = p.get_nom(code)
-- A-t-on un résultat ?
if (langue ~= nil and langue ~= '') then
return langue
else
return "Pas de nom de langue pour ''" .. code .. "''"
end
end
return p