မော်ဂျူး:category tree/topic/data
ပုံပန်းသွင်ပြင်
(မော်ဂျူး:category tree/topic cat/data မှ ပြန်ညွှန်းထားသည်)
Documentation for this module may be created at မော်ဂျူး:category tree/topic/data/doc
local labels = {}
local handlers = {}
local top_level_data_module = "Module:category tree/topic/data"
local data_module_prefix = "Module:category tree/topic/"
local subpages = {
-- "ခန္ဓာကိုယ်",
-- "အဆောက်အဦများ",
"ဆက်သွယ်ရေး",
-- "ယဉ်ကျေးမှု",
-- "ကမ္ဘာ",
-- "အစားအသောက်",
-- "သမိုင်း",
-- "လူ",
-- "သက်ရှိ",
-- "တိရစ္ဆာန်များ",
-- "အပင်များ",
-- "သင်္ချာ",
-- "အမျိုးမျိုးအထွေထွေ",
"အမည်များ",
"သဘာဝ",
-- "ကိန်းဂဏန်းများ",
-- "လူပုဂ္ဂိုလ်များ",
-- "ဒဿနိကဗေဒ",
"နေရာများ",
-- "သိပ္ပံ",
-- "လိင်",
-- "လူမှုလုပ်ဆောင်ချက်များ",
-- "လူ့အဖွဲ့အစည်း",
-- "အားကစား",
-- "နည်းပညာ",
-- "အချိန်",
-- "သယ်ယူပို့ဆောင်ရေး",
-- "ရူပလုပ်ဆောင်ချက်များ",
}
labels["အကြောင်းအရာများ အားလုံး"] = {
type = "toplevel",
description = "{{{langname}}} ဝေါဟာရများအား \"မိသားစု\" သို့မဟုတ် \"ဓာတုဗေဒ\" ကဲ့သို့သော အကြောင်းအရာအလိုက် စုစည်းထားသည်။",
topic = "listing of all topics",
parents = {{name = "{{{langcat}}}", nontopic = true}},
}
for _, typ in ipairs { "အကြောင်းအရာများ", "set", "type", "အမည် ကဏ္ဍများ", "grouping" } do
labels[typ .. " စာရင်း"] = {
type = "toplevel",
description = "All " .. typ .. " categories currently available in {{{langname}}}.",
parents = {{name = "အကြောင်းအရာများ အားလုံး", sort = " *"}},
}
end
labels["အကြောင်းအရာများ စာရင်း"] = {
type = "toplevel",
description = "{{{langname}}} တွင် လတ်တလောရရှိနိုင်သော အကြောင်းအရာများ အားလုံးဖြစ်သည်။",
parents = {{name = "အကြောင်းအရာများ အားလုံး", sort = " *"}},
}
for label, data in pairs(labels) do
data.module = top_level_data_module
end
-- Don't throw error on every single category, but on a subset of them, especially the top-level ones.
local function should_throw_error()
local title = mw.title.getCurrentTitle().text -- Don't replace with mw.loadData("Module:headword/data").pagename; we're in Category space
return title:find("List of") or title:find("All ") or title:find(" lemmas")
end
-- Import subpages
for _, subpage in ipairs(subpages) do
local datamodule = data_module_prefix .. subpage
local retval = require(datamodule)
if not retval["LABELS"] then
retval = {LABELS = retval}
end
for label, data in pairs(retval["LABELS"]) do
if labels[label] and not retval["IGNOREDUP"] then
error("Label " .. label .. " defined in both [["
.. datamodule .. "]] နှင့် [[" .. labels[label].module .. "]].")
end
data.module = datamodule
labels[label] = data
end
if retval["HANDLERS"] then
for _, handler in ipairs(retval["HANDLERS"]) do
table.insert(handlers, { module = datamodule, handler = handler })
end
end
end
return {LABELS = labels, HANDLERS = handlers}