Module:contexte
Apparence
La documentation pour ce module peut être créée à Module:contexte/Documentation
local b = require('Module:bases')
local l = require('Module:langues')
local db = mw.loadData('Module:contexte/data')
local p = {}
function _contexte_def(liste, langue)
local ligne_def = {}
-- Regarde chaque élément un à un
local n = 1
while(liste[n] ~= nil) do
local nom = mw.text.trim(liste[n])
n = n+1
-- Ce contexte existe-t-il ?
cont = db[nom] or {}
if not cont or not cont.invisible == true then
local label = cont.label or nom
local lien = cont.lien or nil
-- lien ?
if cont['glossaire'] and not lien then
lien = "Annexe:Glossaire grammatical#" .. cont['glossaire']
end
if lien then
if #ligne_def == 0 then
label = "[[" .. lien .. "|" .. b.ucfirst(label) .. "]]"
else
label = "[[" .. lien .. "|" .. label .. "]]"
end
elseif #ligne_def == 0 then
label = b.ucfirst(label)
end
table.insert(ligne_def, label)
-- Pas dans la liste: affiche quand même le texte et catégorise comme contexte non défini
else
table.insert(ligne_def, texte)
local cat = b.fait_categorie_contenu('Wiktionnaire:Contexte non défini', nil, true)
end
end
if #ligne_def > 0 then
return "''(<span class='contexte'>" .. b.ucfirst(table.concat(ligne_def, ', ')) .. "</span>)''"
else
return ""
end
end
-- Pour générer tout ce qui est {term}, {emploi}, {région}...
function p.contexte(frame)
local args
if frame.args ~= nil and frame.args[1] ~= nil then
args = frame.args
else
args = frame:getParent().args
end
argsnum = b.trim_parametres(args)
-- Vérifie que des paramètres de contexte sont donnés
if argsnum[1] == nil or argsnum[1] == '' then return '(Pas de contexte donné)' end
-- Paramètre de langue
local lang = args['lang']
local langue
if lang ~= nil then
langue = l.get_nom(lang)
end
-- Récupère la liste des infos de contexte
-- Prépare le texte à afficher sur la ligne de définition et les catégories associées
local texte_out = _contexte_def(argsnum, langue)
-- Affichage final
return texte_out
end
return p