Aller au contenu

Module:sêdüngö-ndê

Alöndö na Wiktionary

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