Modulo:Frasario

Da Wikivoyage.

Questo modulo restituisce i nomi dei giorni della settimana e dei mesi nella lingua desiderata, anche in forma di tabella. È concepito per essere utilizzato nei frasari.


local months = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}
local days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"}
local deflang = mw.language.getContentLanguage()
local p = {}

function mese(num,lang)
	return mw.message.new(months[num]):inLanguage(lang or deflang):plain()
end

function giorno(num,lang)
	return mw.message.new(days[num]):inLanguage(lang or deflang):plain()
end

function p.mese(frame)
	return mese(tonumber(frame.args[1]),frame.args[2])
end

function p.giorno(frame)
	return giorno(tonumber(frame.args[1]),frame.args[2])
end

function p.mesi(frame)
	local s = '{||border=0 cellpadding="5" cellspacing="1"\n'
	for indice,stagione in pairs({'inverno','primavera','estate','autunno'}) do
		s=s..'| style="background:#66CCFF" align="center" colspan="3" | \'\'\''..stagione..'\'\'\'\n'
	end
	s=s..'|-style="background:#CCCCFF;" align="center"\n'
	for num=1,12 do
		s=s..'|\'\'\''..mese(num)..'\'\'\'\n'
	end
	s=s..'\n|-style="background:#CCCCFF;" align="center"\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n\n|-style="background:#CCCCFF;" align="center"\n'
	for num=1,12 do
		s=s..'|\'\'\''..mese(num,frame.args[1])..'\'\'\'\n'
	end
	s=s..'\n|-\n|}'
	return s
end

function p.giorni(frame)
	local s = '{||border=0 cellpadding="5" cellspacing="1"\n| style="background:#66CCFF" align="center" colspan="7" | \'\'\'I giorni della settimana\'\'\'\n\n|-style="background:#CCCCFF;" align="center"\n'
	for num=1,7 do
		s=s..'|\'\'\''..giorno(num)..'\'\'\'\n'
	end
	s=s..'\n|-style="background:#CCCCFF;" align="center"\n|\n|\n|\n|\n|\n|\n|\n\n|-style="background:#CCCCFF;" align="center"\n'
	for num=1,7 do
		s=s..'|\'\'\''..giorno(num,frame.args[1])..'\'\'\'\n'
	end
	s=s..'\n|-\n|}'
	return s
end

return p