Module:labels/templates
This module is used by the templates {{label}}
/{{lb}}
and {{term label}}
/{{tlb}}
to show context labels for definitions.
local export = {}
--[=[
Modules used:
[[Module:labels]]
[[Module:parameters]]
[[Module:utilities]]
[[Module:languages]]
[[Module:template_link]]
]=]
-- Add tracking category for PAGE. The tracking category linked to is [[Template:tracking/labels/PAGE]].
local function track(page)
require("Module:debug/track")("labels/" .. page)
end
function export.show(frame)
local parent_args = frame:getParent().args
local compat = (frame.args["compat"] or "") ~= "" and parent_args["lang"]
local term_mode = (frame.args["term"] or "") ~= ""
local params = {
[1] = {required = true, default = "und"},
[2] = {list = true},
["nocat"] = {type = "boolean"},
["sort"] = {},
}
if compat then
params[1] = params[2]
params[2] = nil
params["lang"] = {required = true, default = "und"}
end
local args = require("Module:parameters").process(parent_args, params)
-- Gather parameters
local lang = args[compat and "lang" or 1]
local labels = args[compat and 1 or 2]
lang = require("Module:languages").getByCode(lang, compat and "lang" or 1, "allow etym")
-- Temporary tracking for the weird arguments.
if (args.sort) then
track("sort")
end
return require("Module:labels").show_labels {
lang = lang,
labels = labels,
sort = args.sort,
nocat = args.nocat,
term_mode = term_mode
}
end
return export