มอดูล:utilities/templates
หน้าตา
- This มอดูล lacks a documentation subpage. Please create it.
- Useful links: root page • root page’s subpages • links • transclusions • testcases • sandbox
local insert = table.insert
local process_params = require("Module:parameters").process
local export = {}
-- Used by {{catfix}}.
function export.catfix(frame)
local args = process_params(frame:getParent().args, {
[1] = {type = "language", required = true},
[2] = {alias_of = "sc"},
["sc"] = {type = "script"},
})
return require("Module:utilities").catfix(args[1], args.sc)
end
-- Used by {{categorize}}, {{catlangname}} and {{topics}}.
function export.categorize(frame)
local args = process_params(frame:getParent().args, {
[1] = {required = true, type = "language", default = "und"},
[2] = {required = true, list = true, allow_holes = true},
["sort"] = {list = true, separate_no_index = true, allow_holes = true},
})
local lang = args[1]
if not lang then
return ""
end
local raw_cats = args[2]
local sort_keys = args.sort
local default_sort = sort_keys.default
local cats = {}
local format = frame.args["format"]
--local prefix = format == "pos" and lang:getFullName() .. " " or
-- format == "topic" and lang:getFullCode() .. ":" or ""
local cats_with_sort_keys = {}
for i = 1, raw_cats.maxindex do
local cat = raw_cats[i]
if cat then
--cat = prefix .. cat
--เขียนใหม่ใช้กับไทย
if format == "pos" then
if mw.ustring.find(cat, "^ศัพท์") then
cat = "ศัพท์" .. lang:getCategoryName() .. mw.ustring.sub(cat, 6)
else
cat = cat .. lang:getCategoryName()
end
elseif format == "topic" then
cat = lang:getFullCode() .. ":" .. cat
end
--เขียนใหม่ใช้กับไทย
insert(cats, cat)
local sort_key = sort_keys[i]
if #cats_with_sort_keys > 0 then
insert(cats_with_sort_keys, {
category = cat,
sort_key = sort_key
})
elseif sort_key then
for j = 1, #cats - 1 do
insert(cats_with_sort_keys, {category = cats[j]})
end
insert(cats_with_sort_keys, {
category = cat,
sort_key = sort_key
})
end
end
end
if #cats_with_sort_keys > 0 then
return require("Module:utilities/format_categories_with_sort_keys")(cats_with_sort_keys, lang, default_sort)
else
return require("Module:utilities").format_categories(cats, lang, default_sort)
end
end
return export