Module:section langue

ئورنى Wiktionary

Documentation for this module may be created at Module:section langue/doc

b = require('Module:bases')
lang = require('Module:langues')
 
local p = {}

---------------------------------------------------------------------------------------------------------------------
-- SECTION DE LANGUE
 
-- Renvoit un lien vers une page représentant la langue si elle existe : portail ou article.
-- À défaut, renvoit simplement le nom de la langue donnée en entrée.
function _page_langue(langue)
 
    local nom_langue = b.ucfirst(langue)    -- Nom en majuscule
    local texte_nom = nom_langue .. "چە"            -- Texte final
 
    -- Cette langue a-t-elle un portail?
--    local nom_portail = 'Wiktioanry:' .. nom_langue
--    local portail = mw.title.new(nom_portail)
 
    -- Oui? Lien!
--    if (portail.exists) then
--        texte_nom = '[[' .. nom_portail .. '|' .. nom_langue .. ']]'
 
    -- Non: on regarde autre chose
--    else
        -- Le nom de cette langue a-t-elle une page?
--        local page_langue = mw.title.new(langue)
 
--        if (page_langue.exists) then
--            texte_nom = '[[' .. langue .. '|' .. nom_langue .. ']]'
--        end
--    end
 
    return texte_nom
end
 
-- Préparation du titre de langue :
-- récupération du nom de la langue et création du texte affiché (avec ancre, catégorie et lien)
function _fait_titre_langue(code)
 
    -- Pas de code donné ? À corriger !
    if (code == nil or mw.text.trim(code) == '') then
        local textet = {"[[Wiktionary:تىللار تىزىملىگى|ئېنىقلانمىغان تىل]]"}
        table.insert(textet, b.fait_categorie_contenu("Wiktionary:تىل كودى ئېنىقسىز بولغان سۆزلەر"))
        return table.concat(textet)
    end
 
    code = mw.text.trim(code)
 
    -- Récupération du nom de la langue
    local langue = lang.get_nom(code)
 
    -- Création du titre à partir du nom de la langue
    local textet_titre = {}
    if langue ~= nil then
        texte_langue = _page_langue(langue) .. " (" .. code .. ")"
        table.insert(textet_titre, texte_langue)
 
        -- Catégorie
        table.insert(textet_titre, b.fait_categorie_contenu(langue .. " تىلى"))
 
    -- Si le code langue ne correspond à aucune langue définie
    else
        table.insert(textet_titre, b.ucfirst(code))
        table.insert(textet_titre, "[[Wiktionary:تىللار تىزىملىگى|<span title=\"code langue non défini\">*</span>]]")
        table.insert(textet_titre, b.fait_categorie_contenu('كودى يوق تىل قېلىپى'))
    end
 
    return '<span class="sectionlangue" id="' .. code .. '">' .. table.concat(textet_titre) .. '</span>'
end

-- LANGUE : FONCTION POUR MODÈLE
-- Création d'un titre de section de langue
function p.section_langue(frame)
    -- Récupération des variables nécessaires à la création du titre
    local args = frame:getParent().args
    local code_langue  = args[1]
 
    return _fait_titre_langue(code_langue)
end

return p