Modulo:Trascrizione
Istruzioni per l'uso
Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Trascrizione/man (modifica • cronologia)
Sandbox: Modulo:Trascrizione/Sandbox (modifica•cronologia) • Test: Modulo:Trascrizione/Test (modifica•cronologia)
Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Trascrizione/man (modifica • cronologia)
Sandbox: Modulo:Trascrizione/Sandbox (modifica•cronologia) • Test: Modulo:Trascrizione/Test (modifica•cronologia)
Questo modulo costituisce la sintassi del Template:-trascrizione-. Oltre a generare il titolo della sezione e la categoria, può gestire delle funzioni aggiuntive: ad esempio al momento consente il corretto ordinamento nelle categorie dei lemmi traslitterati giapponesi (Hepburn) e cinesi (pinyin), eliminando i diacritici dal titolo (per fare questo, si appoggia rispettivamente al Modulo:Giapponese e al Modulo:Cinese). In futuro potranno eventualmente essere aggiunti ulteriori accorgimenti per la gestione dei lemmi traslitterati da altre lingue, a seconda delle necessità
local pd = require("Modulo:Partidisc")
local zh = require("Modulo:Cinese")
local ja = require("Modulo:Giapponese")
local title = mw.title.getCurrentTitle().text
local p = {}
function p.trascrizione(frame)
lingua = frame.args[1]
sistema = frame.args[2]
pardisc = frame.args[3] or ""
cat2 = "" --categoria aggiuntiva, necessaria per alcune lingue
--se è specificato un terzo parametro, restituisce la parte del discorso corrispondente
if pardisc == "" then
partedisc = "delle parole"
else
partedisc = pd.partidiscprep(pardisc) or error("parte del discorso non riconosciuta")
end
--funzioni aggiuntive per lingue specifiche
---per l'arabo
if lingua == "arabo" and sistema == "ISO 233" or sistema == "233" then
sistema = "ISO 233" sistemalink = "[[:w:Trascrizione dall'arabo|ISO 233]]" catsort = title
---per il cinese
elseif lingua == "cinese" and sistema == "pinyin" or sistema == "pin" then
sistema = "pinyin" sistemalink = "[[Appendice:Pinyin|pinyin]]" catsort = zh.nodiacritic(title)
--per il giapponese
elseif lingua == "giapponese" and sistema == "Hepburn" or sistema == "hepburn" or sistema == "hep" then
sistema = "Hepburn" sistemalink = "[[Hepburn]]" catsort = ja.nodiacritic(title)
--per il russo e per tutte le lingue che usano il cirillico (trascrizione ISO 9 e scientifica)
elseif sistema == "ISO 9:1968" or sistema == "968" then
sistema = "ISO 9:1968" sistemalink = "[[Appendice:Traslitterazione del cirillico|ISO 9:1968]]" catsort = title
elseif sistema == "ISO 9:1995" or sistema == "995" then
sistema = "ISO 9:1995" sistemalink = "[[Appendice:Traslitterazione del cirillico|ISO 9:1995]]" catsort = title
elseif sistema == "scientifica" then
sistema = "scientifica" sistemalink = "[[Appendice:Traslitterazione del cirillico|scientifica]]" catsort = title
elseif sistema == "ISO 9:1968s" or sistema == "968s" then
sistema = "ISO 9:1968" sistemalink = "[[Appendice:Traslitterazione del cirillico|scientifica, ISO 9:1968]]" catsort = title cat2 = "[[Categoria:Trascrizione scientifica delle parole in ".. lingua.. "|".. catsort.. "]][[Categoria:Trascrizione scientifica ".. partedisc.. " in ".. lingua.. "|".. catsort.. "]]"
--per tutte le altre lingue e sistemi
else catsort = title sistemalink = "[[".. sistema.. "]]" end
return "[[trascrizione|Trascrizione]] (".. sistemalink.. ") [[Categoria:Trascrizione ".. sistema.. " delle parole in ".. lingua.. "|".. catsort.. "]][[Categoria:Trascrizione ".. sistema.. " ".. partedisc.. " in ".. lingua.. "|".. catsort.. "]]".. cat2
end
return p