Modulo:Cirillico

Da Wikizionario, il dizionario a contenuto aperto.
Jump to navigation Jump to search

Questo modulo gestisce varie funzioni legate alla scrittura cirillica.

p.radice

La funzione p.radice restituisce il suo argomento senza l'eventuale accento acuto; in pratica inserendo come parametro часы́ restituisce часы.

È pensato per essere inserito nei vari template di flessione, coniugazione o declinazione dei lemmi in russo, come il {{Ru-noun1}}, e non andrebbe utilizzato direttamente in ns0.

per richiamarlo in un template, si utilizzi il codice

{{#invoke:Cirillico|radice|x={{{1}}}}}

dove {{{1}}} è ovviamente il parametro passato dal template

ovviamente un wikilink bisogna inserire le quadre a mano; la sintassi del wikilink sarà [[{{#invoke:Cirillico|radice|x={{{1}}}}}A|{{{1}}}A]]

p.link

La funzione p.link permette di creare dei wikilink ai lemmi in russo, eliminando l'eventuale accento acuto; in pratica inserendo come parametro часы́ crea un link nella forma [[часы|часы́ ]], ovvero visualizzando il lemma con l'accento ma facendo puntare il link alla forma non accentata (che è quella alla quale si trova il lemma); elimina quindi il bisogno di inserire le quadre nel template.

questa funzione al momento non è implementata in alcun template, ma potrebbe esserlo in futuro

per richiamarlo in un template, si utilizzi il codice

{{#invoke:Cirillico|link|x={{{1}}}}}

dove {{{1}}} è ovviamente il parametro passato dal template

p = {}

function p.noaccenti(x) -- funzione che rimuove l'accento acuto cirillico dal suo argomento nei wikilink
	local dp={
	['́'] = ''
	};
	return (mw.ustring.gsub(x, '.', dp))
	end
	
	function p.radice(frame) --restituisce semplicemente il suo argomento senza accenti
	pframe = frame:getParent()
	config = frame.args
	args = pframe.args
-- Argomenti passati dal template
	x = config["x"] or " "
	radice = p.noaccenti(x)
	return radice
	end
	
function p.link(frame) --crea i wikilink nella forma [[senza_accento|con_accento]]
	pframe = frame:getParent()
	config = frame.args
	args = pframe.args
-- Argomenti passati dal template
	x = config["x"] or " "
	if x < "a" then
		link = "n.e."
	else
		if p.noaccenti(x) == mw.title.getCurrentTitle().text then
			link = x
		else
			link = "[[".. p.noaccenti(x) .. "|".. x.. "]]"
		end
	end
	return link
	end

return p