Mòdulu:tipi di palori
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