Mòdul:etiquetes
A continuació es mostra la documentació transclosa de la subpàgina /ús. [salta a la caixa de codi]
Aquest mòdul s'utilitza com a suport a la plantilla {{marca}}. Vegeu Mòdul:etiquetes/dades per la llista d'etiquetes definides i les alternatives equivalents.
El mòdul tracta cada etiqueta de la següent forma:
- Si l'etiqueta està inclosa a Mòdul:etiquetes/dades com una alternativa a una altra etiqueta, la substitueix pel nom d'aquesta etiqueta i continua els següents passos amb el nom nou.
- Si l'etiqueta està definida a Mòdul:etiquetes/dades com a tal, usa les dades definides.
- En cas contrari, mostra l'etiqueta literalment sense cap canvi.
local p = {}
local m_labeldata = mw.loadData("Module:etiquetes/dades")
local m_utilities = require("Module:utilitats")
local m_languages = require("Module:llengua")
local function show_categories(data, lang, script, sort_key, script2, sort_key2, term_mode)
local categories = {}
for i, cat in ipairs(data.categories_llengua or {}) do
if script then
table.insert(categories, cat .. " en " .. lang.name .. " " .. script)
else
table.insert(categories, cat .. " en " .. lang.name)
end
end
for i, cat in ipairs(data.categories_literal or {}) do
table.insert(categories, cat)
end
return m_utilities.format_categories(categories, lang, sort_key)
end
local function show_labels(labels, lang, script, script2, sort_key, sort_key2, nocat, term_mode)
if #labels < 1 then
if mw.title.getCurrentTitle().nsText == "Plantilla" then
labels = {"exemple"}
else
error("Cal especificar almenys una etiqueta.")
end
end
-- Show the labels
local omit_preComma = false
local omit_postComma = false
for i, label in ipairs(labels) do
if omit_postComma then
omit_preComma = true
omit_postComma = false
end
if m_labeldata.aliases[label] then
label = m_labeldata.aliases[label]
end
local deprecated = false
if m_labeldata.deprecated[label] then
deprecated = true
end
local data = m_labeldata.labels[label] or {}
label = data.mostra or label
local omit_comma = omit_preComma or data.omit_preComma
omit_preComma = false
omit_postComma = data.omit_postComma
if deprecated then
label = '<span class="deprecated-label">' .. label .. '</span>'
if not nocat then
label = label .. m_utilities.format_categories({ "Manteniment plantilla context" }, lang)
end
end
if i > 1 then
label = (not omit_comma and "<span class=\"ib-comma\">,</span>" or "") .. " " .. label
end
labels[i] = label .. (nocat and "" or show_categories(data, lang, script, sort_key, script2, sort_key2, term_mode))
end
return
"<span class=\"ib-brac\">(</span><span class=\"ib-content\">" ..
table.concat(labels, "") ..
"</span><span class=\"ib-brac\">)</span>"
end
function p.show(frame)
local args = frame:getParent().args
local term_mode = (frame.args["term"] or "") ~= ""
-- Gather parameters
local lang = m_languages.getByCode(args[1])
local nocat = frame.args["nocat"] or args["nocat"]; if nocat == "" then nocat = nil end
local script = args["script"]; if script == "" then script = nil end
local script2 = args["script2"]; if script2 == "" then script2 = nil end
local sort_key = args["sort"]; if sort_key == "" then sort_key = nil end
local sort_key2 = args["sort2"]; if sort_key2 == "" then sort_key2 = nil end
-- Gather the labels
local labels = {}
local i = 2
local label = args[i]; if label == "" then label = nil end
while label do
table.insert(labels, label)
i = i + 1
label = args[i]; if label == "" then label = nil end
end
return show_labels(labels, lang, script, script2, sort_key, sort_key2, nocat, term_mode)
end
return p