Modulo:Sandbox/Barbaking
Aspetto
-- 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