« Module:Langues » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
Ne renvoie rien s'il n'y a pas de code
Renvoie nil s'il n'y a aucune langue qui correspond au code
Ligne 25 : Ligne 25 :
-- Non défini chez nous: essaye la liste Wikimédia
-- Non défini chez nous: essaye la liste Wikimédia
local nom = p.get_nom_wikimedia(code)
local nom = p.get_nom_wikimedia(code)
return nom
-- On ne renvoit quelque chose que si le nom existe
if (nom ~= nil and nom ~= '') then
return nom
else
return nil
end
end
end
end
end

Version du 16 mars 2013 à 21:46

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

local p = {}

-- Wikimédia a une liste des codes langues avec leur nom en français : autant en profiter
function p.get_nom_wikimedia(code)
    return code and mw.language.fetchLanguageName(code, 'fr') or nil
end

-- Pour tester
function p.affiche_nom_wikimedia(frame)
    return p.get_nom_wikimedia(frame.args[1])
end

-- Récupère le nom d'une langue à partir de son code
function p.get_nom(code)
    if (code == nil) then return nil end
    
    -- Notre propre liste de langue (prioritaire)
    local wlangues = mw.loadData('Module:langues/data')
    
    -- Code défini chez nous?
    if (wlangues[code] ~= nil) then
        local nom = wlangues[code]['nom']
        return nom
    else
        -- Non défini chez nous: essaye la liste Wikimédia
        local nom = p.get_nom_wikimedia(code)
        
        -- On ne renvoit quelque chose que si le nom existe
        if (nom ~= nil and nom ~= '') then
            return nom
        else
            return nil
        end
    end
end

return p