Mòdul:eu-lema

De Viccionari
Icona de documentació de mòdul Documentació del mòdul[mostra] [modifica] [refresca]

A continuació es mostra la documentació transclosa de la subpàgina /ús. [salta a la caixa de codi]


Aquest mòdul presenta la capçalera d’una entrada en basc. Actualment dóna suport a les plantilles {{eu-nom}} i {{eu-nom propi}}. Vegeu la documentació de les plantilles per a la seva utilització.

local p = {}

local m_headword = require("Mòdul:lema")
local lang = {code = "eu", name = "basc", sc = "Latn"}
local pos_functions = {}

-- Funció d'entrada, l'única que s'invoca des d'una plantilla
function p.flex(frame)
	local args = frame:getParent().args
	pagename = args.pagename
	if not pagename or pagename == "" then
		pagename = mw.title.getCurrentTitle().subpageText
	end
	
	local data = {lang = lang, heads = {}, categories = {}, genders = {}}
	local lema = args.lema; if lema == "" then lema = nil end
	table.insert(data.heads, lema)
	
	local poscat = frame.args[1] or error("Falta especificar la categoria lèxica com a primer paràmetre.")
	if pos_functions[poscat] then
		pos_functions[poscat].func(args, data)
	else
		table.insert(data.categories, poscat .. " en " .. lang.name)
	end
	
	if args.cat and args.cat ~= "" then
		table.insert(data.categories, args.cat)
	end
	
	return m_headword.full_headword(data)
end

-- Informació per a substantius
pos_functions["Substantius"] = {func = function(args, data)
	local genders = mw.text.split(args[1] or "", "/")
	for _, g in ipairs(genders) do
		local gender = string.gsub(g, "i$", "indef")
		table.insert(data.genders, gender)
	end
	
	if mw.ustring.find(pagename, "[^ ]+ [^ ]+") then
		table.insert(data.categories, "Locucions nominals en basc")
	else
		table.insert(data.categories, "Substantius en basc")
	end
	return
end
}

-- Informació per a noms propis
pos_functions["Noms propis"] = {func = function(args, data)
	local genere = args[1] or ""
	table.insert(data.genders, (genere == "" and "?" or genere))
	
	table.insert(data.categories, "Noms propis en basc")
	return
end
}

return p