A modult a Modul:labels/templates/doc lapon tudod dokumentálni
local export = {}
--[=[
Modules used:
]
]
]
]
]
]=]
function export.show(frame)
local parent_args = frame:getParent().args
local compat = (frame.args or "") ~= "" and parent_args
local term_mode = (frame.args or "") ~= ""
local params = {
= {required = true},
= {list = true},
= {type = "boolean"},
= {},
= {},
= {},
= {},
}
if compat then
params = params
params = nil
params = {required = true}
end
local args = require("Module:parameters").process(parent_args, params)
-- Gather parameters
local lang = args
local labels = args
local nocat = args
local script = args
local script2 = args
local sort_key = args
local sort_key2 = args
if not lang then
if mw.title.getCurrentTitle().nsText == "Sablon" then
lang = "und"
else
error("Language code has not been specified. Please provide it to the template using the first parameter.")
end
end
lang = require("Module:languages").getByCode(lang) or require("Module:languages").err(lang, compat and "lang" or 1)
return require("Module:labels").show_labels(labels, lang, script, script2, sort_key, sort_key2, nocat, term_mode)
end
--[[ temporary. intentionally undocumented.
this function is only to be used in
{{alternative spelling of}},
{{eye dialect of}}
and similar templates ]]
function export.show_from(frame)
local m_labeldata = require("Module:labels/data")
local froms = {}
local categories = {}
local iparams = {
= {},
= {type = "number"},
= {},
}
local iargs = require("Module:parameters").process(frame.args, iparams)
local parent_args = frame:getParent().args
local compat = iargs or parent_args
local params = {
= {required = not iargs},
= {list = true},
= {type = "boolean"},
}
-- This is called by various form-of templates. They accept several params,
-- and some templates accept additional params. To avoid having to list all
-- of them, we just ignore unrecognized params. The main processing for the
-- form-of template will catch true unrecognized params.
local args = require("Module:parameters").process(parent_args, params, "allow unrecognized params")
local lang = args or iargs or "und"
local nocat = args
local limit = iargs.limit or 99999
local m_languages = require("Module:languages")
lang = m_languages.getByCode(lang) or m_languages.err(lang, "lang")
for i, k in ipairs(args) do
if i > limit then
break
end
k = m_labeldata.aliases or k
local data = m_labeldata.labels
local label = data and data.display or k
local category1, category2
if not nocat and data then
if data.regional_categories then
for j, cat in ipairs(data.regional_categories) do
category1 = cat .. ' ' .. lang:getCanonicalName()
end
end
if data.plain_categories then
for j, cat in ipairs(data.plain_categories) do
category2 = cat
end
end
end
table.insert(froms, label)
table.insert(categories, category1)
table.insert(categories, category2)
end
categories = require("Module:utilities").format_categories(categories, lang)
if #froms == 0 then
return iargs.default
end
if #froms == 2 then
return froms .. " and " .. froms .. categories
end
local results = {}
for i, item in ipairs(froms) do
if i == 1 then
-- nothing
elseif i == #froms then
table.insert(results, '<span class="serial-comma">,</span> <span class="serial-and"> and</span> ')
else
table.insert(results, ', ')
end
table.insert(results, item)
end
return table.concat(results) .. categories
end
return export