Difference between revisions 43827 and 47490 on mnwwiktionarylocal labels = {} local raw_categories = {} local handlers = {} local raw_handlers = {} local subpages = { --"အက္ခရ်", --"characters", "စရင်မင်မွဲထိင်လဝ်", --entry maintenance --"ဝံသ-ဘာသာဂကောံ", --entry maintenance", "families", "ဗီုရုပ်ဂၞက်", --figures of speech⏎ --"အရေဝ်ဘာသာသာ်သာ်", --lang-specific --"ဘာသာ", --", "lang-specific", "languages", "ဝေါဟာအဓိက", --lemmas", "နာနာပတ္တာရ", --miscellaneous --"มอดูล", --miscellaneous", "modules", "ชื่อ", --names", "รูปผัน", --non-lemma forms", "วลี", --phrases", "สัมผัส", --rhymes --"อักษร", --rhymes", "scripts", "การย่อ", --shortenings", "สัญลักษณ์", --symbols", "แม่แบบ", --templates", "ศัพท์แบ่งตามรากศัพท์", --terms by etymology", "ศัพท์แบ่งตามประเภทไวยากรณ์", --terms by grammatical category", "ศัพท์แบ่งตามสมบัติ", --terms by lexical property", "ศัพท์แบ่งตามหน้าที่เชิงความหมาย", --terms by semantic function --"ศัพท์แบ่งตามอักษร", --terms by semantic function", "terms by script", "ศัพท์แบ่งตามการใช้", --terms by usage --"การถอดอักษร", --transliterations --"ยูนิโคด", --unicode --"ศัพท์ประจำวัน", --word of the day โครงการนี้ไม่ใช้ "ศัพท์แบ่งตามจำนวนพยางค์", --terms by usage", "transliterations", "unicode", "word of the day", "words by number of syllables", } -- Import subpages for _, subpage in ipairs(subpages) do local datamodule = "Module:category tree/poscatboiler/data/" .. subpage local retval = require(datamodule) if not retval["LABELS"] and not retval["RAW_CATEGORIES"] and not retval["HANDLERS"] and not retval["RAW_HANDLERS"] then retval = {LABELS = retval} end if retval["LABELS"] then for key, data in pairs(retval["LABELS"]) do assert(not labels[key], "Duplicate label: " .. key)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[keylabel] = data end end if retval["RAW_CATEGORIES"] then for kecategory, data in pairs(retval["RAW_CATEGORIES"]) do assert(notif raw_categories[key], "Duplicate raw category: " .. key)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[kecategory] = 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("^หมวดหมู่Category:") then local childparent_is_raw if raw then childparent_is_raw = not parent.is_label else parent_is_raw = parent.raw end -- Don't do anything if the child_ is_ raw = parent.raw end⏎ 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 = childparent_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⏎ ⏎ } All content in the above text box is licensed under the Creative Commons Attribution-ShareAlike license Version 4 and was originally sourced from https://mnw.wiktionary.org/w/index.php?diff=prev&oldid=47490.
![]() ![]() This site is not affiliated with or endorsed in any way by the Wikimedia Foundation or any of its affiliates. In fact, we fucking despise them.
|