Module:sêdüngö-ndê
Apparence
La documentation pour ce module peut être créée à Module:sêdüngö-ndê/doc
b = require('Module:bases')
lang = require('Module:âyângâködörö')
local p = {}
-- Charge la table une fois pour toutes pour ce module
p.types = mw.loadData('Module:sêdüngö-ndê/data')
local lien_aide_section = "[[Wiktionary:Liste des sections|<span title=\"Section inconnue\">*</span>]]"
local lien_aide_type = "[[Wiktionary:Types de mots|<span title=\"Section inconnue\">*</span>]]"
local lien_aide_langue = "[[WT:Liste des langues|<span title=\"Langue inconnue\">*</span>]]"
local lien_aide_numero = "<span title=\"Numéro incorrect\">*</span>"
function dump(o)
if type(o) == 'table' then
local s = '{ '
for k,v in pairs(o) do
if type(k) ~= 'number' then k = '"'..k..'"' end
s = s .. '['..k..'] = ' .. dump(v) .. ','
end
return s .. '} '
else
return tostring(o)
end
end
function p.SN(frame)
local categories = {}
local erreurs = {}
local textes_final = {}
local langue1=""
local langue =""
function _ajoute_categorie(categorie, titre)
categorie=string.gsub(categorie,"{{lang}}",langue)
categorie=string.gsub(categorie,"{{lang1}}",langue1)
table.insert(categories, "[[Category:"..categorie.."|"..titre.."]]")
end
function _ajoute_erreur(erreur)
table.insert(erreurs, erreur)
end
local args = frame:getParent().args
-- On s'occupe du code langue à la fin
local idxlang=-1
local codelang=""
for idxlang1,codelang1 in pairs(args) do
idxlang =idxlang1
codelang=codelang1
end
langue1= b.ucfirst(lang.get_nom(codelang))
if langue1=='' or langue1== nil then
idxlang=idxlang+1
langue1=""
langue=""
else
langue= " na "..langue1
end
local texte_final = ""
for idx,titre in pairs(args) do
titre=b.ucfirst(titre)
texte_final = titre
if idx==idxlang then
texte_final="IGNORE"
elseif titre == nil or titre == '' then
_ajoute_categorie('Wiktionary:sêdüngö-ndê sans titre',"")
texte_final = 'sêdüngö-ndê sans titre'
elseif (p.types['alias'][titre]) then
-- Alias?
texte_final = p.types['alias'][titre]['mot']
_ajoute_categorie('Wiktionary:sêdüngö-ndê utilisant un alias', titre)
if (p.types['alias'][titre]['cat'] ~= nil) then
for i, cat in ipairs(p.types['alias'][titre]['cat']) do
_ajoute_categorie(cat,titre)
end
end
if (texte_final == nil) then
texte_final=titre
_ajoute_erreur('[[Category:Wiktionary:sêdüngö-ndê avec une erreur]]')
end
elseif (p.types['texte'][titre]) then
texte_final = p.types['texte'][titre]['mot']
if (p.types['texte'][titre]['cat'] ~= nil) then
for i, cat in ipairs(p.types['texte'][titre]['cat']) do
_ajoute_categorie(cat,titre)
end
end
if (texte_final == nil) then
texte_final=titre
_ajoute_erreur('[[Category:Wiktionary:sêdüngö-ndê avec une erreur]]')
end
else
_ajoute_erreur('[[Category:Wiktionary:sêdüngö-ndê avec titre inconnu]]')
texte_final = titre
end
if texte_final~="IGNORE" then
texte_final = b.ucfirst(texte_final)
table.insert(textes_final, texte_final)
end
end
-- Finalise les catégories
return "''("..table.concat(textes_final, ", ") ..")''" .. table.concat(categories) .. table.concat(erreurs)
end
return p