« Module:Langues » : différence entre les versions
Contenu supprimé Contenu ajouté
arguments trim (suppression des espaces de part et d'autre) |
suppression de affiche_nom : pas utilisé, voir le modèle {{nom langue}} plutôt (qui utilise la fonction nom_langue) |
||
Ligne 20 : | Ligne 20 : | ||
-- Pas trouvé : on renvoie nil |
-- Pas trouvé : on renvoie nil |
||
return nil |
return nil |
||
end |
|||
end |
|||
-- Affiche directement le nom de la langue retourné par get_nom() |
|||
-- À utiliser directement avec #invoke |
|||
function p.affiche_nom(frame) |
|||
local code = frame.args[1] |
|||
-- Pas de code langue ? Renvoie un message d'erreur. |
|||
if (code == nil or code == '') then |
|||
return 'Pas de code langue donné' |
|||
end |
|||
-- Espaces avant et après enlevés |
|||
code = mw.text.trim(code) |
|||
-- Récupère le nom de la langue correspondant au code donné |
|||
local langue = p.get_nom(code) |
|||
-- A-t-on trouvé une langue ? |
|||
if (langue ~= nil and langue ~= '') then |
|||
-- Trouvé ! On renvoie le nom de la langue |
|||
return langue |
|||
else |
|||
-- Pas trouvé : on renvoie un message d'erreur. |
|||
return "Pas de nom de langue pour ''" .. code .. "''" |
|||
end |
end |
||
end |
end |
Version du 11 juin 2013 à 14:21
La documentation pour ce module peut être créée à Module:Langues/Documentation
local p = {}
-- Cherche et renvoie le nom de la langue depuis notre liste locale [[Module:langues/data]].
-- Fonction utilisable dans d'autres modules seulement
function p.get_nom(code)
-- Pas de code langue ? Renvoie nil.
if (code == nil) then return nil end
-- Espaces avant et après enlevés
code = mw.text.trim(code)
-- Récupère la table des langues entière (en cache)
local langues = mw.loadData('Module:langues/data')
-- A-t-on la langue correspondant au code donné ?
if (langues[code] and langues[code]['nom']) then
-- Trouvé ! Renvoie le nom
return langues[code]['nom']
else
-- Pas trouvé : on renvoie nil
return nil
end
end
-- Fonction pouvant remplacer les appels de type {{ {{{lang}}} }} dans les modèles
-- Cette fonction marche pour un modèle
function p.nom_langue(frame)
local args
if frame.args ~= nil and frame.args[1] ~= nil then
args = frame.args
else
args = frame:getParent().args
end
local code = args[1]
local langue = p.get_nom(code)
if (langue == nil or langue == '') then
return ''
else
return langue
end
end
return p