Modulo:Lingue: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Moroboshi (discussione | contributi)
Aggiorno il modulo per mostrare sempre i codici (vedi discussione in Discussioni_template:Lingue#Alias_e_nome_visualizzato)
non tutti gli alias sono scritti in minuscolo, vedi segnalazione
 
(5 versioni intermedie di 3 utenti non mostrate)
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:LinguaggiLingue/Configurazione');
 
-- ritorna il nome della voce corrispondente a "code". Se "code" non corrisponde a nessuna
Riga 14:
local code = mw.ustring.lower(code)
if lg.alias[code] then code = lg.alias[code] end
local lingua = lg.codici[code]
if lingua then
return lingua[2]
Riga 21:
end
 
-- ritorna vero se "code" corrisponde a ununa linguaggiolingua, falso altrimenti
function language.esiste(code)
if code == nil or code=='' then return false end
Riga 29:
end
 
-- ritornaRestituisce il nome standard della lingua corrispondente a "code" e il codice normalizzato
-- a quella della tabella codici.
-- Se "code" non corrisponde a nessuna lingua inserita in tabella, ritornarestituisce la coppiail valore di default
-- o stringa nulla se questo non è indicato e il codice richiesto. Se maiuscolo è vero il
-- nome viene ritornatorestituito con la prima lettera maiuscola.
function language.get_nome(code, maiuscolo, default)
local nome = default or ''
if code ~= nil and code ~= '' then
-- prova a cercare la lingua fra gli alias
code = mw.ustring.lower(code)
if lg.alias[code] then
code = lg.alias[code] end
-- altrimenti converte il testo in minuscolo e prova sia a ricercare
-- fra gli alias sia a estrarre la prima parte di codici come it-IT
else
code = mw.ustring.lower(code)
code = lg.alias[code] or mw.ustring.gsub(code, '(%l+)%-.*', '%1')
end
local lingua = lg.codici[code]
if lingua then nome = lingua[1] end
Line 118 ⟶ 125:
local lingua, codice_normalizzato, code_to_show
 
local yet_processed = {}
for _,code in ipairs(args) do
lingua, codice_normalizzato = language.get_nome(code)
codice_normalizzato = mw.ustring.upper(codice_normalizzato)
if linguanot ~=yet_processed[ ""codice_normalizzato ] then
if lingua ~= "" then
lingue_list[#lingue_list+1] = '<abbr title="' .. lingua .. '">' ..codice_normalizzato .. "</abbr>"
else
yet_processed[ codice_normalizzato ] = true
lingue_list[#lingue_list+1] = code
else
if return_error then error_list[#error_list+1] = code end
lingue_list[#lingue_list+1] = code
if return_error then error_list[#error_list+1] = code end
end
end
end
Line 144 ⟶ 155:
-- ========================================================
-- Ritorna la stringa txt inserita in un tag <span> con indicato
-- il codice linguaggiolingua 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 illa linguaggiolingua
-- -- s: forza corsivo attivo
-- -- n: forza corsivo disattivo (è il valore di default)