Va ô cuntinutu

Mòdulu:sizzioni lingua

Da Wikizziunariu, lu dizziunariu a cuntinutu lìbbiru.

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