มอดูล:category tree/poscatboiler/data
- The following documentation is located at มอดูล:category tree/poscatboiler/data/documentation. [edit] Categories were auto-generated by Module:documentation. [edit]
- Useful links: root page • root page’s subpages • links • transclusions • testcases • sandbox
รายชื่อมอดูลย่อยทั้งหมด เทียบกับวิกิพจนานุกรมภาษาอังกฤษ ซึ่งสัมพันธ์กันแบบโครงสร้างต้นไม้ (บางหน้ายังไม่ถูกสร้างเพราะยังไม่มีการใช้งานหรือคำแปลที่เหมาะสม)
- Module:category tree/poscatboiler/data/หน่วยคำเติมและคำประสม = affixes and compounds
- Module:category tree/poscatboiler/data/อักขระ = characters
- Module:category tree/poscatboiler/data/การบำรุงรักษาข้อมูล = entry maintenance
- Module:category tree/poscatboiler/data/กลุ่มภาษา = families
- Module:category tree/poscatboiler/data/ภาพพจน์ = figures of speech
- Module:category tree/poscatboiler/data/เฉพาะภาษา = lang-specific (มีหน้าย่อยอีก)
- Module:category tree/poscatboiler/data/ภาษา = languages
- Module:category tree/poscatboiler/data/ภาษณ์ = lects
- Module:category tree/poscatboiler/data/คำหลัก = lemmas
- Module:category tree/poscatboiler/data/เบ็ดเตล็ด = miscellaneous
- Module:category tree/poscatboiler/data/มอดูล = modules
- Module:category tree/poscatboiler/data/ชื่อ = names
- Module:category tree/poscatboiler/data/รูปผัน = non-lemma forms
- Module:category tree/poscatboiler/data/วลี = phrases
- Module:category tree/poscatboiler/data/สัมผัส = rhymes
- Module:category tree/poscatboiler/data/อักษร = scripts
- Module:category tree/poscatboiler/data/การย่อ = shortenings
- Module:category tree/poscatboiler/data/สัญลักษณ์ = symbols
- Module:category tree/poscatboiler/data/แม่แบบ = templates
- Module:category tree/poscatboiler/data/ศัพท์แบ่งตามรากศัพท์ = terms by etymology
- Module:category tree/poscatboiler/data/ศัพท์แบ่งตามประเภทไวยากรณ์ = terms by grammatical category
- Module:category tree/poscatboiler/data/ศัพท์แบ่งตามสมบัติ = terms by lexical property
- Module:category tree/poscatboiler/data/ศัพท์แบ่งตามหน้าที่เชิงความหมาย = terms by semantic function
- Module:category tree/poscatboiler/data/ศัพท์แบ่งตามอักษร = terms by script
- Module:category tree/poscatboiler/data/ศัพท์แบ่งตามการใช้ = terms by usage
- Module:category tree/poscatboiler/data/การถอดอักษร = transliterations
- Module:category tree/poscatboiler/data/ยูนิโคด = unicode
local labels = {}
local raw_categories = {}
local handlers = {}
local raw_handlers = {}
-- "เฉพาะภาษา" (lang-specific) now handled directly in Module:category tree/poscatboiler
local subpages = {
"หน่วยคำเติมและคำประสม", --affixes and compounds
"อักขระ", --characters; ในหมวดหมู่จะใช้คำว่า ตัวอักษร
"การบำรุงรักษาข้อมูล", --entry maintenance
"กลุ่มภาษา", --families; ตามนโยบาย
"ภาพพจน์", --figures of speech
--"lang-specific-raw",
"ภาษา", --languages
"ภาษณ์", --"lects",
"คำหลัก", --lemmas
"เบ็ดเตล็ด", --miscellaneous
"มอดูล", --modules
"ชื่อ", --names
"รูปผัน", --non-lemma forms
"วลี", --phrases
"สัมผัส", --rhymes
"อักษร", --scripts
"การย่อ", --shortenings
--"speech acts",
"สัญลักษณ์", --symbols
"แม่แบบ", --templates
"ศัพท์แบ่งตามรากศัพท์", --terms by etymology
"ศัพท์แบ่งตามประเภทไวยากรณ์", --terms by grammatical category
"ศัพท์แบ่งตามสมบัติ", --terms by lexical property
"ศัพท์แบ่งตามหน้าที่เชิงความหมาย", --terms by semantic function
"ศัพท์แบ่งตามอักษร", --terms by script
"ศัพท์แบ่งตามการใช้", --terms by usage
"การถอดอักษร", --transliterations
"ยูนิโคด", --unicode
--"วิกิพจนานุกรม", --wiktionary
--"การบำรุงรักษาวิกิพจนานุกรม", --wiktionary maintenance
--"ศัพท์ประจำวัน", --word of the day โครงการนี้ไม่ใช้
}
-- Import subpages
for _, subpage in ipairs(subpages) do
local datamodule = "Module:category tree/poscatboiler/data/" .. subpage
local retval = require(datamodule)
if retval["LABELS"] then
for label, data in pairs(retval["LABELS"]) do
if labels[label] and not retval["IGNOREDUP"] then
error("Label " .. label .. " defined in both [["
.. datamodule .. "]] and [[" .. labels[label].module .. "]].")
end
data.module = datamodule
labels[label] = data
end
end
if retval["RAW_CATEGORIES"] then
for category, data in pairs(retval["RAW_CATEGORIES"]) do
if raw_categories[category] and not retval["IGNOREDUP"] then
error("Raw category " .. category .. " defined in both [["
.. datamodule .. "]] and [[" .. raw_categories[category].module .. "]].")
end
data.module = datamodule
raw_categories[category] = data
end
end
if retval["HANDLERS"] then
for _, handler in ipairs(retval["HANDLERS"]) do
table.insert(handlers, { module = datamodule, handler = handler })
end
end
if retval["RAW_HANDLERS"] then
for _, handler in ipairs(retval["RAW_HANDLERS"]) do
table.insert(raw_handlers, { module = datamodule, handler = handler })
end
end
end
-- Add child categories to their parents
local function add_children_to_parents(hierarchy, raw)
for key, data in pairs(hierarchy) do
local parents = data.parents
if parents then
if type(parents) ~= "table" then
parents = {parents}
end
if parents.name or parents.module then
parents = {parents}
end
for _, parent in ipairs(parents) do
if type(parent) ~= "table" or not parent.name and not parent.module then
parent = {name = parent}
end
if parent.name and not parent.module and type(parent.name) == "string" and not parent.name:find("^หมวดหมู่:") then
local parent_is_raw
if raw then
parent_is_raw = not parent.is_label
else
parent_is_raw = parent.raw
end
-- Don't do anything if the child is raw and the parent is lang-specific,
-- otherwise e.g. "Lemmas subcategories by language" will be listed as a
-- child of every "LANG lemmas" category.
-- FIXME: We need to rethink this mechanism.
if not raw or parent_is_raw then
local child_hierarchy = parent_is_raw and raw_categories or labels
if child_hierarchy[parent.name] then
local child = {name = key, sort = parent.sort, raw = raw}
if child_hierarchy[parent.name].children then
table.insert(child_hierarchy[parent.name].children, child)
else
child_hierarchy[parent.name].children = {child}
end
end
end
end
end
end
end
end
add_children_to_parents(labels)
add_children_to_parents(raw_categories, true)
return {
LABELS = labels, RAW_CATEGORIES = raw_categories,
HANDLERS = handlers, RAW_HANDLERS = raw_handlers
}