Modulo:Sandbox/Barbaking

sottopagine


-- Questo template gestisce i link alle parole inserite come suo argomento, realizzando, per lingue specifiche, vari accorgimenti per eliminare accenti o simboli grafici, facendo puntare il link alla forma base anche se viene visualizzata quella accentata

local p = {}

function p.link(frame)
	pframe = frame:getParent()
	config = frame.args
	args = pframe.args
	--argomenti passati dal template
	lingua = args[1] --la lingua della parola linkata, alla cui senzione verrà generato il link. !!!NB!!! nel template si inserisce il codice ISO, ma il modulo riceve la dizione estesa: it -> italiano, la -> latino eccetera
	parola = args[2] --la parola che viene passata dal template, con gli eventuali accenti, segni grafici eccetera
	link = parola --la parola a cui effettivamente punta il link (a sinistra nel link, prima del pipe | e della #Lingua); in mancanza di accorgimenti specificati nelle sezioni successive sarà uguale alla parola inserita nel template
	
	--DI SEGUITO VENGONO GESTITI GLI ACCORGIMENTI PER LINGUE SPECIFICHE CHE NE NECESSITANO
	
	--LATINO
	if lingua == "la" then
		generalink = require ("Modulo:Latino") --chiama il Modulo:Latino
		link = generalink.noaccenti(parola) --elimina gli accenti di lunga e breve: mātĕr -> mater
	end
	
		--LINGUE CHE USANO L'ALFABETO CIRILLICO (RUSSO, UCRAINO, BIELORUSSO, BULGARO, MACEDONE, SERBO, RUTENO, BOSNIACO, MONTENEGRINO, KAZAKO)
	if lingua == "ru" or lingua == "uk" or lingua == "be" or lingua == "bg" or lingua == "mk" or lingua == "sr" or lingua == "sla" or lingua == "bs" or lingua == "cnr" or lingua == "kk" then
		generalink = require ("Modulo:Cirillico") --chiama il Modulo:Latino
		link = generalink.noaccenti(parola) --l'accento acuto cirillico: часы́  -> часы
	end
	
	return link
	end

return p