Aller au contenu

Module:Utilisateur:SyntaxTerror

Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 10 août 2013 à 05:55 et modifiée en dernier par SyntaxTerror (discuter | contributions) (Nouvelle page : local langue = { } local datalangue = mw.loadData( 'Module:langue/Data' ) -- premierParametre renvoi le premier paramètre de Frame, que celui-ci ait été au module par i...). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

 Documentation[voir] [modifier] [historique] [purger]

Utilisateur:SyntaxTerror/Brouillon/Module


local langue = { }
 
    local datalangue = mw.loadData( 'Module:langue/Data' )
 
-- premierParametre renvoi le premier paramètre de Frame, que celui-ci ait été au module par invoke, directement au modèle, 
-- ou à l'intérieur d'un module sous forme de string dans un tableau ou direstement de string.
-- si aucun de ces argument ne contient de chaine, la fonction renvoi nil
-- si le deuxième paramètre est true, la chaine est rendue trimé et en minuscule.
local function premierParametre ( frame, lowerCase )
    local arg
    if type ( frame ) == 'table' then
        arg = ( frame.getParent and ( frame.args [1] or frame:getParent().args [1] ) ) or frame [1]
    elseif type ( frame ) == 'string' then
        arg = frame
    end
    if type ( arg ) ~= 'string' then
        arg = nil
    end
    if arg and lowerCase then 
        arg = mw.ustring.lower ( mw.text.trim ( arg ) )
    end
    return arg
end

-- Nom langue
function langue.nomLangue ( frame )
    local arg = premierParametre ( frame, true )
    local nom = datalangue.dataNomLangue [ arg ] or '?????'
    return nom
end
 
-- Indication de langue
function langue.indicationDeLangue ( frame )
    local args = ( frame.getParent and frame:getParent().args ) or frame or { }
    local nomLangue = args [1] or ''
    local code = mw.ustring.lower ( args.langue or mw.text.trim( args [2] or '' ) )
    local texte = args.texte
    local dir = args.dir
    local wikiText = ''
 
    if nomLangue == '' then
        nomLangue = datalangue.dataNomLangue [ code ] or ''
    end
 
    if texte and texte ~= '' then
        texte = ' ' .. langue.lang { code, dir = dir, texte = texte }
    else
        texte = ''
    end
 
    wikiText = '<span class="indicateur-langue"><abbr class="abbr" title="Langue : '
        .. nomLangue .. '">'
        .. code .. '</abbr></span>'
        .. texte
 
    return wikiText
end

return langue