Modulo:Lingue/sandbox: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Moroboshi (discussione | contributi)
fix corsivo
Moroboshi (discussione | contributi)
Nessun oggetto della modifica
Riga 6:
-- lg.codici: che dato un codice restituisce un array contente
-- nome della lingua e collegamento all'articolo su it.wiki dedicato alla lingua
local lg = mw.loadData( 'Modulo:Linguaggi/Configurazione/sandbox');
 
-- ritorna il nome della voce corrispondente a "code". Se "code" non corrisponde a nessuna
Riga 144:
end
 
-- ========================================================
function language.lang_testo(frame)
-- Ritorna la stringa txt inserita in un tag <span> con indicato
local args = getArgs(frame)
-- il codice linguaggio del testo (language_code) e il senso
-- di lettura (sinistro o destro).
-- Il parametro "corsivo" permette di indicare se il testo
-- deve essere messo in corsivo, ha tre valori:
-- -- d: consulta le tabelle di configurazione per il linguaggio
-- -- s: forza corsivo attivo
-- -- n: forza corsivo disattivo (è il valore di default)
-- ========================================================
function language._lang_testo(args)
local txt = args.txt or args[2]
if not txt then return '' end
Line 152 ⟶ 161:
if language_code then
language_code = lg.alias[language_code] or language_code
local writing = lg.scrittura[language_code]
if writing then
direction = writing[1]
Line 158 ⟶ 167:
end
end
local italicset_italic = falseargs.corsivo or "n"
localif set_italic ~= args.corsivo or "n" then
if local italic then= false
if set_italic:lower() == 's' then
italicif set_italic:lower() == 's' truethen
elseif set_italic:lower() == 'd' and language_code then
if lg.codici[language_code] and not lg.codici[language_code][3] then
italic = true
ifelseif lg.codici[language_code] and not lg.codici[language_code][3] then
italic = not lg.codici[language_code][3]
else
italic = true
end
if italic then
if txt[1]=="'" then txt = "<nowiki />" .. txt end
if txt[#txt] =="'" then txt = txt .. "<nowiwiki />" end
txt = mw.ustring.format("''%s''", txt)
end
end
if italic then
if txt[1]=="'" then txt = "<nowiki />" .. txt end
if txt[#txt] =="'" then txt = txt .. "<nowiwiki />" end
txt = mw.ustring.format("''%s''", txt)
end
local span = mw.html.create('span')
Line 181 ⟶ 192:
end
 
-- ========================================================
-- Funzione di interfaccia per _lang_testo
-- richiamabile nei template
-- ========================================================
function language.lang_testo(frame)
local args = getArgs(frame)
return language._lang_testo(args)
end
 
-- Restituisce una tabella con tutti i codici riconosciuti dal modulo
function language.tabella(frame)
 
-- genera una tabella codici -> lista alias e una di codici per ordinarla
local alias_table = {}
Line 196 ⟶ 215:
end
table.sort(codici_sorted)
 
local root = mw.html.create('table')
root
Line 205 ⟶ 224:
:tag('th'):wikitext('[[template:Nomelingua/voce]]'):done()
:tag('th'):wikitext('[[template:Lingue]]')
 
for _,code in ipairs(codici_sorted) do
local code_string = table.concat(alias_table[code], ", ")