Modul:koda zimanî
Documentation for this module may be created at Modul:koda zimanî/belge
b = require('Modul:bases')
-- Çavkanî: fr.wiktionary [[Module:code de langue]]
local p = {}
-- Cherche et renvoie le code à partir du nom d'une langue depuis notre liste locale [[Module:langues/data]].
-- Fonction utilisable dans un modèle
function p.koda_zimani(frame)
-- Besoin que d'un paramètre, voire aucun si le nom de la page correspond exactement au nom dans la liste
if frame.args ~= nil and frame.args[1] ~= nil then
args = frame.args
else
args = frame:getParent().args
end
local nav = args[1]
-- Pas de nom de langue ? Récupère le nom à partir du nom de la page
if nav == nil or mw.text.trim(nav) == '' then
nav = mw.title.getCurrentTitle().text
else
-- On enlève les espaces du paramètre donné
nav = mw.text.trim(nav)
end
-- Récupère la table des langues entière (en cache)
local langues = mw.loadData('Modul:ziman/dane')
--if nom then return nom end
-- A-t-on la langue correspondant au code donné?
-- On tourne sur toutes les langues pour trouver la bonne
-- Pas aussi efficace que d'avoir le tableau inversé (code-langue -> langue-code)
-- mais on n'en a besoin que d'une fois dans la page, donc pas la peine
for code, langue_table in pairs(langues) do
if nav == langue_table['nav'] then
-- Trouvé !
return code
end
end
-- Pas trouvé : renvoie une chaîne vide, plus facilement utilisable par les modèles
return ''
end
return p