Module:langues tri

Définition, traduction, prononciation, anagramme et synonyme sur le dictionnaire libre Wiktionnaire.

La documentation pour ce module peut être créée à Module:langues tri/Documentation

b = require('Module:bases')

local p = {}

-- Cherche ou crée une clé de tri pour le nom des langues
function p.clef_tri_langue(code)
    -- Pas de code langue ? Renvoie nil.
    if code == nil or code == '' 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] ~= nil then
    	if langues[code]['tri'] ~= nil then
        	-- Trouvé ! Renvoie le nom
        	return langues[code]['tri']
    	elseif langues[code]['nom'] ~= nil then
    		return langues[code]['nom']
    	end
	end
	-- Rien trouvé: pas de code langue correspondant
    return code
end

function p.clef_tri_langue_modele(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]
    
    if code ~= nil then
		return p.clef_tri_langue(code)
	else
		return nil
	end
end

return p