Mòdulu:sizzioni lingua
La ducumintazzioni di stu mòdulu si pò criari nta Mòdulu:sizzioni lingua/doc
b = require('Mòdulu:basi')
lang = require('Mòdulu:lingui')
local p = {}
function _paggina_lingua(lingua, codici)
local nomu_lingua = b.ucfirst(lingua)
local testu_nomu = nomu_lingua
if (lang.has_purtali(codici)) then
local nomu_purtali = 'Purtali:' .. nomu_lingua
testu_nomu = '[[' .. nomu_purtali .. '|' .. nomu_lingua .. ']]'
elseif (lingua ~= 'cunvenzioni ntirnazziunali') then
local paggina_lingua = mw.title.new(lingua)
if (paggina_lingua.exists) then
testu_nomu = '[[' .. lingua .. '|' .. nomu_lingua .. ']]'
end
end
return testu_nomu
end
function _fa_titulu_lingua(codici, is_not_cat)
if (codici == nil or mw.text.trim(codici) == '') then
local testu = {"[[Wikizziunariu:Lista dî lingui|lingua scanusciuta]]"}
table.insert(testu, b.fa_catiguria_cuntinutu("Wikizziunariu:Sizzioni di lingua senza lingua pricisata"))
return table.concat(testu)
end
codici = mw.text.trim(codici)
local lingua = lang.get_nomu(codici)
local testu_titulu = {}
if lingua ~= nil then
testu_lingua = _paggina_lingua(lingua, codici)
table.insert(testu_titulu, testu_lingua)
if not is_not_cat then
table.insert(testu_titulu, b.fa_catiguria_cuntinutu(lingua))
end
else
table.insert(testu_titulu, b.ucfirst(codici))
table.insert(testu_titulu, "[[Wikizziunariu:Lista dî lingui|<span title=\"còdici lingua scanusciutu\">*</span>]]")
table.insert(testu_titulu, b.fa_catiguria_cuntinutu('Wikizziunariu:Sizzioni di lingua cu còdici scanusciutu'))
end
return '<span class="sizzionilingua" id="' .. codici .. '">' .. table.concat(testu_titulu) .. '</span>'
end
function p.sizzioni_lingua(frame)
local args = frame:getParent().args
return p.sizzioni_lingua_args(args)
end
function p.sizzioni_lingua_args(args)
local codici_lingua = args[1]
local is_not_cat = args['nocat']
local raru
if (b.paggina_di_cuntinutu() == true) then
raru = p.get_littri_rari(codici_lingua)
end
if (raru == nil) then raru = '' end
return _fa_titulu_lingua(codici_lingua, is_not_cat) .. raru
end
function p.get_littri_rari(codici)
if (codici == nil) then return nil end
codici = mw.text.trim(tostring(codici))
local lingui = mw.loadData('Mòdulu:lingui/littri_rari')
if (lingui == nil) then return nil end
if (lingui[codici] == nil) then return nil end
if (lingui[codici]['raru'] == nil) then return nil end
local cat = ""
local l = 0
titulu = mw.title.getCurrentTitle().text
for i = 1, string.len(titulu) do
l = mw.ustring.find(mw.ustring.sub(titulu, i, i), tostring(lingui[codici]['raru']))
if l ~= nil then
cat = cat .. "[[Catigurìa:" .. b.lc(mw.ustring.sub(titulu, i, i)) .. ' en ' .. lang.get_nomu(codici) .. "]]"
end
end
return cat
end
return p