Vai al contenuto

Modulo:ScritturaPronuncia

Da Wikivoyage.

Vedi Template:ScritturaPronuncia.


local p = {}
local getArgs = require('Module:Arguments').getArgs

function p.ScritturaPronuncia(frame)
	local args = getArgs(frame)
	local Scrittura = args[1] or ''
	local Pronuncia_traslitterata = args[2] or ''
	local Pronuncia_audio = args[3] or ''
	local Pronuncia = Pronuncia_traslitterata
	if Pronuncia_audio ~= '' then
		Pronuncia = frame:expandTemplate{ title='Pronuncia', args = { Pronuncia_audio, Pronuncia_traslitterata } }
	end
	return string.format('<<Scrittura>>%s<</Scrittura>> <<Pronuncia>>%s<</Pronuncia>>', Scrittura, Pronuncia)
end

function p.GetScrittura(frame)
	local t = frame2table(frame)
	return t['Scrittura']
end

function p.GetPronuncia(frame)
	local t = frame2table(frame)
	return t['Pronuncia']
end

function p.GetPronunciaParentesi(frame)
	local t = frame2table(frame)
	if t['Pronuncia'] and #t['Pronuncia']>0 then t['Pronuncia'] = "(''" .. t['Pronuncia'] .. "'')" end
	return t['Pronuncia']
end

function frame2table(frame)
	local t = {}
	local args = getArgs(frame, {frameOnly=true})
	local inputData = args[1] or ''
	for k, v in mw.ustring.gmatch(inputData, '<<(%w+)>>(.-)<</%1>>') do
		t[k] = v
	end
	return t
end

return p