Va ô cuntinutu

Mòdulu:tipi di palori

Da Wikizziunariu, lu dizziunariu a cuntinutu lìbbiru.

La ducumintazzioni di stu mòdulu si pò criari nta Mòdulu:tipi di palori/doc

b = require('Mòdulu:basi')
local p = {}
p.types = mw.loadData('Mòdulu:tipi di palori/data')
function p.is_type(nomu)
	if nomu == nil then return nil end
	nomu = b.lcfirst(nomu)
	if (p.types['alias'][nomu] or p.types['testu'][nomu]) then
		return true
	else
		return false
	end
end
function p.is_alias(nomu)
	if nomu == nil then return nil end
	nomu = b.lcfirst(nomu)
	if (p.types['alias'][nomb]) then
		return true
	else
		return false
	end
end
function forma_di(nomu, plurali)
	local formanomu = ''
	local forma = 'forma'
	if (plurali) then forma = 'formi' end
	if b.is_elidable(nomu) then
		formanomu = forma .. ' d’' .. nomu
	else
		formanomu = forma .. ' di ' .. nomu
	end
	return formanomu
end
function p.get_nomu(codici, lucuzzioni, forma, plurali)
	if (codici == nil) then return nil end
	codici = b.lcfirst(codici);
	if (p.types['alias'][codici]) then
		codici = p.types['alias'][codici]
	end
	local idlucuzzioni = 'lucuzzioni'
	local idpalora = 'palora'
	if (plurali) then
		idlucuzzioni = 'lucuzzioni_pl'
		idpalora = 'palora_pl'
	end
	if (p.types['testu'][codici] ~= nil) then
		local nomu = ''
		if (lucuzzioni and p.types['testu'][codici][idlucuzzioni] ~= nil) then
			nomu = p.types['testu'][codici][idlucuzzioni]
		else
			nomu = p.types['testu'][codici][idpalora]
		end
		if (forma) then
			nomu = forma_di(nomu, plurali)
		end
		return nomu;
	else
		return 'tipu nun difinutu'
	end
	return nil
end
function p.get_nomu_singulari(codici, lucuzzioni, forma)
	plurali = false
	return p.get_nomu(codici, lucuzzioni, forma, plurali)
end
function p.get_nomu_plurali(codici, lucuzzioni, forma)
	plurali = true
	return p.get_nomu(codici, lucuzzioni, forma, plurali)
end
function p.get_abrev(nomu, lucuzzioni, forma)
	if nomu == nil then return 'indef' end
	nomu = b.lcfirst(nomu)
	if p.types['alias'][nomu] then
		nomu = p.types['alias'][nomu]
	end
	if (p.types['testu'][nomu]) then
		local abrev = p.types['testu'][nomu]['abrev']
		if (forma)  then abrev = 'flex-' .. abrev end
		return abrev
	else
		return 'indef'
	end
end
return p