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

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
m A protégé « Module:langues » : Modèle sensible ([Modifier=Autoriser uniquement les utilisateurs auto-confirmés] (infini) [Renommer=Autoriser uniquement les utilisateurs auto-confirmés] (infini))
Nettoyage des commentaires, petites retouches
Ligne 1 : Ligne 1 :
local p = {}
local p = {}


-- AFFICHAGE DES LANGUES
-- Cherche et renvoie le nom de la langue depuis notre liste locale [[Module:langues/data]].
-- 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)
function p.get_nom(code)
-- Pas de code langue ? Renvoie nil.
if (code == nil) then return nil end
if (code == nil) then return nil end
-- Récupère la table
-- Récupère la table des langues entière (en cache)
local wlangues = mw.loadData('Module:langues/data')
local langues = mw.loadData('Module:langues/data')
-- Récupère le nom de langue, s'il y est
-- A-t-on la langue correspondant au code donné ?
if (wlangues[code] and wlangues[code]['nom']) then
if (langues[code] and langues[code]['nom']) then
return wlangues[code]['nom']
-- Trouvé ! Renvoie le nom
return langues[code]['nom']
else
else
-- Pas trouvé : on renvoie nil
return nil
return nil
end
end
end
end


-- Affiche directement le nom de la langue
-- Affiche directement le nom de la langue retourné par get_nom()
-- À utiliser directement avec #invoke
function p.affiche_nom(frame)
function p.affiche_nom(frame)
local code = frame.args[1]
local code = frame.args[1]
if (code == nil) then
-- Pas de code langue ? Renvoie un message d'erreur.
if (code == nil or code == '') then
return 'Pas de code langue donné'
return 'Pas de code langue donné'
end
end
-- Récupère la langue dans le liste Wikimedia
-- Récupère le nom de la langue correspondant au code donné
local langue = p.get_nom(code)
local langue = p.get_nom(code)
-- A-t-on un résultat ?
-- A-t-on trouvé une langue ?
if (langue ~= nil and langue ~= '') then
if (langue ~= nil and langue ~= '') then
-- Trouvé ! On renvoie le nom de la langue
return langue
return langue
else
else
-- Pas trouvé : on renvoie un message d'erreur.
return "Pas de nom de langue pour ''" .. code .. "''"
return "Pas de nom de langue pour ''" .. code .. "''"
end
end

Version du 20 mars 2013 à 14:06

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
    
    -- 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

-- 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
    
    -- 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

return p