Module:root
Documentation for this module may be created at Module:root/documentation
local export = {}
local m_languages = require("Module:languages")
function export.make_categories(language, source, roots)
local categories = {}
local root_prefix = (source.proto and "*") or ""
for _, root in ipairs(roots) do
if mw.ustring.sub(root, -1) ~= "-" then root = root .. "-" end
if language.code == source.code then
table.insert(categories, "[[Category:" .. language.name .. " terms belonging to the root " .. root_prefix .. root .. "]]")
else
table.insert(categories, "[[Category:" .. language.name .. " terms derived from the " .. source.name .. " root " .. root_prefix .. root .. "]]")
end
end
return table.concat(categories)
end
function export.show(frame)
local params = {
[1] = {required = true},
[2] = {required = true},
[3] = {required = true, list = true},
}
local args = require("Module:parameters").process(frame:getParent().args, params)
local language = m_languages.get_by_code(args[1])
local source = m_languages.get_by_code(args[2])
if args[2] == "*" then source = language end
return export.make_categories(language, source, args[3])
end
return export