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