local export = {}
local m_languages = require("Module:languages")
function export.categorize(lang, source, roots, ids, sort_key)
local categories = {}
if lang:getCode() ~= source:getCode() then
table.insert(categories,
--lang:getCanonicalName() .. " terms derived from " .. source:getCanonicalName())
"ศัพท์" .. lang:getCategoryName() .. "ที่รับมาจาก" .. source:getCategoryName())
end
for index, root in ipairs(roots) do
if lang:getCode() == source:getCode() then
table.insert(categories,
--lang:getCanonicalName() .. " terms belonging to the root " .. root .. (ids[index] and " (" .. ids[index] .. ")" or ""))
"ศัพท์" .. lang:getCategoryName() .. "ที่เป็นของราก " ..
root .. (ids[index] and " (" .. ids[index] .. ")" or ""))
else
table.insert(categories,
--lang:getCanonicalName() .. " terms derived from the " .. source:getCanonicalName() ..
-- " root " .. root .. (ids[index] and " (" .. ids[index] .. ")" or ""))
"ศัพท์" .. lang:getCategoryName() .. "ที่รับมาจากราก" .. source:getCategoryName() .. " " ..
root .. (ids[index] and " (" .. ids[index] .. ")" or ""))
end
end
return require("Module:utilities").format_categories(categories, lang, sort_key)
end
function export.show(frame)
local params = {
[1] = { required = true },
[2] = { required = true },
[3] = { required = true, list = true },
["id"] = { list = true, allow_holes = true },
["sort"] = {},
}
local args = require("Module:parameters").process(frame:getParent().args, params)
local lang = m_languages.getByCode(args[1]) or m_languages.error(args[1], 1)
local source = m_languages.getByCode(args[2]) or m_languages.error(args[2], 2)
return export.categorize(lang, source, args[3], args.id, args.sort)
end
return export