Modulo:Lingue: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Moroboshi (discussione | contributi)
Nessun oggetto della modifica
Moroboshi (discussione | contributi)
aggiunto funzione per template lingue
Riga 20:
end
 
-- ritorna vero se "code" esistecorrisponde a un linguaggio, falso altrimenti
function language.esiste(code)
if code == nil or code=='' then return false end
Riga 29:
 
-- ritorna il nome standard della lingua corrispondente a "code". Se "code" non corrisponde a nessuna
-- lingua inserita in tabella ritorna il valore di default o stringa nulla se questo non è
-- indicato. Se maiuscolo è vero il nome viene ritornato
-- con la prima lettera maiuscola
function language.get_nameget_nome(code, maiuscolo, default)
local nome = default or ''
if code ~= nil and code ~= '' then
Line 57 ⟶ 58:
function language.nome(frame)
local maiuscolo = false
local code = frame.args[1] or ''
local default = (frame.args[2] == 'v' and '') or code
if frame.args['M']~=nil and frame.args['M']~='' then
maiuscolo = true
end
return language.get_nameget_nome(frame.args[1]code, maiuscolo, "lingua sconosciuta"default)
 
end
Line 75 ⟶ 78:
end
local voce = language.get_voce(code)
local nome = language.get_nameget_nome(code, maiuscolo, code)
if nome == "" and voce ~="" then
if maiuscolo then
Line 89 ⟶ 92:
end
end
 
--funzione di interfaccia per template:Lingue
function language.lingue(frame)
local lingue_list = { }
-- Se chiamata mediante #invoke, usa gli argomenti passati al template invocante.
-- Altrimenti a scopo di test assume che gli argomenti siano passati direttamente
local args
if frame == mw.getCurrentFrame() then
args = frame:getParent().args
else
args = { frame }
end
for _,code in ipairs(args) do
lingua = language.get_nome(code)
if lingua ~= "" then
lingue_list[#lingue_list+1] = '<abbr title="' .. lingua .. '">' .. mw.ustring.upper(code) .. "</abbr>"
else
lingue_list[#lingue_list+1] = code
end
end
if #lingue_list > 0 then
return '(<span style="font-weight:bolder; font-size:80%">' .. table.concat(lingue_list, ",&nbsp;") .. "</span>)"
end
return ''
end
 
 
-- Restitusce una tabella con tutti i codici riconosciuti dal modulo
Line 98 ⟶ 127:
local codici_sorted = {}
for code, _ in pairs(lg.codici) do
alias_table[code] = {"'''" .. code .. "'''"}
codici_sorted[#codici_sorted+1] = code
end
Line 114 ⟶ 143:
.done()
.tag('th')
.wikitext('Nome[[template:Nomelingua/voce]]')
.done()
.tag('th')
.wikitext('Voce[[template:Nomelingua/voce]]')
.done()
.tag('th')
.wikitext('[[template:Lingue]]')
 
for _,code in ipairs(codici_sorted) do
local code_string = table.concat(alias_table[code], ", ")
local nome, voce = lglanguage.codici[get_nome(code][1]), lglanguage.codici[get_voce(code][2])
if voce ~= '' then voce = '[[' .. voce .. ']]' end
root
Line 134 ⟶ 165:
.tag('td')
.wikitext(voce)
.done()
.tag('td')
.css('text-align', 'center')
.wikitext(language.lingue(code))
end
return tostring(root)