Modulo:Latino
Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Latino/man (modifica • cronologia)
Sandbox: Modulo:Latino/Sandbox (modifica•cronologia) • Test: Modulo:Latino/Test (modifica•cronologia)
Questo modulo gestisce varie funzioni legate alla lingua latina.
p.nosill
La funzione p.nosill restituisce il suo argomento sostituisce nel suo argomento tutte le vocali accentate con i segni di brĕve e di lūnga con la corrispondente vocale senza accento; in pratica trasforma mātĕr in mater.
La funzione è pensata per essere richiamata in altri moduli, e non può essere utilizzata direttamente nei template
p.radice
La funzione p.radice è invece pensata per essere utilizzata nei template; sostituisce il primo parametro passato dal template nella versione senza accenti.
È pensato per essere inserito nei vari template di flessione, coniugazione o declinazione dei lemmi, e non andrebbe utilizzato direttamente in ns0.
per richiamarlo in un template, si utilizzi il codice
{{#invoke:Latino|radice|{{{1}}}}}
- dove {{{1}}} è ovviamente il parametro passato dal template
ovviamente un wikilink bisogna inserire le quadre a mano; la sintassi del wikilink sarà [[{{#invoke:Latino|radice|{{{1}}}}}A#Latino|{{{1}}}A]]
p = {}
function p.noaccenti(x) -- funzione che rimuove gli accenti di breve e di lunga dal suo argomento: mātĕr = mater
local dp={
['ā']='a',['ă']='a',
['ē']='e',['ĕ']='e',
['ī']='i',['ĭ']='i',
['ō']='o',['ŏ']='o',
['ū']='u',['ŭ']='u',
['ȳ']='y',
};
return (mw.ustring.gsub(x, '.', dp))
end
function p.nobrevi(x) -- gli accenti di breve dal suo argomento: mātĕr = māter
local dp={
['ă']='a',
['ĕ']='e',
['ĭ']='i',
['ŏ']='o',
['ŭ']='u',
};
return (mw.ustring.gsub(x, '.', dp))
end
function p.radice(frame) --restituisce semplicemente il suo argomento, passato dal template, senza accenti
x = frame.args[1] --il primo parametro del modulo/template
radice = p.noaccenti(x)
return radice
end
return p