Modulo:Latino

Da Wikizionario, il dizionario a contenuto aperto.

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