Wikikamus mswiktionary https://ms.wiktionary.org/wiki/Wikikamus:Laman_Utama MediaWiki 1.47.0-wmf.2 case-sensitive Media Khas Perbincangan Pengguna Perbincangan pengguna Wikikamus Perbincangan Wikikamus Fail Perbincangan fail MediaWiki Perbincangan MediaWiki Templat Perbincangan templat Bantuan Perbincangan bantuan Kategori Perbincangan kategori Lampiran Perbincangan lampiran Rima Perbincangan rima Tesaurus Perbincangan tesaurus Indeks Perbincangan indeks Petikan Perbincangan petikan Rekonstruksi Perbincangan rekonstruksi Padanan isyarat Perbincangan padanan isyarat Konkordans Perbincangan konkordans TimedText TimedText talk Modul Perbincangan modul Acara Perbincangan acara Templat:Hira-categoryTOC 10 4433 342770 24967 2026-05-16T06:52:37Z Hakimi97 2668 Hakimi97 telah memindahkan laman [[Templat:categoryTOChiragana]] ke [[Templat:Hira-categoryTOC]] 24967 wikitext text/x-wiki <small><big class="plainlinks"> [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}}} Atas] - [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%82}} あ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%84}} い] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%86}} う] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%88}} え] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%8A}} お] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%8B}} か] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%8D}} き] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%8F}} く] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%91}} け] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%93}} こ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%95}} さ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%97}} し] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%99}} す] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%9B}} せ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%9D}} そ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%9F}} た] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%A1}} ち] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%A4}} つ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%A6}} て] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%A8}} と] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%AA}} な] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%AB}} に] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%AC}} ぬ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%AD}} ね] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%AE}} の] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%AF}} は] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%B2}} ひ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%B5}} ふ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%B8}} へ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%BB}} ほ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%BE}} ま] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%BF}} み] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%80}} む] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%81}} め] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%82}} も] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%84}} や] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%86}} ゆ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%88}} よ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%89}} ら] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%8A}} り] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%8B}} る] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%8C}} れ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%8D}} ろ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%8F}} わ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%93}} ん]</big></small> <noinclude>[[Category:Templat TOC|categoryTOC-hiragana]]</noinclude> 58tk8vl7q53c2g0wfctf42e8oo3lxdd 342772 342770 2026-05-16T06:54:20Z Hakimi97 2668 342772 wikitext text/x-wiki <small><big class="plainlinks"> [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}}} Atas]<br/> [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%82}} あ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%84}} い] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%86}} う] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%88}} え] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%8A}} お]<br/> [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%8B}} か] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%8D}} き] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%8F}} く] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%91}} け] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%93}} こ]<br/> [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%95}} さ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%97}} し] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%99}} す] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%9B}} せ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%9D}} そ]<br/> [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%9F}} た] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%A1}} ち] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%A4}} つ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%A6}} て] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%A8}} と]<br/> [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%AA}} な] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%AB}} に] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%AC}} ぬ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%AD}} ね] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%AE}} の]<br/> [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%AF}} は] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%B2}} ひ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%B5}} ふ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%B8}} へ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%BB}} ほ]<br/> [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%BE}} ま] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%81%BF}} み] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%80}} む] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%81}} め] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%82}} も]<br/> [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%84}} や] ・ [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%86}} ゆ] ・ [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%88}} よ]<br/> [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%89}} ら] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%8A}} り] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%8B}} る] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%8C}} れ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%8D}} ろ]<br/> [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%8F}} わ] ・ [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAMEE}}|from=%E3%82%93}} ん]</big></small> <noinclude>{{tcat}}</noinclude> rjzowxbol0j4f2qeneqlw76aowil9r5 Modul:category tree/poscatboiler 828 11508 342753 257822 2026-05-16T04:12:01Z Hakimi97 2668 Mengemas kini mengikut padanan Wikikamus bahasa Inggeris (semakan [[en:Special:Diff/89592293|89592293]]) 342753 Scribunto text/plain local lang_independent_data = require("Module:category tree/data") local lang_specific_module = "Module:category tree/lang" local lang_specific_module_prefix = lang_specific_module .. "/" local family_specific_module = "Module:category tree/fam" local family_specific_module_prefix = family_specific_module .. "/" local labels_utilities_module = "Module:labels/utilities" local template_parser_module = "Module:template parser" local concat = table.concat local dump = mw.dumpObject local expand_template = require("Module:frame").expandTemplate local insert = table.insert local is_callable = require("Module:fun").is_callable local lcfirst = require("Module:string utilities").lcfirst local list_to_set = require("Module:table").listToSet local make_title = mw.title.makeTitle local new_title = mw.title.new local parse = require(template_parser_module).parse local sparse_concat = require("Module:table").sparseConcat local tostring = tostring local type = type local ucfirst = require("Module:string utilities").ucfirst local uupper = require("Module:string utilities").upper local function internal_error(msg) error("Internal error: " .. msg) end local function get_lang(...) local _get_lang = require("Module:languages").getByCode function get_lang(...) return _get_lang(...) or require("Module:languages/errorGetBy").code(...) end return get_lang(...) end local function get_script(...) local _get_script = require("Module:scripts").getByCode function get_script(code) return _get_script(code) or require("Module:languages/error")(code, true, "script code") end return get_script(...) end -- Category object local Category = {} Category.__index = Category function Category:get_originating_info() local originating_info = "" if self._info.originating_label then originating_info = " (originating from label \"" .. self._info.originating_label .. "\" in module [[" .. self._info.originating_module .. "]])" end return originating_info end local valid_keys = list_to_set{"code", "label", "sc", "raw", "args", "also", "called_from_inside", "originating_label", "originating_module"} function Category.new(info) for key in pairs(info) do if not valid_keys[key] then internal_error("The parameter \"" .. key .. "\" was not recognized.") end end local self = setmetatable({}, Category) self._info = info if not self._info.label then internal_error("No label was specified.") end self:initCommon() if not self._data then internal_error("The " .. (self._info.raw and "raw " or "") .. "label \"" .. self._info.label .. "\" does not exist" .. self:get_originating_info() .. ".") end return self end function Category:initCommon() local function patch_args(args) -- This fixes the issue with Scribunto automatically converting keys -- in a table as numbers to strings, which in turn causes a circular -- error for having argument parameter names as numbers as strings. if type(args) ~= "table" then return args end local new_args = {} for k, v in pairs(args) do if type(k) == "string" and string.len(k) < 10 and not string.match(k, "^0") and string.match(k, "^%d+$") then new_args[tonumber(k)] = patch_args(v) else new_args[k] = patch_args(v) end end return new_args end local args_handled = false if self._info.raw then -- Check if the category exists local raw_categories = lang_independent_data["RAW_CATEGORIES"] self._data = raw_categories[self._info.label] if self._data then if self._data.lang then self._lang = get_lang(self._data.lang, nil, true) self._info.code = self._lang:getCode() end if self._data.sc then self._sc = get_script(self._data.sc) self._info.sc = self._sc:getCode() end else -- Go through raw handlers local data = { category = self._info.label, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } for _, handler in ipairs(lang_independent_data["RAW_HANDLERS"]) do self._data, args_handled = handler.handler(data) if self._data then self._data.module = self._data.module or handler.module break end end if self._data then -- Update the label if the handler specified a canonical name for it. if self._data.canonical_name then self._info.canonical_name = self._data.canonical_name end if self._data.lang then if type(self._data.lang) ~= "string" then internal_error("Received non-string value " .. dump(self._data.lang) .. " for self._data.lang, label \"" .. self._info.label .. "\"" .. self:get_originating_info() .. ".") end self._lang = get_lang(self._data.lang, nil, true) self._info.code = self._lang:getCode() end if self._data.sc then if type(self._data.sc) ~= "string" then internal_error("Received non-string value " .. dump(self._data.sc) .. " for self._data.sc, label \"" .. self._info.label .. "\"" .. self:get_originating_info() .. ".") end self._sc = get_script(self._data.sc) self._info.sc = self._sc:getCode() end end end else -- Already parsed into language + label if self._info.code then self._lang = get_lang(self._info.code, nil, true) else self._lang = nil end if self._info.sc then self._sc = get_script(self._info.sc) else self._sc = nil end self._info.orig_label = self._info.label -- If the label was packed with a \0 separator (from split_lang_label for mid-lang titles), -- reconstruct the canonical label key used in LABELS data modules. -- e.g. "Perkataan\0yang baru" → canonical key "Perkataan yang baru" if self._info.label:find("\0", 1, true) then self._info.label = self._info.label:gsub("%z", " ") end if not self._lang then -- Umbrella categories without a preceding language always begin with a capital letter, but the actual label may be -- lowercase (cf. [[:Category:Nouns by language]] with label 'nouns' with per-language [[:Category:English nouns]]; -- but [[:Category:Reddit slang by language]] with label 'Reddit slang' with per-language -- [[:Category:English Reddit slang]]). Since the label is almost always lowercase, we lowercase it for umbrella -- categories, storing the original into `orig_label`, and correct it later if needed. self._info.label = lcfirst(self._info.label) end -- First, check lang-specific labels and handlers if this is not an umbrella category. if self._lang then local objects_with_modules = require(lang_specific_module) local obj, seen = self._lang, {} local object_specific_module_prefix = lang_specific_module_prefix local is_family = false repeat if objects_with_modules[obj:getCode()] then local module = object_specific_module_prefix .. obj:getCode() local labels_and_handlers = require(module) if labels_and_handlers.LABELS then self._data = labels_and_handlers.LABELS[self._info.label] if self._data then if not is_family and self._data.umbrella == nil and self._data.umbrella_parents == nil then self._data.umbrella = false end self._data.module = self._data.module or module end end if not self._data and labels_and_handlers.HANDLERS then for _, handler in ipairs(labels_and_handlers.HANDLERS) do local data = { label = self._info.label, lang = self._lang, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } self._data, args_handled = handler(data) if self._data then if not is_family and self._data.umbrella == nil and self._data.umbrella_parents == nil then self._data.umbrella = false end self._data.module = self._data.module or module break end end end if self._data then break end end seen[obj:getCode()] = true obj = obj:getFamily() if not is_family then is_family = true object_specific_module_prefix = family_specific_module_prefix objects_with_modules = require(family_specific_module) end until not obj or seen[obj:getCode()] end local function fetch_label_data(labels) self._data = labels[self._info.label] -- See comment above about uppercase- vs. lowercase-initial labels, which are indistinguishable -- in umbrella categories. if not self._data then self._data = labels[self._info.orig_label] if self._data then self._info.label = self._info.orig_label end end end -- Then check lang-independent labels. if not self._data then -- lang_independent_data.LABELS should always exist. fetch_label_data(lang_independent_data.LABELS) if not self._data and not self._lang then -- Check family-specific labels for umbrella label. local families_with_modules = require(family_specific_module) for famcode, _ in pairs(families_with_modules) do local module = family_specific_module_prefix .. famcode local labels_and_handlers = require(module) if labels_and_handlers.LABELS then fetch_label_data(labels_and_handlers.LABELS) if self._data then self._data.module = self._data.module or module break end end end end end -- Then check lang-independent handlers. if not self._data then local data = { label = self._info.label, lang = self._lang, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } for _, handler in ipairs(lang_independent_data["HANDLERS"]) do self._data, args_handled = handler.handler(data) if self._data then self._data.module = self._data.module or handler.module break end end if not self._data and not self._lang then -- Check family-specific labels for umbrella handler. local families_with_modules = require(family_specific_module) for famcode, _ in pairs(families_with_modules) do local module = family_specific_module_prefix .. famcode local labels_and_handlers = require(module) if labels_and_handlers.HANDLERS then for _, handler in ipairs(labels_and_handlers.HANDLERS) do local data = { label = self._info.label, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } self._data, args_handled = handler(data) if self._data then self._data.module = self._data.module or module break end end end if self._data then break end end end end end if not args_handled and self._data and self._info.args and next(self._info.args) then local module_text = " (handled in [[" .. (self._data.module or "UNKNOWN").. "]])" local args_text = {} for k, v in pairs(self._info.args) do insert(args_text, k .. "=" .. ((type(v) == "string" or type(v) == "number") and v or dump(v))) end error("poscatboiler label '" .. self._info.label .. "' " .. module_text .. " doesn't accept extra args " .. concat(args_text, ", ")) end if self._sc and not self._lang then internal_error("Umbrella categories cannot have a script specified.") end end function Category:convert_spec_to_string(desc) if not desc then return desc end local desc_type = type(desc) if desc_type == "string" then return desc elseif desc_type == "number" then return tostring(desc) elseif not is_callable(desc) then internal_error("`desc` must be a string, number, function, callable table or nil; received " .. dump(desc)) end desc = desc { lang = self._lang, sc = self._sc, label = self._info.label, raw = self._info.raw, } if not desc then return desc end desc_type = type(desc) if desc_type == "string" then return desc end internal_error("The value returned by `desc` must be a string or nil; received " .. dump(desc)) end local function add_obj_args(args, obj, obj_type) if obj then args[obj_type .. "code"] = obj:getCode() args[obj_type .. "name"] = obj:getCanonicalName() args[obj_type .. "disp"] = obj:getDisplayForm() args[obj_type .. "cat"] = obj:getCategoryName() args[obj_type .. "link"] = obj:makeCategoryLink() end end -- Expands `desc` like a template, passing values for specs like {{{langname}}}. function Category:substitute_template_specs(desc) -- This may end up happening twice but that's OK as the function is (usually) idempotent. -- FIXME: Not idempotent if a preprocessed template returns wikicode. desc = self:convert_spec_to_string(desc) if not desc then return nil end -- Populate the substitution arguments. local args = {} args.umbrella_msg = "Kategori ini merupakan sebuah kategori payung. Ia tidak mengandungi sebarang entri kamus, sebaliknya hanya mengandungi kategori khusus bahasa lain, yang seterusnya mengandungi istilah yang berkaitan dalam bahasa tertentu." args.umbrella_meta_msg = "Kategori ini merupakan sebuah metakategori payung, yang meliputi bidang umum seperti \"lema\", \"nama\" atau \"perkataan mengikut etimologi\". Ia tidak mengandungi sebarang entri kamus, sebaliknya hanya mengandungi kategori payung (\"mengikut bahasa\") yang merangkumi subtopik tertentu, yang seterusnya mengandungi kategori khusus bahasa yang mengandungi istilah dalam bahasa tertentu untuk topik yang sama." add_obj_args(args, self._lang, "lang") add_obj_args(args, self._sc, "sc") return parse(desc, true):expand(args) end function Category:substitute_template_specs_in_args(args) if not args then return args end local pinfo = {} for k, v in pairs(args) do pinfo[self:substitute_template_specs(k)] = self:substitute_template_specs(v) end return pinfo end function Category:make_new(info) info.originating_label = self._info.label info.originating_module = self._data.module info.called_from_inside = true return Category.new(info) end function Category:getBreadcrumbName() local ret if self._lang or self._info.raw then ret = self._data.breadcrumb or self._data.breadcrumb_and_first_sort_key or self._data.breadcrumb_and_first_sort_base or nil else ret = self._data.umbrella and (self._data.umbrella.breadcrumb or self._data.umbrella.breadcrumb_and_first_sort_key or self._data.umbrella.breadcrumb_and_first_sort_base) or nil end if not ret then ret = self._info.label end if type(ret) ~= "table" then ret = {name = ret} end local name = self:substitute_template_specs(ret.name) local nocap = ret.nocap if self._sc then name = name .. " dalam tulisan " .. self._sc:getDisplayForm() end return name, nocap end local function expand_toc_template_if(template) local template_obj = new_title(template, 10) if template_obj.exists then return expand_template{title = template_obj.text} end return nil end -- Return the textual expansion of the first existing template among the given templates, first performing -- substitutions on the template name such as replacing {{{langcode}}} with the current language's code (if any). -- If no templates exist after expansion, or if nil is passed in, return nil. If a single string is passed in, -- treat it like a one-element list consisting of that string. function Category:get_template_text(templates) if templates == nil then return nil elseif type(templates) ~= "table" then templates = {templates} end for _, template in ipairs(templates) do if template == false then return false end template = self:substitute_template_specs(template) return expand_toc_template_if(template) end return nil end function Category:getTOC(toc_type) -- Type "none" means everything fits on a single page; in that case, display nothing. if toc_type == "none" then return nil end local templates, fallback_templates -- If TOC type is "full" (more than 2500 entries), do the following, in order: -- 1. look up and expand the `toc_template_full` templates (normal or umbrella, depending on whether there is -- a current language); -- 2. look up and expand the `toc_template` templates (normal or umbrella, as above); -- 3. do the default behavior, which is as follows: -- 3a. look up a language-specific "full" template according to the current language (using English if there -- is no current language); -- 3b. look up a script-specific "full" template according to the first script of current language (using English -- if there is no current language); -- 3c. look up a language-specific "normal" template according to the current language (using English if there -- is no current language); -- 3d. look up a script-specific "normal" template according to the first script of the current language (using -- English if there is no current language); -- 3e. display nothing. -- -- If TOC type is "normal" (between 200 and 2500 entries), do the following, in order: -- 1. look up and expand the `toc_template` templates (normal or umbrella, depending on whether there is -- a current language); -- 2. do the default behavior, which is as follows: -- 2a. look up a language-specific "normal" template according to the current language (using English if there -- is no current language); -- 2b. look up a script-specific "normal" template according to the first script of the current language (using -- English if there is no current language); -- 2c. display nothing. local data_source if self._lang or self._info.raw then data_source = self._data else data_source = self._data.umbrella end if data_source then if toc_type == "full" then templates = data_source.toc_template_full fallback_templates = data_source.toc_template else templates = data_source.toc_template end end local text = self:get_template_text(templates) if text then return text elseif text == false then return nil end text = self:get_template_text(fallback_templates) if text then return text elseif text == false then return nil end local default_toc_templates_to_check = {} local lang, sc = self:getCatfixInfo() local langcode = lang and lang:getCode() or "ms" local sccode = sc and sc:getCode() or lang and lang:getScriptCodes()[1] or "Latn" -- FIXME: What is toctemplateprefix used for? local tocname = (self._data.toctemplateprefix or "") .. "categoryTOC" if toc_type == "full" then insert(default_toc_templates_to_check, ("%s-%s/full"):format(langcode, tocname)) insert(default_toc_templates_to_check, ("%s-%s/full"):format(sccode, tocname)) end insert(default_toc_templates_to_check, ("%s-%s"):format(langcode, tocname)) insert(default_toc_templates_to_check, ("%s-%s"):format(sccode, tocname)) for _, toc_template in ipairs(default_toc_templates_to_check) do local toc_template_text = expand_toc_template_if(toc_template) if toc_template_text then return toc_template_text end end return nil end function Category:getInfo() return self._info end function Category:getDataModule() return self._data.module end function Category:canBeEmpty() if self._lang or self._info.raw then return self._data.can_be_empty end return self._data.umbrella and self._data.umbrella.can_be_empty end function Category:isHidden() if self._lang or self._info.raw then return self._data.hidden end return self._data.umbrella and self._data.umbrella.hidden end function Category:getCategoryName() if self._info.raw then return self._info.canonical_name or self._info.label elseif self._lang then local langname = self._lang:getCanonicalName() local connector = (self._data and self._data.lang_connector) or "bahasa" local ret -- Case 1: label data explicitly declares lang_position = "mid" with label_before/label_after. if self._data and self._data.lang_position == "mid" then local before = self._data.label_before or self._info.label local after = self._data.label_after or "" ret = before .. " " .. connector .. " " .. langname if after ~= "" then ret = ret .. " " .. after end -- Case 2: label was parsed from a mid-lang title; before\0after packed in self._info.label. elseif self._info.label:find("\0", 1, true) then local before, after = self._info.label:match("^(.-)%z(.*)$") ret = before .. " " .. connector .. " " .. langname if after and after ~= "" then ret = ret .. " " .. after end -- Case 3: default — label precedes "bahasa LANG" (original behaviour). else ret = self._info.label .. " " .. connector .. " " .. langname end if self._sc then ret = ret .. " dalam tulisan " .. self._sc:getDisplayForm() end return ucfirst(ret) end local ret = ucfirst(self._info.label) if not (self._data.no_by_language or self._data.umbrella and self._data.umbrella.no_by_language) then ret = ret .. " mengikut bahasa" end return ret end function Category:getTopright() if self._lang or self._info.raw then return self:substitute_template_specs(self._data.topright) end return self._data.umbrella and self:substitute_template_specs(self._data.umbrella.topright) end function Category:display_title(displaytitle, lang) if type(displaytitle) == "string" then displaytitle = self:substitute_template_specs(displaytitle) else displaytitle = displaytitle(self:getCategoryName(), lang) end mw.getCurrentFrame():callParserFunction("DISPLAYTITLE", "Kategori:" .. displaytitle) end function Category:get_labels_categorizing() local m_labels_utilities = require(labels_utilities_module) local pos_cat_labels, sense_cat_labels, use_tlb pos_cat_labels = m_labels_utilities.find_labels_for_category(self._info.label, "pos", self._lang) local sense_label = self._info.label:match("^Perkataan (.*)$") if sense_label then use_tlb = true else sense_label = self._info.label:match("^Perkataan dengan erti (.*)$") end if not sense_label then return nil end sense_cat_labels = m_labels_utilities.find_labels_for_category(sense_label, "sense", self._lang) if use_tlb then return m_labels_utilities.format_labels_categorizing(pos_cat_labels, sense_cat_labels, self._lang) end local all_labels = pos_cat_labels for k, v in pairs(sense_cat_labels) do all_labels[k] = v end return m_labels_utilities.format_labels_categorizing(all_labels, nil, self._lang) end -- FIXME: this is clunky. local function remove_lang_params(desc) -- Simply remove a language name/code/category from the beginning of the string, but replace the language name -- in the middle of the string with either "tertentu" or "specific-language" depending on whether the -- language name appears to be an attributive qualifier of another noun or to stand by itself. This may be wrong, -- in which case the category in question should supply its own umbrella description. desc = desc:gsub("^{{{langname}}} ", "") :gsub("{{{langname}}} %(", "tertentu (") :gsub("{{{langname}}}([.,])", "tertentu%1") :gsub("{{{langname}}} ", "tertentu ") :gsub("{{{langdisp}}}", "tertentu") :gsub("{{{langlink}}}", "tertentu") return desc end function Category:getDescription(isChild) -- Allows different text in the list of a category's children local isChild = isChild == "child" if self._lang or self._info.raw then if not isChild and self._data.displaytitle then self:display_title(self._data.displaytitle, self._lang) end if self._sc then return self:getCategoryName() .. "." end local desc = self:substitute_template_specs(self._data.description) if not desc then return nil elseif isChild then return desc end return sparse_concat({ self:substitute_template_specs(self._data.preceding), desc, self:substitute_template_specs(self._data.additional), self:substitute_template_specs(self:get_labels_categorizing()), }, "\n\n") end local umbrella = self._data.umbrella if not isChild and umbrella and umbrella.displaytitle then self:display_title(umbrella.displaytitle) end local desc = self:substitute_template_specs(umbrella and umbrella.description) local has_umbrella_desc = not not desc if not desc then desc = self:convert_spec_to_string(self._data.description) if desc then desc = remove_lang_params(desc) desc = lcfirst(desc) desc = desc:gsub("%.$", "") desc = "Kategori dengan " .. desc .. "." else desc = "Kategori dengan " .. self._info.label .. " dalam pelbagai bahasa tertentu." end desc = self:substitute_template_specs(desc) end if isChild then return desc end return sparse_concat({ self:substitute_template_specs(umbrella and umbrella.preceding or not has_umbrella_desc and self._data.preceding), desc, self:substitute_template_specs(umbrella and umbrella.additional or not has_umbrella_desc and self._data.additional), self:substitute_template_specs("{{{umbrella_msg}}}"), self:substitute_template_specs(self:get_labels_categorizing()), }, "\n\n") end function Category:new_sortkey(sortkey) local sortkey_type = type(sortkey) if sortkey_type == "string" then sortkey = uupper(sortkey) elseif sortkey_type == "table" then function sortkey:makeSortKey() local sort_func = self.sort_func if sort_func ~= nil then return sort_func(self.sort_base) end local lang = self.lang if lang == nil then return self.sort_base end lang = get_lang(lang, nil, true) if lang == nil then return self.sort_base end local sc = self.sc if sc ~= nil then sc = get_script(sc) end return lang:makeSortKey(self.sort_base, sc) end end return sortkey end function Category:inherit_spec(spec, parent_spec, substitute_result) if spec == false then return nil end local retval = spec or parent_spec if substitute_result then retval = self:substitute_template_specs(retval) end return retval end function Category:canonicalize_parents_children(cats, is_children, fallback_sort_key, fallback_sort_base) if not cats then return nil elseif type(cats) == "table" then if cats.name or cats.module then cats = {cats} elseif #cats == 0 then return nil end else cats = {cats} end local ret = {} for _, cat in ipairs(cats) do if type(cat) ~= "table" or not cat.name and not cat.module then cat = {name = cat} end insert(ret, cat) end local is_umbrella = not self._lang and not self._info.raw local table_type = is_children and "extra_children" or "parents" for i, cat in ipairs(ret) do local raw if self._info.raw or is_umbrella then raw = not cat.is_label else raw = cat.raw end local lang = self:inherit_spec(cat.lang, not raw and self._info.code or nil, "substitute") local sc = self:inherit_spec(cat.sc, not raw and self._info.sc or nil, "substitute") -- Get the sortkey. local sortkey = self:inherit_spec(cat.sort, i == 1 and (fallback_sort_key or fallback_sort_base and {sort_base = fallback_sort_base}) or nil) if type(sortkey) == "table" then sortkey.sort_base = self:substitute_template_specs(sortkey.sort_base) or internal_error("Missing .sort_base in '" .. table_type .. "' .sort table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") if sortkey.sort_func then -- Not allowed to give a lang and/or script if sort_func is given. local bad_spec = sortkey.lang and "lang" or sortkey.sc and "sc" or nil if bad_spec then internal_error("Cannot specify both ." .. bad_spec .. " and .sort_func in '" .. table_type .. "' .sort table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") end else sortkey.lang = self:inherit_spec(sortkey.lang, lang, "substitute") sortkey.sc = self:inherit_spec(sortkey.sc, sc, "substitute") end else sortkey = self:substitute_template_specs(sortkey) end local name if cat.module then -- A reference to a category using another category tree module. if not cat.args then internal_error("Missing .args in '" .. table_type .. "' table with module=\"" .. cat.module .. "\" for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") end name = require("Module:category tree/" .. cat.module).new(self:substitute_template_specs_in_args(cat.args)) else name = cat.name if not name then internal_error("Missing .name in " .. (is_umbrella and "umbrella " or "") .. "'" .. table_type .. "' table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") elseif type(name) == "string" then -- otherwise, assume it's a category object and use it directly name = self:substitute_template_specs(name) if name:find("^Kategori:") then -- It's a non-poscatboiler category name. sortkey = sortkey or is_children and name:gsub("^Kategori:", "") or self:getCategoryName() else -- It's a label. sortkey = sortkey or is_children and name or self._info.label name = self:make_new{ label = name, code = lang, sc = sc, raw = raw, args = self:substitute_template_specs_in_args(cat.args) } end end end sortkey = sortkey or is_children and " " or self._info.label ret[i] = { name = name, description = is_children and self:substitute_template_specs(cat.description) or nil, sort = self:new_sortkey(sortkey) } end return ret end function Category:getParents() local is_umbrella, ret = not self._lang and not self._info.raw if self._sc then local parent1 = self:make_new{code = self._info.code, label = "Perkataan dalam tulisan " .. self._sc:getCanonicalName()} local parent2 = self:make_new{code = self._info.code, label = self._info.label, raw = self._info.raw, args = self._info.args} ret = { {name = parent1, sort = self._sc:getCanonicalName()}, {name = parent2, sort = self._sc:getCanonicalName()}, } else local parents, fallback_sort_key, fallback_sort_base if is_umbrella then parents = self._data.umbrella and self._data.umbrella.parents or self._data.umbrella_parents fallback_sort_key = self._data.umbrella and self._data.umbrella.breadcrumb_and_first_sort_key or nil fallback_sort_base = self._data.umbrella and self._data.umbrella.breadcrumb_and_first_sort_base or nil else parents = self._data.parents fallback_sort_key = self._data.breadcrumb_and_first_sort_key fallback_sort_base = self._data.breadcrumb_and_first_sort_base end ret = self:canonicalize_parents_children(parents, nil, fallback_sort_key, fallback_sort_base) if not ret then return nil end end local self_cat = self:getCategoryName() for _, parent in ipairs(ret) do local parent_cat = parent.name.getCategoryName and parent.name:getCategoryName() if self_cat == parent_cat then internal_error(("Infinite loop would occur, as parent category '%s' is the same as the child category"):format(self_cat)) end end return ret end function Category:getChildren() local is_umbrella = not self._lang and not self._info.raw local children = self._data.children local ret = {} if not is_umbrella and children then for _, child in ipairs(children) do child = mw.clone(child) if type(child) ~= "table" then child = {name = child} end if not child.sort then child.sort = child.name end -- FIXME, is preserving the script correct? child.name = self:make_new{code = self._info.code, label = child.name, raw = child.raw, sc = self._info.sc} insert(ret, child) end end local extra_children if is_umbrella then extra_children = self._data.umbrella and self._data.umbrella.extra_children else extra_children = self._data.extra_children end extra_children = self:canonicalize_parents_children(extra_children, "children") if extra_children then for _, child in ipairs(extra_children) do insert(ret, child) end end return #ret > 0 and ret or nil end function Category:getUmbrella() local umbrella = self._data.umbrella if umbrella == false or self._info.raw or not self._lang or self._sc then return nil end -- If `umbrella` is a string, use that; otherwise, use the label. return self:make_new({label = type(umbrella) == "string" and umbrella or self._info.label}) end function Category:getAppendix() -- FIXME, this should be customizable. local lang, label = self._lang, self._info.label if self._info.raw or not (lang and label) then return nil end local appendix = make_title(100, label .. " bahasa " .. lang:getCanonicalName()) return appendix.exists and appendix.fullText or nil end function Category:getCatfixInfo() if self._lang or self._sc or self._info.raw then local langcode, sccode = self._data.catfix, self._data.catfix_sc local lang, sc if langcode then langcode = self:substitute_template_specs(langcode) lang = get_lang(langcode, nil, true) elseif langcode == nil then -- not false lang = self._lang end if sccode then sccode = self:substitute_template_specs(sccode) sc = get_script(sccode) elseif sccode == nil then -- not false sc = self._sc end if lang then lang = lang:getFull() end return lang, sc elseif not self._data.umbrella then return end -- umbrella local langcode, sccode = self._data.umbrella.catfix, self._data.umbrella.catfix_sc local lang, sc if langcode then langcode = self:substitute_template_specs(langcode) lang = get_lang(langcode, nil, true) end if sccode then sccode = self:substitute_template_specs(sccode) sc = get_script(sccode) end if lang then lang = lang:getFull() end return lang, sc end function Category:getTOCTemplateName() -- This should only be invoked if getTOC() returns true, meaning to do the default algorithm, but getTOC() -- implements its own default algorithm. internal_error("This should never get called") end local export = {} function export.main(info) local self = setmetatable({_info = info}, Category) self:initCommon() return self._data and self or nil end export.new = Category.new return export syin42b26pfli4cmoza5ztx95i0pg1c 342777 342753 2026-05-16T08:32:09Z Hakimi97 2668 342777 Scribunto text/plain local lang_independent_data = require("Module:category tree/data") local lang_specific_module = "Module:category tree/lang" local lang_specific_module_prefix = lang_specific_module .. "/" local family_specific_module = "Module:category tree/fam" local family_specific_module_prefix = family_specific_module .. "/" local labels_utilities_module = "Module:labels/utilities" local template_parser_module = "Module:template parser" local concat = table.concat local dump = mw.dumpObject local expand_template = require("Module:frame").expandTemplate local insert = table.insert local is_callable = require("Module:fun").is_callable local lcfirst = require("Module:string utilities").lcfirst local list_to_set = require("Module:table").listToSet local make_title = mw.title.makeTitle local new_title = mw.title.new local parse = require(template_parser_module).parse local sparse_concat = require("Module:table").sparseConcat local tostring = tostring local type = type local ucfirst = require("Module:string utilities").ucfirst local uupper = require("Module:string utilities").upper local function internal_error(msg) error("Internal error: " .. msg) end local function get_lang(...) local _get_lang = require("Module:languages").getByCode function get_lang(...) return _get_lang(...) or require("Module:languages/errorGetBy").code(...) end return get_lang(...) end local function get_script(...) local _get_script = require("Module:scripts").getByCode function get_script(code) return _get_script(code) or require("Module:languages/error")(code, true, "script code") end return get_script(...) end -- Category object local Category = {} Category.__index = Category function Category:get_originating_info() local originating_info = "" if self._info.originating_label then originating_info = " (originating from label \"" .. self._info.originating_label .. "\" in module [[" .. self._info.originating_module .. "]])" end return originating_info end local valid_keys = list_to_set{"code", "label", "sc", "raw", "args", "also", "called_from_inside", "originating_label", "originating_module"} function Category.new(info) for key in pairs(info) do if not valid_keys[key] then internal_error("The parameter \"" .. key .. "\" was not recognized.") end end local self = setmetatable({}, Category) self._info = info if not self._info.label then internal_error("No label was specified.") end self:initCommon() if not self._data then internal_error("The " .. (self._info.raw and "raw " or "") .. "label \"" .. self._info.label .. "\" does not exist" .. self:get_originating_info() .. ".") end return self end function Category:initCommon() local function patch_args(args) -- This fixes the issue with Scribunto automatically converting keys -- in a table as numbers to strings, which in turn causes a circular -- error for having argument parameter names as numbers as strings. if type(args) ~= "table" then return args end local new_args = {} for k, v in pairs(args) do if type(k) == "string" and string.len(k) < 10 and not string.match(k, "^0") and string.match(k, "^%d+$") then new_args[tonumber(k)] = patch_args(v) else new_args[k] = patch_args(v) end end return new_args end local args_handled = false if self._info.raw then -- Check if the category exists local raw_categories = lang_independent_data["RAW_CATEGORIES"] self._data = raw_categories[self._info.label] if self._data then if self._data.lang then self._lang = get_lang(self._data.lang, nil, true) self._info.code = self._lang:getCode() end if self._data.sc then self._sc = get_script(self._data.sc) self._info.sc = self._sc:getCode() end else -- Go through raw handlers local data = { category = self._info.label, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } for _, handler in ipairs(lang_independent_data["RAW_HANDLERS"]) do self._data, args_handled = handler.handler(data) if self._data then self._data.module = self._data.module or handler.module break end end if self._data then -- Update the label if the handler specified a canonical name for it. if self._data.canonical_name then self._info.canonical_name = self._data.canonical_name end if self._data.lang then if type(self._data.lang) ~= "string" then internal_error("Received non-string value " .. dump(self._data.lang) .. " for self._data.lang, label \"" .. self._info.label .. "\"" .. self:get_originating_info() .. ".") end self._lang = get_lang(self._data.lang, nil, true) self._info.code = self._lang:getCode() end if self._data.sc then if type(self._data.sc) ~= "string" then internal_error("Received non-string value " .. dump(self._data.sc) .. " for self._data.sc, label \"" .. self._info.label .. "\"" .. self:get_originating_info() .. ".") end self._sc = get_script(self._data.sc) self._info.sc = self._sc:getCode() end end end else -- Already parsed into language + label if self._info.code then self._lang = get_lang(self._info.code, nil, true) else self._lang = nil end if self._info.sc then self._sc = get_script(self._info.sc) else self._sc = nil end self._info.orig_label = self._info.label -- If the label was packed with a \0 separator (from split_lang_label for mid-lang titles), -- reconstruct the canonical label key used in LABELS data modules. -- e.g. "Perkataan\0yang baru" → canonical key "Perkataan yang baru" if self._info.label:find("\0", 1, true) then self._info.label = self._info.label:gsub("%z", " ") end if not self._lang then -- Umbrella categories without a preceding language always begin with a capital letter, but the actual label may be -- lowercase (cf. [[:Category:Nouns by language]] with label 'nouns' with per-language [[:Category:English nouns]]; -- but [[:Category:Reddit slang by language]] with label 'Reddit slang' with per-language -- [[:Category:English Reddit slang]]). -- Malay Wiktionary category names normally use LABEL + "mengikut bahasa", -- so the visible umbrella label should normally remain uppercase-initial. -- Keep the original label in `orig_label`, canonicalize to uppercase-initial -- for lookup, and later fall back to lowercase if needed. self._info.label = ucfirst(self._info.label) end -- First, check lang-specific labels and handlers if this is not an umbrella category. if self._lang then local objects_with_modules = require(lang_specific_module) local obj, seen = self._lang, {} local object_specific_module_prefix = lang_specific_module_prefix local is_family = false repeat if objects_with_modules[obj:getCode()] then local module = object_specific_module_prefix .. obj:getCode() local labels_and_handlers = require(module) if labels_and_handlers.LABELS then self._data = labels_and_handlers.LABELS[self._info.label] if self._data then if not is_family and self._data.umbrella == nil and self._data.umbrella_parents == nil then self._data.umbrella = false end self._data.module = self._data.module or module end end if not self._data and labels_and_handlers.HANDLERS then for _, handler in ipairs(labels_and_handlers.HANDLERS) do local data = { label = self._info.label, lang = self._lang, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } self._data, args_handled = handler(data) if self._data then if not is_family and self._data.umbrella == nil and self._data.umbrella_parents == nil then self._data.umbrella = false end self._data.module = self._data.module or module break end end end if self._data then break end end seen[obj:getCode()] = true obj = obj:getFamily() if not is_family then is_family = true object_specific_module_prefix = family_specific_module_prefix objects_with_modules = require(family_specific_module) end until not obj or seen[obj:getCode()] end local function fetch_label_data(labels) for _, label in ipairs{self._info.label, self._info.orig_label, lcfirst(self._info.label)} do self._data = labels[label] if self._data then self._info.label = label return end end end -- Then check lang-independent labels. if not self._data then -- lang_independent_data.LABELS should always exist. fetch_label_data(lang_independent_data.LABELS) if not self._data and not self._lang then -- Check family-specific labels for umbrella label. local families_with_modules = require(family_specific_module) for famcode, _ in pairs(families_with_modules) do local module = family_specific_module_prefix .. famcode local labels_and_handlers = require(module) if labels_and_handlers.LABELS then fetch_label_data(labels_and_handlers.LABELS) if self._data then self._data.module = self._data.module or module break end end end end end -- Then check lang-independent handlers. if not self._data then for _, handler in ipairs(lang_independent_data["HANDLERS"]) do for _, label in ipairs{self._info.label, self._info.orig_label, lcfirst(self._info.label)} do local data = { label = label, lang = self._lang, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } self._data, args_handled = handler.handler(data) if self._data then self._info.label = label self._data.module = self._data.module or handler.module break end end if self._data then break end end if not self._data and not self._lang then -- Check family-specific labels for umbrella handler. local families_with_modules = require(family_specific_module) for famcode, _ in pairs(families_with_modules) do local module = family_specific_module_prefix .. famcode local labels_and_handlers = require(module) if labels_and_handlers.HANDLERS then for _, handler in ipairs(labels_and_handlers.HANDLERS) do for _, label in ipairs{self._info.label, self._info.orig_label, lcfirst(self._info.label)} do local data = { label = label, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } self._data, args_handled = handler(data) if self._data then self._info.label = label self._data.module = self._data.module or module break end end if self._data then break end end end if self._data then break end end end end end if not args_handled and self._data and self._info.args and next(self._info.args) then local module_text = " (handled in [[" .. (self._data.module or "UNKNOWN").. "]])" local args_text = {} for k, v in pairs(self._info.args) do insert(args_text, k .. "=" .. ((type(v) == "string" or type(v) == "number") and v or dump(v))) end error("poscatboiler label '" .. self._info.label .. "' " .. module_text .. " doesn't accept extra args " .. concat(args_text, ", ")) end if self._sc and not self._lang then internal_error("Umbrella categories cannot have a script specified.") end end function Category:convert_spec_to_string(desc) if not desc then return desc end local desc_type = type(desc) if desc_type == "string" then return desc elseif desc_type == "number" then return tostring(desc) elseif not is_callable(desc) then internal_error("`desc` must be a string, number, function, callable table or nil; received " .. dump(desc)) end desc = desc { lang = self._lang, sc = self._sc, label = self._info.label, raw = self._info.raw, } if not desc then return desc end desc_type = type(desc) if desc_type == "string" then return desc end internal_error("The value returned by `desc` must be a string or nil; received " .. dump(desc)) end local function add_obj_args(args, obj, obj_type) if obj then args[obj_type .. "code"] = obj:getCode() args[obj_type .. "name"] = obj:getCanonicalName() args[obj_type .. "disp"] = obj:getDisplayForm() args[obj_type .. "cat"] = obj:getCategoryName() args[obj_type .. "link"] = obj:makeCategoryLink() end end -- Expands `desc` like a template, passing values for specs like {{{langname}}}. function Category:substitute_template_specs(desc) -- This may end up happening twice but that's OK as the function is (usually) idempotent. -- FIXME: Not idempotent if a preprocessed template returns wikicode. desc = self:convert_spec_to_string(desc) if not desc then return nil end -- Populate the substitution arguments. local args = {} args.umbrella_msg = "Kategori ini merupakan sebuah kategori payung. Ia tidak mengandungi sebarang entri kamus, sebaliknya hanya mengandungi kategori khusus bahasa lain, yang seterusnya mengandungi istilah yang berkaitan dalam bahasa tertentu." args.umbrella_meta_msg = "Kategori ini merupakan sebuah metakategori payung, yang meliputi bidang umum seperti \"lema\", \"nama\" atau \"perkataan mengikut etimologi\". Ia tidak mengandungi sebarang entri kamus, sebaliknya hanya mengandungi kategori payung (\"mengikut bahasa\") yang merangkumi subtopik tertentu, yang seterusnya mengandungi kategori khusus bahasa yang mengandungi istilah dalam bahasa tertentu untuk topik yang sama." add_obj_args(args, self._lang, "lang") add_obj_args(args, self._sc, "sc") return parse(desc, true):expand(args) end function Category:substitute_template_specs_in_args(args) if not args then return args end local pinfo = {} for k, v in pairs(args) do pinfo[self:substitute_template_specs(k)] = self:substitute_template_specs(v) end return pinfo end function Category:make_new(info) info.originating_label = self._info.label info.originating_module = self._data.module info.called_from_inside = true return Category.new(info) end function Category:getBreadcrumbName() local ret if self._lang or self._info.raw then ret = self._data.breadcrumb or self._data.breadcrumb_and_first_sort_key or self._data.breadcrumb_and_first_sort_base or nil else ret = self._data.umbrella and (self._data.umbrella.breadcrumb or self._data.umbrella.breadcrumb_and_first_sort_key or self._data.umbrella.breadcrumb_and_first_sort_base) or nil end if not ret then ret = self._info.label end if type(ret) ~= "table" then ret = {name = ret} end local name = self:substitute_template_specs(ret.name) local nocap = ret.nocap if self._sc then name = name .. " dalam tulisan " .. self._sc:getDisplayForm() end return name, nocap end local function expand_toc_template_if(template) local template_obj = new_title(template, 10) if template_obj.exists then return expand_template{title = template_obj.text} end return nil end -- Return the textual expansion of the first existing template among the given templates, first performing -- substitutions on the template name such as replacing {{{langcode}}} with the current language's code (if any). -- If no templates exist after expansion, or if nil is passed in, return nil. If a single string is passed in, -- treat it like a one-element list consisting of that string. function Category:get_template_text(templates) if templates == nil then return nil elseif type(templates) ~= "table" then templates = {templates} end for _, template in ipairs(templates) do if template == false then return false end template = self:substitute_template_specs(template) return expand_toc_template_if(template) end return nil end function Category:getTOC(toc_type) -- Type "none" means everything fits on a single page; in that case, display nothing. if toc_type == "none" then return nil end local templates, fallback_templates -- If TOC type is "full" (more than 2500 entries), do the following, in order: -- 1. look up and expand the `toc_template_full` templates (normal or umbrella, depending on whether there is -- a current language); -- 2. look up and expand the `toc_template` templates (normal or umbrella, as above); -- 3. do the default behavior, which is as follows: -- 3a. look up a language-specific "full" template according to the current language (using English if there -- is no current language); -- 3b. look up a script-specific "full" template according to the first script of current language (using English -- if there is no current language); -- 3c. look up a language-specific "normal" template according to the current language (using English if there -- is no current language); -- 3d. look up a script-specific "normal" template according to the first script of the current language (using -- English if there is no current language); -- 3e. display nothing. -- -- If TOC type is "normal" (between 200 and 2500 entries), do the following, in order: -- 1. look up and expand the `toc_template` templates (normal or umbrella, depending on whether there is -- a current language); -- 2. do the default behavior, which is as follows: -- 2a. look up a language-specific "normal" template according to the current language (using English if there -- is no current language); -- 2b. look up a script-specific "normal" template according to the first script of the current language (using -- English if there is no current language); -- 2c. display nothing. local data_source if self._lang or self._info.raw then data_source = self._data else data_source = self._data.umbrella end if data_source then if toc_type == "full" then templates = data_source.toc_template_full fallback_templates = data_source.toc_template else templates = data_source.toc_template end end local text = self:get_template_text(templates) if text then return text elseif text == false then return nil end text = self:get_template_text(fallback_templates) if text then return text elseif text == false then return nil end local default_toc_templates_to_check = {} local lang, sc = self:getCatfixInfo() local langcode = lang and lang:getCode() or "ms" local sccode = sc and sc:getCode() or lang and lang:getScriptCodes()[1] or "Latn" -- FIXME: What is toctemplateprefix used for? local tocname = (self._data.toctemplateprefix or "") .. "categoryTOC" if toc_type == "full" then insert(default_toc_templates_to_check, ("%s-%s/full"):format(langcode, tocname)) insert(default_toc_templates_to_check, ("%s-%s/full"):format(sccode, tocname)) end insert(default_toc_templates_to_check, ("%s-%s"):format(langcode, tocname)) insert(default_toc_templates_to_check, ("%s-%s"):format(sccode, tocname)) for _, toc_template in ipairs(default_toc_templates_to_check) do local toc_template_text = expand_toc_template_if(toc_template) if toc_template_text then return toc_template_text end end return nil end function Category:getInfo() return self._info end function Category:getDataModule() return self._data.module end function Category:canBeEmpty() if self._lang or self._info.raw then return self._data.can_be_empty end return self._data.umbrella and self._data.umbrella.can_be_empty end function Category:isHidden() if self._lang or self._info.raw then return self._data.hidden end return self._data.umbrella and self._data.umbrella.hidden end function Category:getCategoryName() if self._info.raw then return self._info.canonical_name or self._info.label elseif self._lang then local langname = self._lang:getCanonicalName() local connector = (self._data and self._data.lang_connector) or "bahasa" local ret -- Case 1: label data explicitly declares lang_position = "mid" with label_before/label_after. if self._data and self._data.lang_position == "mid" then local before = self._data.label_before or self._info.label local after = self._data.label_after or "" ret = before .. " " .. connector .. " " .. langname if after ~= "" then ret = ret .. " " .. after end -- Case 2: label was parsed from a mid-lang title; before\0after packed in self._info.label. elseif self._info.label:find("\0", 1, true) then local before, after = self._info.label:match("^(.-)%z(.*)$") ret = before .. " " .. connector .. " " .. langname if after and after ~= "" then ret = ret .. " " .. after end -- Case 3: default — label precedes "bahasa LANG" (original behaviour). else ret = self._info.label .. " " .. connector .. " " .. langname end if self._sc then ret = ret .. " dalam tulisan " .. self._sc:getDisplayForm() end return ucfirst(ret) end local ret = ucfirst(self._info.label) if not (self._data.no_by_language or self._data.umbrella and self._data.umbrella.no_by_language) then ret = ret .. " mengikut bahasa" end return ret end function Category:getTopright() if self._lang or self._info.raw then return self:substitute_template_specs(self._data.topright) end return self._data.umbrella and self:substitute_template_specs(self._data.umbrella.topright) end function Category:display_title(displaytitle, lang) if type(displaytitle) == "string" then displaytitle = self:substitute_template_specs(displaytitle) else displaytitle = displaytitle(self:getCategoryName(), lang) end mw.getCurrentFrame():callParserFunction("DISPLAYTITLE", "Kategori:" .. displaytitle) end function Category:get_labels_categorizing() local m_labels_utilities = require(labels_utilities_module) local pos_cat_labels, sense_cat_labels, use_tlb pos_cat_labels = m_labels_utilities.find_labels_for_category(self._info.label, "pos", self._lang) local sense_label = self._info.label:match("^Perkataan (.*)$") if sense_label then use_tlb = true else sense_label = self._info.label:match("^Perkataan dengan erti (.*)$") end if not sense_label then return nil end sense_cat_labels = m_labels_utilities.find_labels_for_category(sense_label, "sense", self._lang) if use_tlb then return m_labels_utilities.format_labels_categorizing(pos_cat_labels, sense_cat_labels, self._lang) end local all_labels = pos_cat_labels for k, v in pairs(sense_cat_labels) do all_labels[k] = v end return m_labels_utilities.format_labels_categorizing(all_labels, nil, self._lang) end -- FIXME: this is clunky. local function remove_lang_params(desc) -- Simply remove a language name/code/category from the beginning of the string, but replace the language name -- in the middle of the string with either "tertentu" or "specific-language" depending on whether the -- language name appears to be an attributive qualifier of another noun or to stand by itself. This may be wrong, -- in which case the category in question should supply its own umbrella description. desc = desc:gsub("^{{{langname}}} ", "") :gsub("{{{langname}}} %(", "tertentu (") :gsub("{{{langname}}}([.,])", "tertentu%1") :gsub("{{{langname}}} ", "tertentu ") :gsub("{{{langdisp}}}", "tertentu") :gsub("{{{langlink}}}", "tertentu") return desc end function Category:getDescription(isChild) -- Allows different text in the list of a category's children local isChild = isChild == "child" if self._lang or self._info.raw then if not isChild and self._data.displaytitle then self:display_title(self._data.displaytitle, self._lang) end if self._sc then return self:getCategoryName() .. "." end local desc = self:substitute_template_specs(self._data.description) if not desc then return nil elseif isChild then return desc end return sparse_concat({ self:substitute_template_specs(self._data.preceding), desc, self:substitute_template_specs(self._data.additional), self:substitute_template_specs(self:get_labels_categorizing()), }, "\n\n") end local umbrella = self._data.umbrella if not isChild and umbrella and umbrella.displaytitle then self:display_title(umbrella.displaytitle) end local desc = self:substitute_template_specs(umbrella and umbrella.description) local has_umbrella_desc = not not desc if not desc then desc = self:convert_spec_to_string(self._data.description) if desc then desc = remove_lang_params(desc) desc = lcfirst(desc) desc = desc:gsub("%.$", "") desc = "Kategori dengan " .. desc .. "." else desc = "Kategori dengan " .. self._info.label .. " dalam pelbagai bahasa tertentu." end desc = self:substitute_template_specs(desc) end if isChild then return desc end return sparse_concat({ self:substitute_template_specs(umbrella and umbrella.preceding or not has_umbrella_desc and self._data.preceding), desc, self:substitute_template_specs(umbrella and umbrella.additional or not has_umbrella_desc and self._data.additional), self:substitute_template_specs("{{{umbrella_msg}}}"), self:substitute_template_specs(self:get_labels_categorizing()), }, "\n\n") end function Category:new_sortkey(sortkey) local sortkey_type = type(sortkey) if sortkey_type == "string" then sortkey = uupper(sortkey) elseif sortkey_type == "table" then function sortkey:makeSortKey() local sort_func = self.sort_func if sort_func ~= nil then return sort_func(self.sort_base) end local lang = self.lang if lang == nil then return self.sort_base end lang = get_lang(lang, nil, true) if lang == nil then return self.sort_base end local sc = self.sc if sc ~= nil then sc = get_script(sc) end return lang:makeSortKey(self.sort_base, sc) end end return sortkey end function Category:inherit_spec(spec, parent_spec, substitute_result) if spec == false then return nil end local retval = spec or parent_spec if substitute_result then retval = self:substitute_template_specs(retval) end return retval end function Category:canonicalize_parents_children(cats, is_children, fallback_sort_key, fallback_sort_base) if not cats then return nil elseif type(cats) == "table" then if cats.name or cats.module then cats = {cats} elseif #cats == 0 then return nil end else cats = {cats} end local ret = {} for _, cat in ipairs(cats) do if type(cat) ~= "table" or not cat.name and not cat.module then cat = {name = cat} end insert(ret, cat) end local is_umbrella = not self._lang and not self._info.raw local table_type = is_children and "extra_children" or "parents" for i, cat in ipairs(ret) do local raw if self._info.raw or is_umbrella then raw = not cat.is_label else raw = cat.raw end local lang = self:inherit_spec(cat.lang, not raw and self._info.code or nil, "substitute") local sc = self:inherit_spec(cat.sc, not raw and self._info.sc or nil, "substitute") -- Get the sortkey. local sortkey = self:inherit_spec(cat.sort, i == 1 and (fallback_sort_key or fallback_sort_base and {sort_base = fallback_sort_base}) or nil) if type(sortkey) == "table" then sortkey.sort_base = self:substitute_template_specs(sortkey.sort_base) or internal_error("Missing .sort_base in '" .. table_type .. "' .sort table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") if sortkey.sort_func then -- Not allowed to give a lang and/or script if sort_func is given. local bad_spec = sortkey.lang and "lang" or sortkey.sc and "sc" or nil if bad_spec then internal_error("Cannot specify both ." .. bad_spec .. " and .sort_func in '" .. table_type .. "' .sort table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") end else sortkey.lang = self:inherit_spec(sortkey.lang, lang, "substitute") sortkey.sc = self:inherit_spec(sortkey.sc, sc, "substitute") end else sortkey = self:substitute_template_specs(sortkey) end local name if cat.module then -- A reference to a category using another category tree module. if not cat.args then internal_error("Missing .args in '" .. table_type .. "' table with module=\"" .. cat.module .. "\" for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") end name = require("Module:category tree/" .. cat.module).new(self:substitute_template_specs_in_args(cat.args)) else name = cat.name if not name then internal_error("Missing .name in " .. (is_umbrella and "umbrella " or "") .. "'" .. table_type .. "' table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") elseif type(name) == "string" then -- otherwise, assume it's a category object and use it directly name = self:substitute_template_specs(name) if name:find("^Kategori:") then -- It's a non-poscatboiler category name. sortkey = sortkey or is_children and name:gsub("^Kategori:", "") or self:getCategoryName() else -- It's a label. sortkey = sortkey or is_children and name or self._info.label name = self:make_new{ label = name, code = lang, sc = sc, raw = raw, args = self:substitute_template_specs_in_args(cat.args) } end end end sortkey = sortkey or is_children and " " or self._info.label ret[i] = { name = name, description = is_children and self:substitute_template_specs(cat.description) or nil, sort = self:new_sortkey(sortkey) } end return ret end function Category:getParents() local is_umbrella, ret = not self._lang and not self._info.raw if self._sc then local parent1 = self:make_new{code = self._info.code, label = "Perkataan dalam tulisan " .. self._sc:getCanonicalName()} local parent2 = self:make_new{code = self._info.code, label = self._info.label, raw = self._info.raw, args = self._info.args} ret = { {name = parent1, sort = self._sc:getCanonicalName()}, {name = parent2, sort = self._sc:getCanonicalName()}, } else local parents, fallback_sort_key, fallback_sort_base if is_umbrella then parents = self._data.umbrella and self._data.umbrella.parents or self._data.umbrella_parents fallback_sort_key = self._data.umbrella and self._data.umbrella.breadcrumb_and_first_sort_key or nil fallback_sort_base = self._data.umbrella and self._data.umbrella.breadcrumb_and_first_sort_base or nil else parents = self._data.parents fallback_sort_key = self._data.breadcrumb_and_first_sort_key fallback_sort_base = self._data.breadcrumb_and_first_sort_base end ret = self:canonicalize_parents_children(parents, nil, fallback_sort_key, fallback_sort_base) if not ret then return nil end end local self_cat = self:getCategoryName() for _, parent in ipairs(ret) do local parent_cat = parent.name.getCategoryName and parent.name:getCategoryName() if self_cat == parent_cat then internal_error(("Infinite loop would occur, as parent category '%s' is the same as the child category"):format(self_cat)) end end return ret end function Category:getChildren() local is_umbrella = not self._lang and not self._info.raw local children = self._data.children local ret = {} if not is_umbrella and children then for _, child in ipairs(children) do child = mw.clone(child) if type(child) ~= "table" then child = {name = child} end if not child.sort then child.sort = child.name end -- FIXME, is preserving the script correct? child.name = self:make_new{code = self._info.code, label = child.name, raw = child.raw, sc = self._info.sc} insert(ret, child) end end local extra_children if is_umbrella then extra_children = self._data.umbrella and self._data.umbrella.extra_children else extra_children = self._data.extra_children end extra_children = self:canonicalize_parents_children(extra_children, "children") if extra_children then for _, child in ipairs(extra_children) do insert(ret, child) end end return #ret > 0 and ret or nil end function Category:getUmbrella() local umbrella = self._data.umbrella if umbrella == false or self._info.raw or not self._lang or self._sc then return nil end -- If `umbrella` is a string, use that; otherwise, use the label. return self:make_new({label = type(umbrella) == "string" and umbrella or self._info.label}) end function Category:getAppendix() -- FIXME, this should be customizable. local lang, label = self._lang, self._info.label if self._info.raw or not (lang and label) then return nil end local appendix = make_title(100, label .. " bahasa " .. lang:getCanonicalName()) return appendix.exists and appendix.fullText or nil end function Category:getCatfixInfo() if self._lang or self._sc or self._info.raw then local langcode, sccode = self._data.catfix, self._data.catfix_sc local lang, sc if langcode then langcode = self:substitute_template_specs(langcode) lang = get_lang(langcode, nil, true) elseif langcode == nil then -- not false lang = self._lang end if sccode then sccode = self:substitute_template_specs(sccode) sc = get_script(sccode) elseif sccode == nil then -- not false sc = self._sc end if lang then lang = lang:getFull() end return lang, sc elseif not self._data.umbrella then return end -- umbrella local langcode, sccode = self._data.umbrella.catfix, self._data.umbrella.catfix_sc local lang, sc if langcode then langcode = self:substitute_template_specs(langcode) lang = get_lang(langcode, nil, true) end if sccode then sccode = self:substitute_template_specs(sccode) sc = get_script(sccode) end if lang then lang = lang:getFull() end return lang, sc end function Category:getTOCTemplateName() -- This should only be invoked if getTOC() returns true, meaning to do the default algorithm, but getTOC() -- implements its own default algorithm. internal_error("This should never get called") end local export = {} function export.main(info) local self = setmetatable({_info = info}, Category) self:initCommon() return self._data and self or nil end export.new = Category.new return export 1304c39qhl58h9gfl9s3ibhnw6y894b 342778 342777 2026-05-16T08:37:21Z Hakimi97 2668 342778 Scribunto text/plain local lang_independent_data = require("Module:category tree/data") local lang_specific_module = "Module:category tree/lang" local lang_specific_module_prefix = lang_specific_module .. "/" local family_specific_module = "Module:category tree/fam" local family_specific_module_prefix = family_specific_module .. "/" local labels_utilities_module = "Module:labels/utilities" local template_parser_module = "Module:template parser" local concat = table.concat local dump = mw.dumpObject local expand_template = require("Module:frame").expandTemplate local insert = table.insert local is_callable = require("Module:fun").is_callable local lcfirst = require("Module:string utilities").lcfirst local list_to_set = require("Module:table").listToSet local make_title = mw.title.makeTitle local new_title = mw.title.new local parse = require(template_parser_module).parse local sparse_concat = require("Module:table").sparseConcat local tostring = tostring local type = type local ucfirst = require("Module:string utilities").ucfirst local uupper = require("Module:string utilities").upper local function internal_error(msg) error("Internal error: " .. msg) end local function get_lang(...) local _get_lang = require("Module:languages").getByCode function get_lang(...) return _get_lang(...) or require("Module:languages/errorGetBy").code(...) end return get_lang(...) end local function get_script(...) local _get_script = require("Module:scripts").getByCode function get_script(code) return _get_script(code) or require("Module:languages/error")(code, true, "script code") end return get_script(...) end -- Category object local Category = {} Category.__index = Category function Category:get_originating_info() local originating_info = "" if self._info.originating_label then originating_info = " (originating from label \"" .. self._info.originating_label .. "\" in module [[" .. self._info.originating_module .. "]])" end return originating_info end local valid_keys = list_to_set{"code", "label", "sc", "raw", "args", "also", "called_from_inside", "originating_label", "originating_module"} function Category.new(info) for key in pairs(info) do if not valid_keys[key] then internal_error("The parameter \"" .. key .. "\" was not recognized.") end end local self = setmetatable({}, Category) self._info = info if not self._info.label then internal_error("No label was specified.") end self:initCommon() if not self._data then internal_error("The " .. (self._info.raw and "raw " or "") .. "label \"" .. self._info.label .. "\" does not exist" .. self:get_originating_info() .. ".") end return self end function Category:initCommon() local function patch_args(args) -- This fixes the issue with Scribunto automatically converting keys -- in a table as numbers to strings, which in turn causes a circular -- error for having argument parameter names as numbers as strings. if type(args) ~= "table" then return args end local new_args = {} for k, v in pairs(args) do if type(k) == "string" and string.len(k) < 10 and not string.match(k, "^0") and string.match(k, "^%d+$") then new_args[tonumber(k)] = patch_args(v) else new_args[k] = patch_args(v) end end return new_args end local args_handled = false if self._info.raw then -- Check if the category exists local raw_categories = lang_independent_data["RAW_CATEGORIES"] self._data = raw_categories[self._info.label] if self._data then if self._data.lang then self._lang = get_lang(self._data.lang, nil, true) self._info.code = self._lang:getCode() end if self._data.sc then self._sc = get_script(self._data.sc) self._info.sc = self._sc:getCode() end else -- Go through raw handlers local data = { category = self._info.label, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } for _, handler in ipairs(lang_independent_data["RAW_HANDLERS"]) do self._data, args_handled = handler.handler(data) if self._data then self._data.module = self._data.module or handler.module break end end if self._data then -- Update the label if the handler specified a canonical name for it. if self._data.canonical_name then self._info.canonical_name = self._data.canonical_name end if self._data.lang then if type(self._data.lang) ~= "string" then internal_error("Received non-string value " .. dump(self._data.lang) .. " for self._data.lang, label \"" .. self._info.label .. "\"" .. self:get_originating_info() .. ".") end self._lang = get_lang(self._data.lang, nil, true) self._info.code = self._lang:getCode() end if self._data.sc then if type(self._data.sc) ~= "string" then internal_error("Received non-string value " .. dump(self._data.sc) .. " for self._data.sc, label \"" .. self._info.label .. "\"" .. self:get_originating_info() .. ".") end self._sc = get_script(self._data.sc) self._info.sc = self._sc:getCode() end end end else -- Already parsed into language + label if self._info.code then self._lang = get_lang(self._info.code, nil, true) else self._lang = nil end if self._info.sc then self._sc = get_script(self._info.sc) else self._sc = nil end self._info.orig_label = self._info.label -- If the label was packed with a \0 separator (from split_lang_label for mid-lang titles), -- reconstruct the canonical label key used in LABELS data modules. -- e.g. "Perkataan\0yang baru" → canonical key "Perkataan yang baru" if self._info.label:find("\0", 1, true) then self._info.label = self._info.label:gsub("%z", " ") end if not self._lang then -- Malay Wiktionary category names normally use LABEL + "mengikut bahasa", -- so umbrella category labels should normally remain uppercase-initial. -- Keep the original label in `orig_label`, canonicalize to uppercase-initial -- for lookup, and later fall back to lowercase if needed. self._info.label = ucfirst(self._info.label) end local function get_label_forms() local labels, seen = {}, {} local function add(label) if label and not seen[label] then insert(labels, label) seen[label] = true end end add(self._info.label) add(self._info.orig_label) add(lcfirst(self._info.label)) return labels end -- First, check lang-specific labels and handlers if this is not an umbrella category. if self._lang then local objects_with_modules = require(lang_specific_module) local obj, seen = self._lang, {} local object_specific_module_prefix = lang_specific_module_prefix local is_family = false repeat if objects_with_modules[obj:getCode()] then local module = object_specific_module_prefix .. obj:getCode() local labels_and_handlers = require(module) if labels_and_handlers.LABELS then self._data = labels_and_handlers.LABELS[self._info.label] if self._data then if not is_family and self._data.umbrella == nil and self._data.umbrella_parents == nil then self._data.umbrella = false end self._data.module = self._data.module or module end end if not self._data and labels_and_handlers.HANDLERS then for _, handler in ipairs(labels_and_handlers.HANDLERS) do local data = { label = self._info.label, lang = self._lang, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } self._data, args_handled = handler(data) if self._data then if not is_family and self._data.umbrella == nil and self._data.umbrella_parents == nil then self._data.umbrella = false end self._data.module = self._data.module or module break end end end if self._data then break end end seen[obj:getCode()] = true obj = obj:getFamily() if not is_family then is_family = true object_specific_module_prefix = family_specific_module_prefix objects_with_modules = require(family_specific_module) end until not obj or seen[obj:getCode()] end local function fetch_label_data(labels) for _, label in ipairs(get_label_forms()) do self._data = labels[label] if self._data then self._info.label = label return end end end -- Then check lang-independent labels. if not self._data then -- lang_independent_data.LABELS should always exist. fetch_label_data(lang_independent_data.LABELS) if not self._data and not self._lang then -- Check family-specific labels for umbrella label. local families_with_modules = require(family_specific_module) for famcode, _ in pairs(families_with_modules) do local module = family_specific_module_prefix .. famcode local labels_and_handlers = require(module) if labels_and_handlers.LABELS then fetch_label_data(labels_and_handlers.LABELS) if self._data then self._data.module = self._data.module or module break end end end end end -- Then check lang-independent handlers. if not self._data then for _, handler in ipairs(lang_independent_data["HANDLERS"]) do for _, label in ipairs(get_label_forms()) do local data = { label = label, lang = self._lang, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } self._data, args_handled = handler.handler(data) if self._data then self._info.label = label self._data.module = self._data.module or handler.module break end end if self._data then break end end if not self._data and not self._lang then -- Check family-specific labels for umbrella handler. local families_with_modules = require(family_specific_module) for famcode, _ in pairs(families_with_modules) do local module = family_specific_module_prefix .. famcode local labels_and_handlers = require(module) if labels_and_handlers.HANDLERS then for _, handler in ipairs(labels_and_handlers.HANDLERS) do for _, label in ipairs(get_label_forms()) do local data = { label = label, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } self._data, args_handled = handler(data) if self._data then self._info.label = label self._data.module = self._data.module or module break end end if self._data then break end end end if self._data then break end end end end end if not args_handled and self._data and self._info.args and next(self._info.args) then local module_text = " (handled in [[" .. (self._data.module or "UNKNOWN").. "]])" local args_text = {} for k, v in pairs(self._info.args) do insert(args_text, k .. "=" .. ((type(v) == "string" or type(v) == "number") and v or dump(v))) end error("poscatboiler label '" .. self._info.label .. "' " .. module_text .. " doesn't accept extra args " .. concat(args_text, ", ")) end if self._sc and not self._lang then internal_error("Umbrella categories cannot have a script specified.") end end function Category:convert_spec_to_string(desc) if not desc then return desc end local desc_type = type(desc) if desc_type == "string" then return desc elseif desc_type == "number" then return tostring(desc) elseif not is_callable(desc) then internal_error("`desc` must be a string, number, function, callable table or nil; received " .. dump(desc)) end desc = desc { lang = self._lang, sc = self._sc, label = self._info.label, raw = self._info.raw, } if not desc then return desc end desc_type = type(desc) if desc_type == "string" then return desc end internal_error("The value returned by `desc` must be a string or nil; received " .. dump(desc)) end local function add_obj_args(args, obj, obj_type) if obj then args[obj_type .. "code"] = obj:getCode() args[obj_type .. "name"] = obj:getCanonicalName() args[obj_type .. "disp"] = obj:getDisplayForm() args[obj_type .. "cat"] = obj:getCategoryName() args[obj_type .. "link"] = obj:makeCategoryLink() end end -- Expands `desc` like a template, passing values for specs like {{{langname}}}. function Category:substitute_template_specs(desc) -- This may end up happening twice but that's OK as the function is (usually) idempotent. -- FIXME: Not idempotent if a preprocessed template returns wikicode. desc = self:convert_spec_to_string(desc) if not desc then return nil end -- Populate the substitution arguments. local args = {} args.umbrella_msg = "Kategori ini merupakan sebuah kategori payung. Ia tidak mengandungi sebarang entri kamus, sebaliknya hanya mengandungi kategori khusus bahasa lain, yang seterusnya mengandungi istilah yang berkaitan dalam bahasa tertentu." args.umbrella_meta_msg = "Kategori ini merupakan sebuah metakategori payung, yang meliputi bidang umum seperti \"lema\", \"nama\" atau \"perkataan mengikut etimologi\". Ia tidak mengandungi sebarang entri kamus, sebaliknya hanya mengandungi kategori payung (\"mengikut bahasa\") yang merangkumi subtopik tertentu, yang seterusnya mengandungi kategori khusus bahasa yang mengandungi istilah dalam bahasa tertentu untuk topik yang sama." add_obj_args(args, self._lang, "lang") add_obj_args(args, self._sc, "sc") return parse(desc, true):expand(args) end function Category:substitute_template_specs_in_args(args) if not args then return args end local pinfo = {} for k, v in pairs(args) do pinfo[self:substitute_template_specs(k)] = self:substitute_template_specs(v) end return pinfo end function Category:make_new(info) info.originating_label = self._info.label info.originating_module = self._data.module info.called_from_inside = true return Category.new(info) end function Category:getBreadcrumbName() local ret if self._lang or self._info.raw then ret = self._data.breadcrumb or self._data.breadcrumb_and_first_sort_key or self._data.breadcrumb_and_first_sort_base or nil else ret = self._data.umbrella and (self._data.umbrella.breadcrumb or self._data.umbrella.breadcrumb_and_first_sort_key or self._data.umbrella.breadcrumb_and_first_sort_base) or nil end if not ret then ret = self._info.label end if type(ret) ~= "table" then ret = {name = ret} end local name = self:substitute_template_specs(ret.name) local nocap = ret.nocap if self._sc then name = name .. " dalam tulisan " .. self._sc:getDisplayForm() end return name, nocap end local function expand_toc_template_if(template) local template_obj = new_title(template, 10) if template_obj.exists then return expand_template{title = template_obj.text} end return nil end -- Return the textual expansion of the first existing template among the given templates, first performing -- substitutions on the template name such as replacing {{{langcode}}} with the current language's code (if any). -- If no templates exist after expansion, or if nil is passed in, return nil. If a single string is passed in, -- treat it like a one-element list consisting of that string. function Category:get_template_text(templates) if templates == nil then return nil elseif type(templates) ~= "table" then templates = {templates} end for _, template in ipairs(templates) do if template == false then return false end template = self:substitute_template_specs(template) return expand_toc_template_if(template) end return nil end function Category:getTOC(toc_type) -- Type "none" means everything fits on a single page; in that case, display nothing. if toc_type == "none" then return nil end local templates, fallback_templates -- If TOC type is "full" (more than 2500 entries), do the following, in order: -- 1. look up and expand the `toc_template_full` templates (normal or umbrella, depending on whether there is -- a current language); -- 2. look up and expand the `toc_template` templates (normal or umbrella, as above); -- 3. do the default behavior, which is as follows: -- 3a. look up a language-specific "full" template according to the current language (using English if there -- is no current language); -- 3b. look up a script-specific "full" template according to the first script of current language (using English -- if there is no current language); -- 3c. look up a language-specific "normal" template according to the current language (using English if there -- is no current language); -- 3d. look up a script-specific "normal" template according to the first script of the current language (using -- English if there is no current language); -- 3e. display nothing. -- -- If TOC type is "normal" (between 200 and 2500 entries), do the following, in order: -- 1. look up and expand the `toc_template` templates (normal or umbrella, depending on whether there is -- a current language); -- 2. do the default behavior, which is as follows: -- 2a. look up a language-specific "normal" template according to the current language (using English if there -- is no current language); -- 2b. look up a script-specific "normal" template according to the first script of the current language (using -- English if there is no current language); -- 2c. display nothing. local data_source if self._lang or self._info.raw then data_source = self._data else data_source = self._data.umbrella end if data_source then if toc_type == "full" then templates = data_source.toc_template_full fallback_templates = data_source.toc_template else templates = data_source.toc_template end end local text = self:get_template_text(templates) if text then return text elseif text == false then return nil end text = self:get_template_text(fallback_templates) if text then return text elseif text == false then return nil end local default_toc_templates_to_check = {} local lang, sc = self:getCatfixInfo() local langcode = lang and lang:getCode() or "ms" local sccode = sc and sc:getCode() or lang and lang:getScriptCodes()[1] or "Latn" -- FIXME: What is toctemplateprefix used for? local tocname = (self._data.toctemplateprefix or "") .. "categoryTOC" if toc_type == "full" then insert(default_toc_templates_to_check, ("%s-%s/full"):format(langcode, tocname)) insert(default_toc_templates_to_check, ("%s-%s/full"):format(sccode, tocname)) end insert(default_toc_templates_to_check, ("%s-%s"):format(langcode, tocname)) insert(default_toc_templates_to_check, ("%s-%s"):format(sccode, tocname)) for _, toc_template in ipairs(default_toc_templates_to_check) do local toc_template_text = expand_toc_template_if(toc_template) if toc_template_text then return toc_template_text end end return nil end function Category:getInfo() return self._info end function Category:getDataModule() return self._data.module end function Category:canBeEmpty() if self._lang or self._info.raw then return self._data.can_be_empty end return self._data.umbrella and self._data.umbrella.can_be_empty end function Category:isHidden() if self._lang or self._info.raw then return self._data.hidden end return self._data.umbrella and self._data.umbrella.hidden end function Category:getCategoryName() if self._info.raw then return self._info.canonical_name or self._info.label elseif self._lang then local langname = self._lang:getCanonicalName() local connector = (self._data and self._data.lang_connector) or "bahasa" local ret -- Case 1: label data explicitly declares lang_position = "mid" with label_before/label_after. if self._data and self._data.lang_position == "mid" then local before = self._data.label_before or self._info.label local after = self._data.label_after or "" ret = before .. " " .. connector .. " " .. langname if after ~= "" then ret = ret .. " " .. after end -- Case 2: label was parsed from a mid-lang title; before\0after packed in self._info.label. elseif self._info.label:find("\0", 1, true) then local before, after = self._info.label:match("^(.-)%z(.*)$") ret = before .. " " .. connector .. " " .. langname if after and after ~= "" then ret = ret .. " " .. after end -- Case 3: default — label precedes "bahasa LANG" (original behaviour). else ret = self._info.label .. " " .. connector .. " " .. langname end if self._sc then ret = ret .. " dalam tulisan " .. self._sc:getDisplayForm() end return ucfirst(ret) end local ret = ucfirst(self._info.label) if not (self._data.no_by_language or self._data.umbrella and self._data.umbrella.no_by_language) then ret = ret .. " mengikut bahasa" end return ret end function Category:getTopright() if self._lang or self._info.raw then return self:substitute_template_specs(self._data.topright) end return self._data.umbrella and self:substitute_template_specs(self._data.umbrella.topright) end function Category:display_title(displaytitle, lang) if type(displaytitle) == "string" then displaytitle = self:substitute_template_specs(displaytitle) else displaytitle = displaytitle(self:getCategoryName(), lang) end mw.getCurrentFrame():callParserFunction("DISPLAYTITLE", "Kategori:" .. displaytitle) end function Category:get_labels_categorizing() local m_labels_utilities = require(labels_utilities_module) local pos_cat_labels, sense_cat_labels, use_tlb pos_cat_labels = m_labels_utilities.find_labels_for_category(self._info.label, "pos", self._lang) local sense_label = self._info.label:match("^Perkataan (.*)$") if sense_label then use_tlb = true else sense_label = self._info.label:match("^Perkataan dengan erti (.*)$") end if not sense_label then return nil end sense_cat_labels = m_labels_utilities.find_labels_for_category(sense_label, "sense", self._lang) if use_tlb then return m_labels_utilities.format_labels_categorizing(pos_cat_labels, sense_cat_labels, self._lang) end local all_labels = pos_cat_labels for k, v in pairs(sense_cat_labels) do all_labels[k] = v end return m_labels_utilities.format_labels_categorizing(all_labels, nil, self._lang) end -- FIXME: this is clunky. local function remove_lang_params(desc) -- Simply remove a language name/code/category from the beginning of the string, but replace the language name -- in the middle of the string with either "tertentu" or "specific-language" depending on whether the -- language name appears to be an attributive qualifier of another noun or to stand by itself. This may be wrong, -- in which case the category in question should supply its own umbrella description. desc = desc:gsub("^{{{langname}}} ", "") :gsub("{{{langname}}} %(", "tertentu (") :gsub("{{{langname}}}([.,])", "tertentu%1") :gsub("{{{langname}}} ", "tertentu ") :gsub("{{{langdisp}}}", "tertentu") :gsub("{{{langlink}}}", "tertentu") return desc end function Category:getDescription(isChild) -- Allows different text in the list of a category's children local isChild = isChild == "child" if self._lang or self._info.raw then if not isChild and self._data.displaytitle then self:display_title(self._data.displaytitle, self._lang) end if self._sc then return self:getCategoryName() .. "." end local desc = self:substitute_template_specs(self._data.description) if not desc then return nil elseif isChild then return desc end return sparse_concat({ self:substitute_template_specs(self._data.preceding), desc, self:substitute_template_specs(self._data.additional), self:substitute_template_specs(self:get_labels_categorizing()), }, "\n\n") end local umbrella = self._data.umbrella if not isChild and umbrella and umbrella.displaytitle then self:display_title(umbrella.displaytitle) end local desc = self:substitute_template_specs(umbrella and umbrella.description) local has_umbrella_desc = not not desc if not desc then desc = self:convert_spec_to_string(self._data.description) if desc then desc = remove_lang_params(desc) desc = lcfirst(desc) desc = desc:gsub("%.$", "") desc = "Kategori dengan " .. desc .. "." else desc = "Kategori dengan " .. self._info.label .. " dalam pelbagai bahasa tertentu." end desc = self:substitute_template_specs(desc) end if isChild then return desc end return sparse_concat({ self:substitute_template_specs(umbrella and umbrella.preceding or not has_umbrella_desc and self._data.preceding), desc, self:substitute_template_specs(umbrella and umbrella.additional or not has_umbrella_desc and self._data.additional), self:substitute_template_specs("{{{umbrella_msg}}}"), self:substitute_template_specs(self:get_labels_categorizing()), }, "\n\n") end function Category:new_sortkey(sortkey) local sortkey_type = type(sortkey) if sortkey_type == "string" then sortkey = uupper(sortkey) elseif sortkey_type == "table" then function sortkey:makeSortKey() local sort_func = self.sort_func if sort_func ~= nil then return sort_func(self.sort_base) end local lang = self.lang if lang == nil then return self.sort_base end lang = get_lang(lang, nil, true) if lang == nil then return self.sort_base end local sc = self.sc if sc ~= nil then sc = get_script(sc) end return lang:makeSortKey(self.sort_base, sc) end end return sortkey end function Category:inherit_spec(spec, parent_spec, substitute_result) if spec == false then return nil end local retval = spec or parent_spec if substitute_result then retval = self:substitute_template_specs(retval) end return retval end function Category:canonicalize_parents_children(cats, is_children, fallback_sort_key, fallback_sort_base) if not cats then return nil elseif type(cats) == "table" then if cats.name or cats.module then cats = {cats} elseif #cats == 0 then return nil end else cats = {cats} end local ret = {} for _, cat in ipairs(cats) do if type(cat) ~= "table" or not cat.name and not cat.module then cat = {name = cat} end insert(ret, cat) end local is_umbrella = not self._lang and not self._info.raw local table_type = is_children and "extra_children" or "parents" for i, cat in ipairs(ret) do local raw if self._info.raw or is_umbrella then raw = not cat.is_label else raw = cat.raw end local lang = self:inherit_spec(cat.lang, not raw and self._info.code or nil, "substitute") local sc = self:inherit_spec(cat.sc, not raw and self._info.sc or nil, "substitute") -- Get the sortkey. local sortkey = self:inherit_spec(cat.sort, i == 1 and (fallback_sort_key or fallback_sort_base and {sort_base = fallback_sort_base}) or nil) if type(sortkey) == "table" then sortkey.sort_base = self:substitute_template_specs(sortkey.sort_base) or internal_error("Missing .sort_base in '" .. table_type .. "' .sort table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") if sortkey.sort_func then -- Not allowed to give a lang and/or script if sort_func is given. local bad_spec = sortkey.lang and "lang" or sortkey.sc and "sc" or nil if bad_spec then internal_error("Cannot specify both ." .. bad_spec .. " and .sort_func in '" .. table_type .. "' .sort table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") end else sortkey.lang = self:inherit_spec(sortkey.lang, lang, "substitute") sortkey.sc = self:inherit_spec(sortkey.sc, sc, "substitute") end else sortkey = self:substitute_template_specs(sortkey) end local name if cat.module then -- A reference to a category using another category tree module. if not cat.args then internal_error("Missing .args in '" .. table_type .. "' table with module=\"" .. cat.module .. "\" for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") end name = require("Module:category tree/" .. cat.module).new(self:substitute_template_specs_in_args(cat.args)) else name = cat.name if not name then internal_error("Missing .name in " .. (is_umbrella and "umbrella " or "") .. "'" .. table_type .. "' table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") elseif type(name) == "string" then -- otherwise, assume it's a category object and use it directly name = self:substitute_template_specs(name) if name:find("^Kategori:") then -- It's a non-poscatboiler category name. sortkey = sortkey or is_children and name:gsub("^Kategori:", "") or self:getCategoryName() else -- It's a label. sortkey = sortkey or is_children and name or self._info.label name = self:make_new{ label = name, code = lang, sc = sc, raw = raw, args = self:substitute_template_specs_in_args(cat.args) } end end end sortkey = sortkey or is_children and " " or self._info.label ret[i] = { name = name, description = is_children and self:substitute_template_specs(cat.description) or nil, sort = self:new_sortkey(sortkey) } end return ret end function Category:getParents() local is_umbrella, ret = not self._lang and not self._info.raw if self._sc then local parent1 = self:make_new{code = self._info.code, label = "Perkataan dalam tulisan " .. self._sc:getCanonicalName()} local parent2 = self:make_new{code = self._info.code, label = self._info.label, raw = self._info.raw, args = self._info.args} ret = { {name = parent1, sort = self._sc:getCanonicalName()}, {name = parent2, sort = self._sc:getCanonicalName()}, } else local parents, fallback_sort_key, fallback_sort_base if is_umbrella then parents = self._data.umbrella and self._data.umbrella.parents or self._data.umbrella_parents fallback_sort_key = self._data.umbrella and self._data.umbrella.breadcrumb_and_first_sort_key or nil fallback_sort_base = self._data.umbrella and self._data.umbrella.breadcrumb_and_first_sort_base or nil else parents = self._data.parents fallback_sort_key = self._data.breadcrumb_and_first_sort_key fallback_sort_base = self._data.breadcrumb_and_first_sort_base end ret = self:canonicalize_parents_children(parents, nil, fallback_sort_key, fallback_sort_base) if not ret then return nil end end local self_cat = self:getCategoryName() for _, parent in ipairs(ret) do local parent_cat = parent.name.getCategoryName and parent.name:getCategoryName() if self_cat == parent_cat then internal_error(("Infinite loop would occur, as parent category '%s' is the same as the child category"):format(self_cat)) end end return ret end function Category:getChildren() local is_umbrella = not self._lang and not self._info.raw local children = self._data.children local ret = {} if not is_umbrella and children then for _, child in ipairs(children) do child = mw.clone(child) if type(child) ~= "table" then child = {name = child} end if not child.sort then child.sort = child.name end -- FIXME, is preserving the script correct? child.name = self:make_new{code = self._info.code, label = child.name, raw = child.raw, sc = self._info.sc} insert(ret, child) end end local extra_children if is_umbrella then extra_children = self._data.umbrella and self._data.umbrella.extra_children else extra_children = self._data.extra_children end extra_children = self:canonicalize_parents_children(extra_children, "children") if extra_children then for _, child in ipairs(extra_children) do insert(ret, child) end end return #ret > 0 and ret or nil end function Category:getUmbrella() local umbrella = self._data.umbrella if umbrella == false or self._info.raw or not self._lang or self._sc then return nil end -- If `umbrella` is a string, use that; otherwise, use the label. return self:make_new({label = type(umbrella) == "string" and umbrella or self._info.label}) end function Category:getAppendix() -- FIXME, this should be customizable. local lang, label = self._lang, self._info.label if self._info.raw or not (lang and label) then return nil end local appendix = make_title(100, label .. " bahasa " .. lang:getCanonicalName()) return appendix.exists and appendix.fullText or nil end function Category:getCatfixInfo() if self._lang or self._sc or self._info.raw then local langcode, sccode = self._data.catfix, self._data.catfix_sc local lang, sc if langcode then langcode = self:substitute_template_specs(langcode) lang = get_lang(langcode, nil, true) elseif langcode == nil then -- not false lang = self._lang end if sccode then sccode = self:substitute_template_specs(sccode) sc = get_script(sccode) elseif sccode == nil then -- not false sc = self._sc end if lang then lang = lang:getFull() end return lang, sc elseif not self._data.umbrella then return end -- umbrella local langcode, sccode = self._data.umbrella.catfix, self._data.umbrella.catfix_sc local lang, sc if langcode then langcode = self:substitute_template_specs(langcode) lang = get_lang(langcode, nil, true) end if sccode then sccode = self:substitute_template_specs(sccode) sc = get_script(sccode) end if lang then lang = lang:getFull() end return lang, sc end function Category:getTOCTemplateName() -- This should only be invoked if getTOC() returns true, meaning to do the default algorithm, but getTOC() -- implements its own default algorithm. internal_error("This should never get called") end local export = {} function export.main(info) local self = setmetatable({_info = info}, Category) self:initCommon() return self._data and self or nil end export.new = Category.new return export gxo4owc3d3mxrvau4oifgp70e2xk6b5 342779 342778 2026-05-16T08:50:04Z Hakimi97 2668 Membatalkan semakan [[Special:Diff/342778|342778]] oleh [[Special:Contributions/Hakimi97|Hakimi97]] ([[User talk:Hakimi97|bincang]]) 342779 Scribunto text/plain local lang_independent_data = require("Module:category tree/data") local lang_specific_module = "Module:category tree/lang" local lang_specific_module_prefix = lang_specific_module .. "/" local family_specific_module = "Module:category tree/fam" local family_specific_module_prefix = family_specific_module .. "/" local labels_utilities_module = "Module:labels/utilities" local template_parser_module = "Module:template parser" local concat = table.concat local dump = mw.dumpObject local expand_template = require("Module:frame").expandTemplate local insert = table.insert local is_callable = require("Module:fun").is_callable local lcfirst = require("Module:string utilities").lcfirst local list_to_set = require("Module:table").listToSet local make_title = mw.title.makeTitle local new_title = mw.title.new local parse = require(template_parser_module).parse local sparse_concat = require("Module:table").sparseConcat local tostring = tostring local type = type local ucfirst = require("Module:string utilities").ucfirst local uupper = require("Module:string utilities").upper local function internal_error(msg) error("Internal error: " .. msg) end local function get_lang(...) local _get_lang = require("Module:languages").getByCode function get_lang(...) return _get_lang(...) or require("Module:languages/errorGetBy").code(...) end return get_lang(...) end local function get_script(...) local _get_script = require("Module:scripts").getByCode function get_script(code) return _get_script(code) or require("Module:languages/error")(code, true, "script code") end return get_script(...) end -- Category object local Category = {} Category.__index = Category function Category:get_originating_info() local originating_info = "" if self._info.originating_label then originating_info = " (originating from label \"" .. self._info.originating_label .. "\" in module [[" .. self._info.originating_module .. "]])" end return originating_info end local valid_keys = list_to_set{"code", "label", "sc", "raw", "args", "also", "called_from_inside", "originating_label", "originating_module"} function Category.new(info) for key in pairs(info) do if not valid_keys[key] then internal_error("The parameter \"" .. key .. "\" was not recognized.") end end local self = setmetatable({}, Category) self._info = info if not self._info.label then internal_error("No label was specified.") end self:initCommon() if not self._data then internal_error("The " .. (self._info.raw and "raw " or "") .. "label \"" .. self._info.label .. "\" does not exist" .. self:get_originating_info() .. ".") end return self end function Category:initCommon() local function patch_args(args) -- This fixes the issue with Scribunto automatically converting keys -- in a table as numbers to strings, which in turn causes a circular -- error for having argument parameter names as numbers as strings. if type(args) ~= "table" then return args end local new_args = {} for k, v in pairs(args) do if type(k) == "string" and string.len(k) < 10 and not string.match(k, "^0") and string.match(k, "^%d+$") then new_args[tonumber(k)] = patch_args(v) else new_args[k] = patch_args(v) end end return new_args end local args_handled = false if self._info.raw then -- Check if the category exists local raw_categories = lang_independent_data["RAW_CATEGORIES"] self._data = raw_categories[self._info.label] if self._data then if self._data.lang then self._lang = get_lang(self._data.lang, nil, true) self._info.code = self._lang:getCode() end if self._data.sc then self._sc = get_script(self._data.sc) self._info.sc = self._sc:getCode() end else -- Go through raw handlers local data = { category = self._info.label, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } for _, handler in ipairs(lang_independent_data["RAW_HANDLERS"]) do self._data, args_handled = handler.handler(data) if self._data then self._data.module = self._data.module or handler.module break end end if self._data then -- Update the label if the handler specified a canonical name for it. if self._data.canonical_name then self._info.canonical_name = self._data.canonical_name end if self._data.lang then if type(self._data.lang) ~= "string" then internal_error("Received non-string value " .. dump(self._data.lang) .. " for self._data.lang, label \"" .. self._info.label .. "\"" .. self:get_originating_info() .. ".") end self._lang = get_lang(self._data.lang, nil, true) self._info.code = self._lang:getCode() end if self._data.sc then if type(self._data.sc) ~= "string" then internal_error("Received non-string value " .. dump(self._data.sc) .. " for self._data.sc, label \"" .. self._info.label .. "\"" .. self:get_originating_info() .. ".") end self._sc = get_script(self._data.sc) self._info.sc = self._sc:getCode() end end end else -- Already parsed into language + label if self._info.code then self._lang = get_lang(self._info.code, nil, true) else self._lang = nil end if self._info.sc then self._sc = get_script(self._info.sc) else self._sc = nil end self._info.orig_label = self._info.label -- If the label was packed with a \0 separator (from split_lang_label for mid-lang titles), -- reconstruct the canonical label key used in LABELS data modules. -- e.g. "Perkataan\0yang baru" → canonical key "Perkataan yang baru" if self._info.label:find("\0", 1, true) then self._info.label = self._info.label:gsub("%z", " ") end if not self._lang then -- Umbrella categories without a preceding language always begin with a capital letter, but the actual label may be -- lowercase (cf. [[:Category:Nouns by language]] with label 'nouns' with per-language [[:Category:English nouns]]; -- but [[:Category:Reddit slang by language]] with label 'Reddit slang' with per-language -- [[:Category:English Reddit slang]]). -- Malay Wiktionary category names normally use LABEL + "mengikut bahasa", -- so the visible umbrella label should normally remain uppercase-initial. -- Keep the original label in `orig_label`, canonicalize to uppercase-initial -- for lookup, and later fall back to lowercase if needed. self._info.label = ucfirst(self._info.label) end -- First, check lang-specific labels and handlers if this is not an umbrella category. if self._lang then local objects_with_modules = require(lang_specific_module) local obj, seen = self._lang, {} local object_specific_module_prefix = lang_specific_module_prefix local is_family = false repeat if objects_with_modules[obj:getCode()] then local module = object_specific_module_prefix .. obj:getCode() local labels_and_handlers = require(module) if labels_and_handlers.LABELS then self._data = labels_and_handlers.LABELS[self._info.label] if self._data then if not is_family and self._data.umbrella == nil and self._data.umbrella_parents == nil then self._data.umbrella = false end self._data.module = self._data.module or module end end if not self._data and labels_and_handlers.HANDLERS then for _, handler in ipairs(labels_and_handlers.HANDLERS) do local data = { label = self._info.label, lang = self._lang, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } self._data, args_handled = handler(data) if self._data then if not is_family and self._data.umbrella == nil and self._data.umbrella_parents == nil then self._data.umbrella = false end self._data.module = self._data.module or module break end end end if self._data then break end end seen[obj:getCode()] = true obj = obj:getFamily() if not is_family then is_family = true object_specific_module_prefix = family_specific_module_prefix objects_with_modules = require(family_specific_module) end until not obj or seen[obj:getCode()] end local function fetch_label_data(labels) for _, label in ipairs{self._info.label, self._info.orig_label, lcfirst(self._info.label)} do self._data = labels[label] if self._data then self._info.label = label return end end end -- Then check lang-independent labels. if not self._data then -- lang_independent_data.LABELS should always exist. fetch_label_data(lang_independent_data.LABELS) if not self._data and not self._lang then -- Check family-specific labels for umbrella label. local families_with_modules = require(family_specific_module) for famcode, _ in pairs(families_with_modules) do local module = family_specific_module_prefix .. famcode local labels_and_handlers = require(module) if labels_and_handlers.LABELS then fetch_label_data(labels_and_handlers.LABELS) if self._data then self._data.module = self._data.module or module break end end end end end -- Then check lang-independent handlers. if not self._data then for _, handler in ipairs(lang_independent_data["HANDLERS"]) do for _, label in ipairs{self._info.label, self._info.orig_label, lcfirst(self._info.label)} do local data = { label = label, lang = self._lang, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } self._data, args_handled = handler.handler(data) if self._data then self._info.label = label self._data.module = self._data.module or handler.module break end end if self._data then break end end if not self._data and not self._lang then -- Check family-specific labels for umbrella handler. local families_with_modules = require(family_specific_module) for famcode, _ in pairs(families_with_modules) do local module = family_specific_module_prefix .. famcode local labels_and_handlers = require(module) if labels_and_handlers.HANDLERS then for _, handler in ipairs(labels_and_handlers.HANDLERS) do for _, label in ipairs{self._info.label, self._info.orig_label, lcfirst(self._info.label)} do local data = { label = label, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } self._data, args_handled = handler(data) if self._data then self._info.label = label self._data.module = self._data.module or module break end end if self._data then break end end end if self._data then break end end end end end if not args_handled and self._data and self._info.args and next(self._info.args) then local module_text = " (handled in [[" .. (self._data.module or "UNKNOWN").. "]])" local args_text = {} for k, v in pairs(self._info.args) do insert(args_text, k .. "=" .. ((type(v) == "string" or type(v) == "number") and v or dump(v))) end error("poscatboiler label '" .. self._info.label .. "' " .. module_text .. " doesn't accept extra args " .. concat(args_text, ", ")) end if self._sc and not self._lang then internal_error("Umbrella categories cannot have a script specified.") end end function Category:convert_spec_to_string(desc) if not desc then return desc end local desc_type = type(desc) if desc_type == "string" then return desc elseif desc_type == "number" then return tostring(desc) elseif not is_callable(desc) then internal_error("`desc` must be a string, number, function, callable table or nil; received " .. dump(desc)) end desc = desc { lang = self._lang, sc = self._sc, label = self._info.label, raw = self._info.raw, } if not desc then return desc end desc_type = type(desc) if desc_type == "string" then return desc end internal_error("The value returned by `desc` must be a string or nil; received " .. dump(desc)) end local function add_obj_args(args, obj, obj_type) if obj then args[obj_type .. "code"] = obj:getCode() args[obj_type .. "name"] = obj:getCanonicalName() args[obj_type .. "disp"] = obj:getDisplayForm() args[obj_type .. "cat"] = obj:getCategoryName() args[obj_type .. "link"] = obj:makeCategoryLink() end end -- Expands `desc` like a template, passing values for specs like {{{langname}}}. function Category:substitute_template_specs(desc) -- This may end up happening twice but that's OK as the function is (usually) idempotent. -- FIXME: Not idempotent if a preprocessed template returns wikicode. desc = self:convert_spec_to_string(desc) if not desc then return nil end -- Populate the substitution arguments. local args = {} args.umbrella_msg = "Kategori ini merupakan sebuah kategori payung. Ia tidak mengandungi sebarang entri kamus, sebaliknya hanya mengandungi kategori khusus bahasa lain, yang seterusnya mengandungi istilah yang berkaitan dalam bahasa tertentu." args.umbrella_meta_msg = "Kategori ini merupakan sebuah metakategori payung, yang meliputi bidang umum seperti \"lema\", \"nama\" atau \"perkataan mengikut etimologi\". Ia tidak mengandungi sebarang entri kamus, sebaliknya hanya mengandungi kategori payung (\"mengikut bahasa\") yang merangkumi subtopik tertentu, yang seterusnya mengandungi kategori khusus bahasa yang mengandungi istilah dalam bahasa tertentu untuk topik yang sama." add_obj_args(args, self._lang, "lang") add_obj_args(args, self._sc, "sc") return parse(desc, true):expand(args) end function Category:substitute_template_specs_in_args(args) if not args then return args end local pinfo = {} for k, v in pairs(args) do pinfo[self:substitute_template_specs(k)] = self:substitute_template_specs(v) end return pinfo end function Category:make_new(info) info.originating_label = self._info.label info.originating_module = self._data.module info.called_from_inside = true return Category.new(info) end function Category:getBreadcrumbName() local ret if self._lang or self._info.raw then ret = self._data.breadcrumb or self._data.breadcrumb_and_first_sort_key or self._data.breadcrumb_and_first_sort_base or nil else ret = self._data.umbrella and (self._data.umbrella.breadcrumb or self._data.umbrella.breadcrumb_and_first_sort_key or self._data.umbrella.breadcrumb_and_first_sort_base) or nil end if not ret then ret = self._info.label end if type(ret) ~= "table" then ret = {name = ret} end local name = self:substitute_template_specs(ret.name) local nocap = ret.nocap if self._sc then name = name .. " dalam tulisan " .. self._sc:getDisplayForm() end return name, nocap end local function expand_toc_template_if(template) local template_obj = new_title(template, 10) if template_obj.exists then return expand_template{title = template_obj.text} end return nil end -- Return the textual expansion of the first existing template among the given templates, first performing -- substitutions on the template name such as replacing {{{langcode}}} with the current language's code (if any). -- If no templates exist after expansion, or if nil is passed in, return nil. If a single string is passed in, -- treat it like a one-element list consisting of that string. function Category:get_template_text(templates) if templates == nil then return nil elseif type(templates) ~= "table" then templates = {templates} end for _, template in ipairs(templates) do if template == false then return false end template = self:substitute_template_specs(template) return expand_toc_template_if(template) end return nil end function Category:getTOC(toc_type) -- Type "none" means everything fits on a single page; in that case, display nothing. if toc_type == "none" then return nil end local templates, fallback_templates -- If TOC type is "full" (more than 2500 entries), do the following, in order: -- 1. look up and expand the `toc_template_full` templates (normal or umbrella, depending on whether there is -- a current language); -- 2. look up and expand the `toc_template` templates (normal or umbrella, as above); -- 3. do the default behavior, which is as follows: -- 3a. look up a language-specific "full" template according to the current language (using English if there -- is no current language); -- 3b. look up a script-specific "full" template according to the first script of current language (using English -- if there is no current language); -- 3c. look up a language-specific "normal" template according to the current language (using English if there -- is no current language); -- 3d. look up a script-specific "normal" template according to the first script of the current language (using -- English if there is no current language); -- 3e. display nothing. -- -- If TOC type is "normal" (between 200 and 2500 entries), do the following, in order: -- 1. look up and expand the `toc_template` templates (normal or umbrella, depending on whether there is -- a current language); -- 2. do the default behavior, which is as follows: -- 2a. look up a language-specific "normal" template according to the current language (using English if there -- is no current language); -- 2b. look up a script-specific "normal" template according to the first script of the current language (using -- English if there is no current language); -- 2c. display nothing. local data_source if self._lang or self._info.raw then data_source = self._data else data_source = self._data.umbrella end if data_source then if toc_type == "full" then templates = data_source.toc_template_full fallback_templates = data_source.toc_template else templates = data_source.toc_template end end local text = self:get_template_text(templates) if text then return text elseif text == false then return nil end text = self:get_template_text(fallback_templates) if text then return text elseif text == false then return nil end local default_toc_templates_to_check = {} local lang, sc = self:getCatfixInfo() local langcode = lang and lang:getCode() or "ms" local sccode = sc and sc:getCode() or lang and lang:getScriptCodes()[1] or "Latn" -- FIXME: What is toctemplateprefix used for? local tocname = (self._data.toctemplateprefix or "") .. "categoryTOC" if toc_type == "full" then insert(default_toc_templates_to_check, ("%s-%s/full"):format(langcode, tocname)) insert(default_toc_templates_to_check, ("%s-%s/full"):format(sccode, tocname)) end insert(default_toc_templates_to_check, ("%s-%s"):format(langcode, tocname)) insert(default_toc_templates_to_check, ("%s-%s"):format(sccode, tocname)) for _, toc_template in ipairs(default_toc_templates_to_check) do local toc_template_text = expand_toc_template_if(toc_template) if toc_template_text then return toc_template_text end end return nil end function Category:getInfo() return self._info end function Category:getDataModule() return self._data.module end function Category:canBeEmpty() if self._lang or self._info.raw then return self._data.can_be_empty end return self._data.umbrella and self._data.umbrella.can_be_empty end function Category:isHidden() if self._lang or self._info.raw then return self._data.hidden end return self._data.umbrella and self._data.umbrella.hidden end function Category:getCategoryName() if self._info.raw then return self._info.canonical_name or self._info.label elseif self._lang then local langname = self._lang:getCanonicalName() local connector = (self._data and self._data.lang_connector) or "bahasa" local ret -- Case 1: label data explicitly declares lang_position = "mid" with label_before/label_after. if self._data and self._data.lang_position == "mid" then local before = self._data.label_before or self._info.label local after = self._data.label_after or "" ret = before .. " " .. connector .. " " .. langname if after ~= "" then ret = ret .. " " .. after end -- Case 2: label was parsed from a mid-lang title; before\0after packed in self._info.label. elseif self._info.label:find("\0", 1, true) then local before, after = self._info.label:match("^(.-)%z(.*)$") ret = before .. " " .. connector .. " " .. langname if after and after ~= "" then ret = ret .. " " .. after end -- Case 3: default — label precedes "bahasa LANG" (original behaviour). else ret = self._info.label .. " " .. connector .. " " .. langname end if self._sc then ret = ret .. " dalam tulisan " .. self._sc:getDisplayForm() end return ucfirst(ret) end local ret = ucfirst(self._info.label) if not (self._data.no_by_language or self._data.umbrella and self._data.umbrella.no_by_language) then ret = ret .. " mengikut bahasa" end return ret end function Category:getTopright() if self._lang or self._info.raw then return self:substitute_template_specs(self._data.topright) end return self._data.umbrella and self:substitute_template_specs(self._data.umbrella.topright) end function Category:display_title(displaytitle, lang) if type(displaytitle) == "string" then displaytitle = self:substitute_template_specs(displaytitle) else displaytitle = displaytitle(self:getCategoryName(), lang) end mw.getCurrentFrame():callParserFunction("DISPLAYTITLE", "Kategori:" .. displaytitle) end function Category:get_labels_categorizing() local m_labels_utilities = require(labels_utilities_module) local pos_cat_labels, sense_cat_labels, use_tlb pos_cat_labels = m_labels_utilities.find_labels_for_category(self._info.label, "pos", self._lang) local sense_label = self._info.label:match("^Perkataan (.*)$") if sense_label then use_tlb = true else sense_label = self._info.label:match("^Perkataan dengan erti (.*)$") end if not sense_label then return nil end sense_cat_labels = m_labels_utilities.find_labels_for_category(sense_label, "sense", self._lang) if use_tlb then return m_labels_utilities.format_labels_categorizing(pos_cat_labels, sense_cat_labels, self._lang) end local all_labels = pos_cat_labels for k, v in pairs(sense_cat_labels) do all_labels[k] = v end return m_labels_utilities.format_labels_categorizing(all_labels, nil, self._lang) end -- FIXME: this is clunky. local function remove_lang_params(desc) -- Simply remove a language name/code/category from the beginning of the string, but replace the language name -- in the middle of the string with either "tertentu" or "specific-language" depending on whether the -- language name appears to be an attributive qualifier of another noun or to stand by itself. This may be wrong, -- in which case the category in question should supply its own umbrella description. desc = desc:gsub("^{{{langname}}} ", "") :gsub("{{{langname}}} %(", "tertentu (") :gsub("{{{langname}}}([.,])", "tertentu%1") :gsub("{{{langname}}} ", "tertentu ") :gsub("{{{langdisp}}}", "tertentu") :gsub("{{{langlink}}}", "tertentu") return desc end function Category:getDescription(isChild) -- Allows different text in the list of a category's children local isChild = isChild == "child" if self._lang or self._info.raw then if not isChild and self._data.displaytitle then self:display_title(self._data.displaytitle, self._lang) end if self._sc then return self:getCategoryName() .. "." end local desc = self:substitute_template_specs(self._data.description) if not desc then return nil elseif isChild then return desc end return sparse_concat({ self:substitute_template_specs(self._data.preceding), desc, self:substitute_template_specs(self._data.additional), self:substitute_template_specs(self:get_labels_categorizing()), }, "\n\n") end local umbrella = self._data.umbrella if not isChild and umbrella and umbrella.displaytitle then self:display_title(umbrella.displaytitle) end local desc = self:substitute_template_specs(umbrella and umbrella.description) local has_umbrella_desc = not not desc if not desc then desc = self:convert_spec_to_string(self._data.description) if desc then desc = remove_lang_params(desc) desc = lcfirst(desc) desc = desc:gsub("%.$", "") desc = "Kategori dengan " .. desc .. "." else desc = "Kategori dengan " .. self._info.label .. " dalam pelbagai bahasa tertentu." end desc = self:substitute_template_specs(desc) end if isChild then return desc end return sparse_concat({ self:substitute_template_specs(umbrella and umbrella.preceding or not has_umbrella_desc and self._data.preceding), desc, self:substitute_template_specs(umbrella and umbrella.additional or not has_umbrella_desc and self._data.additional), self:substitute_template_specs("{{{umbrella_msg}}}"), self:substitute_template_specs(self:get_labels_categorizing()), }, "\n\n") end function Category:new_sortkey(sortkey) local sortkey_type = type(sortkey) if sortkey_type == "string" then sortkey = uupper(sortkey) elseif sortkey_type == "table" then function sortkey:makeSortKey() local sort_func = self.sort_func if sort_func ~= nil then return sort_func(self.sort_base) end local lang = self.lang if lang == nil then return self.sort_base end lang = get_lang(lang, nil, true) if lang == nil then return self.sort_base end local sc = self.sc if sc ~= nil then sc = get_script(sc) end return lang:makeSortKey(self.sort_base, sc) end end return sortkey end function Category:inherit_spec(spec, parent_spec, substitute_result) if spec == false then return nil end local retval = spec or parent_spec if substitute_result then retval = self:substitute_template_specs(retval) end return retval end function Category:canonicalize_parents_children(cats, is_children, fallback_sort_key, fallback_sort_base) if not cats then return nil elseif type(cats) == "table" then if cats.name or cats.module then cats = {cats} elseif #cats == 0 then return nil end else cats = {cats} end local ret = {} for _, cat in ipairs(cats) do if type(cat) ~= "table" or not cat.name and not cat.module then cat = {name = cat} end insert(ret, cat) end local is_umbrella = not self._lang and not self._info.raw local table_type = is_children and "extra_children" or "parents" for i, cat in ipairs(ret) do local raw if self._info.raw or is_umbrella then raw = not cat.is_label else raw = cat.raw end local lang = self:inherit_spec(cat.lang, not raw and self._info.code or nil, "substitute") local sc = self:inherit_spec(cat.sc, not raw and self._info.sc or nil, "substitute") -- Get the sortkey. local sortkey = self:inherit_spec(cat.sort, i == 1 and (fallback_sort_key or fallback_sort_base and {sort_base = fallback_sort_base}) or nil) if type(sortkey) == "table" then sortkey.sort_base = self:substitute_template_specs(sortkey.sort_base) or internal_error("Missing .sort_base in '" .. table_type .. "' .sort table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") if sortkey.sort_func then -- Not allowed to give a lang and/or script if sort_func is given. local bad_spec = sortkey.lang and "lang" or sortkey.sc and "sc" or nil if bad_spec then internal_error("Cannot specify both ." .. bad_spec .. " and .sort_func in '" .. table_type .. "' .sort table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") end else sortkey.lang = self:inherit_spec(sortkey.lang, lang, "substitute") sortkey.sc = self:inherit_spec(sortkey.sc, sc, "substitute") end else sortkey = self:substitute_template_specs(sortkey) end local name if cat.module then -- A reference to a category using another category tree module. if not cat.args then internal_error("Missing .args in '" .. table_type .. "' table with module=\"" .. cat.module .. "\" for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") end name = require("Module:category tree/" .. cat.module).new(self:substitute_template_specs_in_args(cat.args)) else name = cat.name if not name then internal_error("Missing .name in " .. (is_umbrella and "umbrella " or "") .. "'" .. table_type .. "' table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") elseif type(name) == "string" then -- otherwise, assume it's a category object and use it directly name = self:substitute_template_specs(name) if name:find("^Kategori:") then -- It's a non-poscatboiler category name. sortkey = sortkey or is_children and name:gsub("^Kategori:", "") or self:getCategoryName() else -- It's a label. sortkey = sortkey or is_children and name or self._info.label name = self:make_new{ label = name, code = lang, sc = sc, raw = raw, args = self:substitute_template_specs_in_args(cat.args) } end end end sortkey = sortkey or is_children and " " or self._info.label ret[i] = { name = name, description = is_children and self:substitute_template_specs(cat.description) or nil, sort = self:new_sortkey(sortkey) } end return ret end function Category:getParents() local is_umbrella, ret = not self._lang and not self._info.raw if self._sc then local parent1 = self:make_new{code = self._info.code, label = "Perkataan dalam tulisan " .. self._sc:getCanonicalName()} local parent2 = self:make_new{code = self._info.code, label = self._info.label, raw = self._info.raw, args = self._info.args} ret = { {name = parent1, sort = self._sc:getCanonicalName()}, {name = parent2, sort = self._sc:getCanonicalName()}, } else local parents, fallback_sort_key, fallback_sort_base if is_umbrella then parents = self._data.umbrella and self._data.umbrella.parents or self._data.umbrella_parents fallback_sort_key = self._data.umbrella and self._data.umbrella.breadcrumb_and_first_sort_key or nil fallback_sort_base = self._data.umbrella and self._data.umbrella.breadcrumb_and_first_sort_base or nil else parents = self._data.parents fallback_sort_key = self._data.breadcrumb_and_first_sort_key fallback_sort_base = self._data.breadcrumb_and_first_sort_base end ret = self:canonicalize_parents_children(parents, nil, fallback_sort_key, fallback_sort_base) if not ret then return nil end end local self_cat = self:getCategoryName() for _, parent in ipairs(ret) do local parent_cat = parent.name.getCategoryName and parent.name:getCategoryName() if self_cat == parent_cat then internal_error(("Infinite loop would occur, as parent category '%s' is the same as the child category"):format(self_cat)) end end return ret end function Category:getChildren() local is_umbrella = not self._lang and not self._info.raw local children = self._data.children local ret = {} if not is_umbrella and children then for _, child in ipairs(children) do child = mw.clone(child) if type(child) ~= "table" then child = {name = child} end if not child.sort then child.sort = child.name end -- FIXME, is preserving the script correct? child.name = self:make_new{code = self._info.code, label = child.name, raw = child.raw, sc = self._info.sc} insert(ret, child) end end local extra_children if is_umbrella then extra_children = self._data.umbrella and self._data.umbrella.extra_children else extra_children = self._data.extra_children end extra_children = self:canonicalize_parents_children(extra_children, "children") if extra_children then for _, child in ipairs(extra_children) do insert(ret, child) end end return #ret > 0 and ret or nil end function Category:getUmbrella() local umbrella = self._data.umbrella if umbrella == false or self._info.raw or not self._lang or self._sc then return nil end -- If `umbrella` is a string, use that; otherwise, use the label. return self:make_new({label = type(umbrella) == "string" and umbrella or self._info.label}) end function Category:getAppendix() -- FIXME, this should be customizable. local lang, label = self._lang, self._info.label if self._info.raw or not (lang and label) then return nil end local appendix = make_title(100, label .. " bahasa " .. lang:getCanonicalName()) return appendix.exists and appendix.fullText or nil end function Category:getCatfixInfo() if self._lang or self._sc or self._info.raw then local langcode, sccode = self._data.catfix, self._data.catfix_sc local lang, sc if langcode then langcode = self:substitute_template_specs(langcode) lang = get_lang(langcode, nil, true) elseif langcode == nil then -- not false lang = self._lang end if sccode then sccode = self:substitute_template_specs(sccode) sc = get_script(sccode) elseif sccode == nil then -- not false sc = self._sc end if lang then lang = lang:getFull() end return lang, sc elseif not self._data.umbrella then return end -- umbrella local langcode, sccode = self._data.umbrella.catfix, self._data.umbrella.catfix_sc local lang, sc if langcode then langcode = self:substitute_template_specs(langcode) lang = get_lang(langcode, nil, true) end if sccode then sccode = self:substitute_template_specs(sccode) sc = get_script(sccode) end if lang then lang = lang:getFull() end return lang, sc end function Category:getTOCTemplateName() -- This should only be invoked if getTOC() returns true, meaning to do the default algorithm, but getTOC() -- implements its own default algorithm. internal_error("This should never get called") end local export = {} function export.main(info) local self = setmetatable({_info = info}, Category) self:initCommon() return self._data and self or nil end export.new = Category.new return export 1304c39qhl58h9gfl9s3ibhnw6y894b 342780 342779 2026-05-16T08:50:59Z Hakimi97 2668 342780 Scribunto text/plain local lang_independent_data = require("Module:category tree/data") local lang_specific_module = "Module:category tree/lang" local lang_specific_module_prefix = lang_specific_module .. "/" local family_specific_module = "Module:category tree/fam" local family_specific_module_prefix = family_specific_module .. "/" local labels_utilities_module = "Module:labels/utilities" local template_parser_module = "Module:template parser" local concat = table.concat local dump = mw.dumpObject local expand_template = require("Module:frame").expandTemplate local insert = table.insert local is_callable = require("Module:fun").is_callable local lcfirst = require("Module:string utilities").lcfirst local list_to_set = require("Module:table").listToSet local make_title = mw.title.makeTitle local new_title = mw.title.new local parse = require(template_parser_module).parse local sparse_concat = require("Module:table").sparseConcat local tostring = tostring local type = type local ucfirst = require("Module:string utilities").ucfirst local uupper = require("Module:string utilities").upper local function internal_error(msg) error("Internal error: " .. msg) end local function get_lang(...) local _get_lang = require("Module:languages").getByCode function get_lang(...) return _get_lang(...) or require("Module:languages/errorGetBy").code(...) end return get_lang(...) end local function get_script(...) local _get_script = require("Module:scripts").getByCode function get_script(code) return _get_script(code) or require("Module:languages/error")(code, true, "script code") end return get_script(...) end -- Category object local Category = {} Category.__index = Category function Category:get_originating_info() local originating_info = "" if self._info.originating_label then originating_info = " (originating from label \"" .. self._info.originating_label .. "\" in module [[" .. self._info.originating_module .. "]])" end return originating_info end local valid_keys = list_to_set{"code", "label", "sc", "raw", "args", "also", "called_from_inside", "originating_label", "originating_module"} function Category.new(info) for key in pairs(info) do if not valid_keys[key] then internal_error("The parameter \"" .. key .. "\" was not recognized.") end end local self = setmetatable({}, Category) self._info = info if not self._info.label then internal_error("No label was specified.") end self:initCommon() if not self._data then internal_error("The " .. (self._info.raw and "raw " or "") .. "label \"" .. self._info.label .. "\" does not exist" .. self:get_originating_info() .. ".") end return self end function Category:initCommon() local function patch_args(args) -- This fixes the issue with Scribunto automatically converting keys -- in a table as numbers to strings, which in turn causes a circular -- error for having argument parameter names as numbers as strings. if type(args) ~= "table" then return args end local new_args = {} for k, v in pairs(args) do if type(k) == "string" and string.len(k) < 10 and not string.match(k, "^0") and string.match(k, "^%d+$") then new_args[tonumber(k)] = patch_args(v) else new_args[k] = patch_args(v) end end return new_args end local args_handled = false if self._info.raw then -- Check if the category exists local raw_categories = lang_independent_data["RAW_CATEGORIES"] self._data = raw_categories[self._info.label] if self._data then if self._data.lang then self._lang = get_lang(self._data.lang, nil, true) self._info.code = self._lang:getCode() end if self._data.sc then self._sc = get_script(self._data.sc) self._info.sc = self._sc:getCode() end else -- Go through raw handlers local data = { category = self._info.label, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } for _, handler in ipairs(lang_independent_data["RAW_HANDLERS"]) do self._data, args_handled = handler.handler(data) if self._data then self._data.module = self._data.module or handler.module break end end if self._data then -- Update the label if the handler specified a canonical name for it. if self._data.canonical_name then self._info.canonical_name = self._data.canonical_name end if self._data.lang then if type(self._data.lang) ~= "string" then internal_error("Received non-string value " .. dump(self._data.lang) .. " for self._data.lang, label \"" .. self._info.label .. "\"" .. self:get_originating_info() .. ".") end self._lang = get_lang(self._data.lang, nil, true) self._info.code = self._lang:getCode() end if self._data.sc then if type(self._data.sc) ~= "string" then internal_error("Received non-string value " .. dump(self._data.sc) .. " for self._data.sc, label \"" .. self._info.label .. "\"" .. self:get_originating_info() .. ".") end self._sc = get_script(self._data.sc) self._info.sc = self._sc:getCode() end end end else -- Already parsed into language + label if self._info.code then self._lang = get_lang(self._info.code, nil, true) else self._lang = nil end if self._info.sc then self._sc = get_script(self._info.sc) else self._sc = nil end self._info.orig_label = self._info.label -- If the label was packed with a \0 separator (from split_lang_label for mid-lang titles), -- reconstruct the canonical label key used in LABELS data modules. -- e.g. "Perkataan\0yang baru" → canonical key "Perkataan yang baru" if self._info.label:find("\0", 1, true) then self._info.label = self._info.label:gsub("%z", " ") end if not self._lang then -- Umbrella categories without a preceding language always begin with a capital letter, but the actual label may be -- lowercase (cf. [[:Category:Nouns by language]] with label 'nouns' with per-language [[:Category:English nouns]]; -- but [[:Category:Reddit slang by language]] with label 'Reddit slang' with per-language -- [[:Category:English Reddit slang]]). Since the label is almost always lowercase, we lowercase it for umbrella -- categories, storing the original into `orig_label`, and correct it later if needed. self._info.label = lcfirst(self._info.label) end -- First, check lang-specific labels and handlers if this is not an umbrella category. if self._lang then local objects_with_modules = require(lang_specific_module) local obj, seen = self._lang, {} local object_specific_module_prefix = lang_specific_module_prefix local is_family = false repeat if objects_with_modules[obj:getCode()] then local module = object_specific_module_prefix .. obj:getCode() local labels_and_handlers = require(module) if labels_and_handlers.LABELS then self._data = labels_and_handlers.LABELS[self._info.label] if self._data then if not is_family and self._data.umbrella == nil and self._data.umbrella_parents == nil then self._data.umbrella = false end self._data.module = self._data.module or module end end if not self._data and labels_and_handlers.HANDLERS then for _, handler in ipairs(labels_and_handlers.HANDLERS) do local data = { label = self._info.label, lang = self._lang, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } self._data, args_handled = handler(data) if self._data then if not is_family and self._data.umbrella == nil and self._data.umbrella_parents == nil then self._data.umbrella = false end self._data.module = self._data.module or module break end end end if self._data then break end end seen[obj:getCode()] = true obj = obj:getFamily() if not is_family then is_family = true object_specific_module_prefix = family_specific_module_prefix objects_with_modules = require(family_specific_module) end until not obj or seen[obj:getCode()] end local function fetch_label_data(labels) self._data = labels[self._info.label] -- See comment above about uppercase- vs. lowercase-initial labels, which are indistinguishable -- in umbrella categories. if not self._data then self._data = labels[self._info.orig_label] if self._data then self._info.label = self._info.orig_label end end end -- Then check lang-independent labels. if not self._data then -- lang_independent_data.LABELS should always exist. fetch_label_data(lang_independent_data.LABELS) if not self._data and not self._lang then -- Check family-specific labels for umbrella label. local families_with_modules = require(family_specific_module) for famcode, _ in pairs(families_with_modules) do local module = family_specific_module_prefix .. famcode local labels_and_handlers = require(module) if labels_and_handlers.LABELS then fetch_label_data(labels_and_handlers.LABELS) if self._data then self._data.module = self._data.module or module break end end end end end -- Then check lang-independent handlers. if not self._data then local data = { label = self._info.label, lang = self._lang, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } for _, handler in ipairs(lang_independent_data["HANDLERS"]) do self._data, args_handled = handler.handler(data) if self._data then self._data.module = self._data.module or handler.module break end end if not self._data and not self._lang then -- Check family-specific labels for umbrella handler. local families_with_modules = require(family_specific_module) for famcode, _ in pairs(families_with_modules) do local module = family_specific_module_prefix .. famcode local labels_and_handlers = require(module) if labels_and_handlers.HANDLERS then for _, handler in ipairs(labels_and_handlers.HANDLERS) do local data = { label = self._info.label, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } self._data, args_handled = handler(data) if self._data then self._data.module = self._data.module or module break end end end if self._data then break end end end end end if not args_handled and self._data and self._info.args and next(self._info.args) then local module_text = " (handled in [[" .. (self._data.module or "UNKNOWN").. "]])" local args_text = {} for k, v in pairs(self._info.args) do insert(args_text, k .. "=" .. ((type(v) == "string" or type(v) == "number") and v or dump(v))) end error("poscatboiler label '" .. self._info.label .. "' " .. module_text .. " doesn't accept extra args " .. concat(args_text, ", ")) end if self._sc and not self._lang then internal_error("Umbrella categories cannot have a script specified.") end end function Category:convert_spec_to_string(desc) if not desc then return desc end local desc_type = type(desc) if desc_type == "string" then return desc elseif desc_type == "number" then return tostring(desc) elseif not is_callable(desc) then internal_error("`desc` must be a string, number, function, callable table or nil; received " .. dump(desc)) end desc = desc { lang = self._lang, sc = self._sc, label = self._info.label, raw = self._info.raw, } if not desc then return desc end desc_type = type(desc) if desc_type == "string" then return desc end internal_error("The value returned by `desc` must be a string or nil; received " .. dump(desc)) end local function add_obj_args(args, obj, obj_type) if obj then args[obj_type .. "code"] = obj:getCode() args[obj_type .. "name"] = obj:getCanonicalName() args[obj_type .. "disp"] = obj:getDisplayForm() args[obj_type .. "cat"] = obj:getCategoryName() args[obj_type .. "link"] = obj:makeCategoryLink() end end -- Expands `desc` like a template, passing values for specs like {{{langname}}}. function Category:substitute_template_specs(desc) -- This may end up happening twice but that's OK as the function is (usually) idempotent. -- FIXME: Not idempotent if a preprocessed template returns wikicode. desc = self:convert_spec_to_string(desc) if not desc then return nil end -- Populate the substitution arguments. local args = {} args.umbrella_msg = "Kategori ini merupakan sebuah kategori payung. Ia tidak mengandungi sebarang entri kamus, sebaliknya hanya mengandungi kategori khusus bahasa lain, yang seterusnya mengandungi istilah yang berkaitan dalam bahasa tertentu." args.umbrella_meta_msg = "Kategori ini merupakan sebuah metakategori payung, yang meliputi bidang umum seperti \"lema\", \"nama\" atau \"perkataan mengikut etimologi\". Ia tidak mengandungi sebarang entri kamus, sebaliknya hanya mengandungi kategori payung (\"mengikut bahasa\") yang merangkumi subtopik tertentu, yang seterusnya mengandungi kategori khusus bahasa yang mengandungi istilah dalam bahasa tertentu untuk topik yang sama." add_obj_args(args, self._lang, "lang") add_obj_args(args, self._sc, "sc") return parse(desc, true):expand(args) end function Category:substitute_template_specs_in_args(args) if not args then return args end local pinfo = {} for k, v in pairs(args) do pinfo[self:substitute_template_specs(k)] = self:substitute_template_specs(v) end return pinfo end function Category:make_new(info) info.originating_label = self._info.label info.originating_module = self._data.module info.called_from_inside = true return Category.new(info) end function Category:getBreadcrumbName() local ret if self._lang or self._info.raw then ret = self._data.breadcrumb or self._data.breadcrumb_and_first_sort_key or self._data.breadcrumb_and_first_sort_base or nil else ret = self._data.umbrella and (self._data.umbrella.breadcrumb or self._data.umbrella.breadcrumb_and_first_sort_key or self._data.umbrella.breadcrumb_and_first_sort_base) or nil end if not ret then ret = self._info.label end if type(ret) ~= "table" then ret = {name = ret} end local name = self:substitute_template_specs(ret.name) local nocap = ret.nocap if self._sc then name = name .. " dalam tulisan " .. self._sc:getDisplayForm() end return name, nocap end local function expand_toc_template_if(template) local template_obj = new_title(template, 10) if template_obj.exists then return expand_template{title = template_obj.text} end return nil end -- Return the textual expansion of the first existing template among the given templates, first performing -- substitutions on the template name such as replacing {{{langcode}}} with the current language's code (if any). -- If no templates exist after expansion, or if nil is passed in, return nil. If a single string is passed in, -- treat it like a one-element list consisting of that string. function Category:get_template_text(templates) if templates == nil then return nil elseif type(templates) ~= "table" then templates = {templates} end for _, template in ipairs(templates) do if template == false then return false end template = self:substitute_template_specs(template) return expand_toc_template_if(template) end return nil end function Category:getTOC(toc_type) -- Type "none" means everything fits on a single page; in that case, display nothing. if toc_type == "none" then return nil end local templates, fallback_templates -- If TOC type is "full" (more than 2500 entries), do the following, in order: -- 1. look up and expand the `toc_template_full` templates (normal or umbrella, depending on whether there is -- a current language); -- 2. look up and expand the `toc_template` templates (normal or umbrella, as above); -- 3. do the default behavior, which is as follows: -- 3a. look up a language-specific "full" template according to the current language (using English if there -- is no current language); -- 3b. look up a script-specific "full" template according to the first script of current language (using English -- if there is no current language); -- 3c. look up a language-specific "normal" template according to the current language (using English if there -- is no current language); -- 3d. look up a script-specific "normal" template according to the first script of the current language (using -- English if there is no current language); -- 3e. display nothing. -- -- If TOC type is "normal" (between 200 and 2500 entries), do the following, in order: -- 1. look up and expand the `toc_template` templates (normal or umbrella, depending on whether there is -- a current language); -- 2. do the default behavior, which is as follows: -- 2a. look up a language-specific "normal" template according to the current language (using English if there -- is no current language); -- 2b. look up a script-specific "normal" template according to the first script of the current language (using -- English if there is no current language); -- 2c. display nothing. local data_source if self._lang or self._info.raw then data_source = self._data else data_source = self._data.umbrella end if data_source then if toc_type == "full" then templates = data_source.toc_template_full fallback_templates = data_source.toc_template else templates = data_source.toc_template end end local text = self:get_template_text(templates) if text then return text elseif text == false then return nil end text = self:get_template_text(fallback_templates) if text then return text elseif text == false then return nil end local default_toc_templates_to_check = {} local lang, sc = self:getCatfixInfo() local langcode = lang and lang:getCode() or "ms" local sccode = sc and sc:getCode() or lang and lang:getScriptCodes()[1] or "Latn" -- FIXME: What is toctemplateprefix used for? local tocname = (self._data.toctemplateprefix or "") .. "categoryTOC" if toc_type == "full" then insert(default_toc_templates_to_check, ("%s-%s/full"):format(langcode, tocname)) insert(default_toc_templates_to_check, ("%s-%s/full"):format(sccode, tocname)) end insert(default_toc_templates_to_check, ("%s-%s"):format(langcode, tocname)) insert(default_toc_templates_to_check, ("%s-%s"):format(sccode, tocname)) for _, toc_template in ipairs(default_toc_templates_to_check) do local toc_template_text = expand_toc_template_if(toc_template) if toc_template_text then return toc_template_text end end return nil end function Category:getInfo() return self._info end function Category:getDataModule() return self._data.module end function Category:canBeEmpty() if self._lang or self._info.raw then return self._data.can_be_empty end return self._data.umbrella and self._data.umbrella.can_be_empty end function Category:isHidden() if self._lang or self._info.raw then return self._data.hidden end return self._data.umbrella and self._data.umbrella.hidden end function Category:getCategoryName() if self._info.raw then return self._info.canonical_name or self._info.label elseif self._lang then local langname = self._lang:getCanonicalName() local connector = (self._data and self._data.lang_connector) or "bahasa" local ret -- Case 1: label data explicitly declares lang_position = "mid" with label_before/label_after. if self._data and self._data.lang_position == "mid" then local before = self._data.label_before or self._info.label local after = self._data.label_after or "" ret = before .. " " .. connector .. " " .. langname if after ~= "" then ret = ret .. " " .. after end -- Case 2: label was parsed from a mid-lang title; before\0after packed in self._info.label. elseif self._info.label:find("\0", 1, true) then local before, after = self._info.label:match("^(.-)%z(.*)$") ret = before .. " " .. connector .. " " .. langname if after and after ~= "" then ret = ret .. " " .. after end -- Case 3: default — label precedes "bahasa LANG" (original behaviour). else ret = self._info.label .. " " .. connector .. " " .. langname end if self._sc then ret = ret .. " dalam tulisan " .. self._sc:getDisplayForm() end return ucfirst(ret) end local ret = ucfirst(self._info.label) if not (self._data.no_by_language or self._data.umbrella and self._data.umbrella.no_by_language) then ret = ret .. " mengikut bahasa" end return ret end function Category:getTopright() if self._lang or self._info.raw then return self:substitute_template_specs(self._data.topright) end return self._data.umbrella and self:substitute_template_specs(self._data.umbrella.topright) end function Category:display_title(displaytitle, lang) if type(displaytitle) == "string" then displaytitle = self:substitute_template_specs(displaytitle) else displaytitle = displaytitle(self:getCategoryName(), lang) end mw.getCurrentFrame():callParserFunction("DISPLAYTITLE", "Kategori:" .. displaytitle) end function Category:get_labels_categorizing() local m_labels_utilities = require(labels_utilities_module) local pos_cat_labels, sense_cat_labels, use_tlb pos_cat_labels = m_labels_utilities.find_labels_for_category(self._info.label, "pos", self._lang) local sense_label = self._info.label:match("^Perkataan (.*)$") if sense_label then use_tlb = true else sense_label = self._info.label:match("^Perkataan dengan erti (.*)$") end if not sense_label then return nil end sense_cat_labels = m_labels_utilities.find_labels_for_category(sense_label, "sense", self._lang) if use_tlb then return m_labels_utilities.format_labels_categorizing(pos_cat_labels, sense_cat_labels, self._lang) end local all_labels = pos_cat_labels for k, v in pairs(sense_cat_labels) do all_labels[k] = v end return m_labels_utilities.format_labels_categorizing(all_labels, nil, self._lang) end -- FIXME: this is clunky. local function remove_lang_params(desc) -- Simply remove a language name/code/category from the beginning of the string, but replace the language name -- in the middle of the string with either "tertentu" or "specific-language" depending on whether the -- language name appears to be an attributive qualifier of another noun or to stand by itself. This may be wrong, -- in which case the category in question should supply its own umbrella description. desc = desc:gsub("^{{{langname}}} ", "") :gsub("{{{langname}}} %(", "tertentu (") :gsub("{{{langname}}}([.,])", "tertentu%1") :gsub("{{{langname}}} ", "tertentu ") :gsub("{{{langdisp}}}", "tertentu") :gsub("{{{langlink}}}", "tertentu") return desc end function Category:getDescription(isChild) -- Allows different text in the list of a category's children local isChild = isChild == "child" if self._lang or self._info.raw then if not isChild and self._data.displaytitle then self:display_title(self._data.displaytitle, self._lang) end if self._sc then return self:getCategoryName() .. "." end local desc = self:substitute_template_specs(self._data.description) if not desc then return nil elseif isChild then return desc end return sparse_concat({ self:substitute_template_specs(self._data.preceding), desc, self:substitute_template_specs(self._data.additional), self:substitute_template_specs(self:get_labels_categorizing()), }, "\n\n") end local umbrella = self._data.umbrella if not isChild and umbrella and umbrella.displaytitle then self:display_title(umbrella.displaytitle) end local desc = self:substitute_template_specs(umbrella and umbrella.description) local has_umbrella_desc = not not desc if not desc then desc = self:convert_spec_to_string(self._data.description) if desc then desc = remove_lang_params(desc) desc = lcfirst(desc) desc = desc:gsub("%.$", "") desc = "Kategori dengan " .. desc .. "." else desc = "Kategori dengan " .. self._info.label .. " dalam pelbagai bahasa tertentu." end desc = self:substitute_template_specs(desc) end if isChild then return desc end return sparse_concat({ self:substitute_template_specs(umbrella and umbrella.preceding or not has_umbrella_desc and self._data.preceding), desc, self:substitute_template_specs(umbrella and umbrella.additional or not has_umbrella_desc and self._data.additional), self:substitute_template_specs("{{{umbrella_msg}}}"), self:substitute_template_specs(self:get_labels_categorizing()), }, "\n\n") end function Category:new_sortkey(sortkey) local sortkey_type = type(sortkey) if sortkey_type == "string" then sortkey = uupper(sortkey) elseif sortkey_type == "table" then function sortkey:makeSortKey() local sort_func = self.sort_func if sort_func ~= nil then return sort_func(self.sort_base) end local lang = self.lang if lang == nil then return self.sort_base end lang = get_lang(lang, nil, true) if lang == nil then return self.sort_base end local sc = self.sc if sc ~= nil then sc = get_script(sc) end return lang:makeSortKey(self.sort_base, sc) end end return sortkey end function Category:inherit_spec(spec, parent_spec, substitute_result) if spec == false then return nil end local retval = spec or parent_spec if substitute_result then retval = self:substitute_template_specs(retval) end return retval end function Category:canonicalize_parents_children(cats, is_children, fallback_sort_key, fallback_sort_base) if not cats then return nil elseif type(cats) == "table" then if cats.name or cats.module then cats = {cats} elseif #cats == 0 then return nil end else cats = {cats} end local ret = {} for _, cat in ipairs(cats) do if type(cat) ~= "table" or not cat.name and not cat.module then cat = {name = cat} end insert(ret, cat) end local is_umbrella = not self._lang and not self._info.raw local table_type = is_children and "extra_children" or "parents" for i, cat in ipairs(ret) do local raw if self._info.raw or is_umbrella then raw = not cat.is_label else raw = cat.raw end local lang = self:inherit_spec(cat.lang, not raw and self._info.code or nil, "substitute") local sc = self:inherit_spec(cat.sc, not raw and self._info.sc or nil, "substitute") -- Get the sortkey. local sortkey = self:inherit_spec(cat.sort, i == 1 and (fallback_sort_key or fallback_sort_base and {sort_base = fallback_sort_base}) or nil) if type(sortkey) == "table" then sortkey.sort_base = self:substitute_template_specs(sortkey.sort_base) or internal_error("Missing .sort_base in '" .. table_type .. "' .sort table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") if sortkey.sort_func then -- Not allowed to give a lang and/or script if sort_func is given. local bad_spec = sortkey.lang and "lang" or sortkey.sc and "sc" or nil if bad_spec then internal_error("Cannot specify both ." .. bad_spec .. " and .sort_func in '" .. table_type .. "' .sort table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") end else sortkey.lang = self:inherit_spec(sortkey.lang, lang, "substitute") sortkey.sc = self:inherit_spec(sortkey.sc, sc, "substitute") end else sortkey = self:substitute_template_specs(sortkey) end local name if cat.module then -- A reference to a category using another category tree module. if not cat.args then internal_error("Missing .args in '" .. table_type .. "' table with module=\"" .. cat.module .. "\" for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") end name = require("Module:category tree/" .. cat.module).new(self:substitute_template_specs_in_args(cat.args)) else name = cat.name if not name then internal_error("Missing .name in " .. (is_umbrella and "umbrella " or "") .. "'" .. table_type .. "' table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") elseif type(name) == "string" then -- otherwise, assume it's a category object and use it directly name = self:substitute_template_specs(name) if name:find("^Kategori:") then -- It's a non-poscatboiler category name. sortkey = sortkey or is_children and name:gsub("^Kategori:", "") or self:getCategoryName() else -- It's a label. sortkey = sortkey or is_children and name or self._info.label name = self:make_new{ label = name, code = lang, sc = sc, raw = raw, args = self:substitute_template_specs_in_args(cat.args) } end end end sortkey = sortkey or is_children and " " or self._info.label ret[i] = { name = name, description = is_children and self:substitute_template_specs(cat.description) or nil, sort = self:new_sortkey(sortkey) } end return ret end function Category:getParents() local is_umbrella, ret = not self._lang and not self._info.raw if self._sc then local parent1 = self:make_new{code = self._info.code, label = "Perkataan dalam tulisan " .. self._sc:getCanonicalName()} local parent2 = self:make_new{code = self._info.code, label = self._info.label, raw = self._info.raw, args = self._info.args} ret = { {name = parent1, sort = self._sc:getCanonicalName()}, {name = parent2, sort = self._sc:getCanonicalName()}, } else local parents, fallback_sort_key, fallback_sort_base if is_umbrella then parents = self._data.umbrella and self._data.umbrella.parents or self._data.umbrella_parents fallback_sort_key = self._data.umbrella and self._data.umbrella.breadcrumb_and_first_sort_key or nil fallback_sort_base = self._data.umbrella and self._data.umbrella.breadcrumb_and_first_sort_base or nil else parents = self._data.parents fallback_sort_key = self._data.breadcrumb_and_first_sort_key fallback_sort_base = self._data.breadcrumb_and_first_sort_base end ret = self:canonicalize_parents_children(parents, nil, fallback_sort_key, fallback_sort_base) if not ret then return nil end end local self_cat = self:getCategoryName() for _, parent in ipairs(ret) do local parent_cat = parent.name.getCategoryName and parent.name:getCategoryName() if self_cat == parent_cat then internal_error(("Infinite loop would occur, as parent category '%s' is the same as the child category"):format(self_cat)) end end return ret end function Category:getChildren() local is_umbrella = not self._lang and not self._info.raw local children = self._data.children local ret = {} if not is_umbrella and children then for _, child in ipairs(children) do child = mw.clone(child) if type(child) ~= "table" then child = {name = child} end if not child.sort then child.sort = child.name end -- FIXME, is preserving the script correct? child.name = self:make_new{code = self._info.code, label = child.name, raw = child.raw, sc = self._info.sc} insert(ret, child) end end local extra_children if is_umbrella then extra_children = self._data.umbrella and self._data.umbrella.extra_children else extra_children = self._data.extra_children end extra_children = self:canonicalize_parents_children(extra_children, "children") if extra_children then for _, child in ipairs(extra_children) do insert(ret, child) end end return #ret > 0 and ret or nil end function Category:getUmbrella() local umbrella = self._data.umbrella if umbrella == false or self._info.raw or not self._lang or self._sc then return nil end -- If `umbrella` is a string, use that; otherwise, use the label. return self:make_new({label = type(umbrella) == "string" and umbrella or self._info.label}) end function Category:getAppendix() -- FIXME, this should be customizable. local lang, label = self._lang, self._info.label if self._info.raw or not (lang and label) then return nil end local appendix = make_title(100, label .. " bahasa " .. lang:getCanonicalName()) return appendix.exists and appendix.fullText or nil end function Category:getCatfixInfo() if self._lang or self._sc or self._info.raw then local langcode, sccode = self._data.catfix, self._data.catfix_sc local lang, sc if langcode then langcode = self:substitute_template_specs(langcode) lang = get_lang(langcode, nil, true) elseif langcode == nil then -- not false lang = self._lang end if sccode then sccode = self:substitute_template_specs(sccode) sc = get_script(sccode) elseif sccode == nil then -- not false sc = self._sc end if lang then lang = lang:getFull() end return lang, sc elseif not self._data.umbrella then return end -- umbrella local langcode, sccode = self._data.umbrella.catfix, self._data.umbrella.catfix_sc local lang, sc if langcode then langcode = self:substitute_template_specs(langcode) lang = get_lang(langcode, nil, true) end if sccode then sccode = self:substitute_template_specs(sccode) sc = get_script(sccode) end if lang then lang = lang:getFull() end return lang, sc end function Category:getTOCTemplateName() -- This should only be invoked if getTOC() returns true, meaning to do the default algorithm, but getTOC() -- implements its own default algorithm. internal_error("This should never get called") end local export = {} function export.main(info) local self = setmetatable({_info = info}, Category) self:initCommon() return self._data and self or nil end export.new = Category.new return export syin42b26pfli4cmoza5ztx95i0pg1c 342781 342780 2026-05-16T08:52:14Z Hakimi97 2668 Try only ucfirst 342781 Scribunto text/plain local lang_independent_data = require("Module:category tree/data") local lang_specific_module = "Module:category tree/lang" local lang_specific_module_prefix = lang_specific_module .. "/" local family_specific_module = "Module:category tree/fam" local family_specific_module_prefix = family_specific_module .. "/" local labels_utilities_module = "Module:labels/utilities" local template_parser_module = "Module:template parser" local concat = table.concat local dump = mw.dumpObject local expand_template = require("Module:frame").expandTemplate local insert = table.insert local is_callable = require("Module:fun").is_callable local lcfirst = require("Module:string utilities").lcfirst local list_to_set = require("Module:table").listToSet local make_title = mw.title.makeTitle local new_title = mw.title.new local parse = require(template_parser_module).parse local sparse_concat = require("Module:table").sparseConcat local tostring = tostring local type = type local ucfirst = require("Module:string utilities").ucfirst local uupper = require("Module:string utilities").upper local function internal_error(msg) error("Internal error: " .. msg) end local function get_lang(...) local _get_lang = require("Module:languages").getByCode function get_lang(...) return _get_lang(...) or require("Module:languages/errorGetBy").code(...) end return get_lang(...) end local function get_script(...) local _get_script = require("Module:scripts").getByCode function get_script(code) return _get_script(code) or require("Module:languages/error")(code, true, "script code") end return get_script(...) end -- Category object local Category = {} Category.__index = Category function Category:get_originating_info() local originating_info = "" if self._info.originating_label then originating_info = " (originating from label \"" .. self._info.originating_label .. "\" in module [[" .. self._info.originating_module .. "]])" end return originating_info end local valid_keys = list_to_set{"code", "label", "sc", "raw", "args", "also", "called_from_inside", "originating_label", "originating_module"} function Category.new(info) for key in pairs(info) do if not valid_keys[key] then internal_error("The parameter \"" .. key .. "\" was not recognized.") end end local self = setmetatable({}, Category) self._info = info if not self._info.label then internal_error("No label was specified.") end self:initCommon() if not self._data then internal_error("The " .. (self._info.raw and "raw " or "") .. "label \"" .. self._info.label .. "\" does not exist" .. self:get_originating_info() .. ".") end return self end function Category:initCommon() local function patch_args(args) -- This fixes the issue with Scribunto automatically converting keys -- in a table as numbers to strings, which in turn causes a circular -- error for having argument parameter names as numbers as strings. if type(args) ~= "table" then return args end local new_args = {} for k, v in pairs(args) do if type(k) == "string" and string.len(k) < 10 and not string.match(k, "^0") and string.match(k, "^%d+$") then new_args[tonumber(k)] = patch_args(v) else new_args[k] = patch_args(v) end end return new_args end local args_handled = false if self._info.raw then -- Check if the category exists local raw_categories = lang_independent_data["RAW_CATEGORIES"] self._data = raw_categories[self._info.label] if self._data then if self._data.lang then self._lang = get_lang(self._data.lang, nil, true) self._info.code = self._lang:getCode() end if self._data.sc then self._sc = get_script(self._data.sc) self._info.sc = self._sc:getCode() end else -- Go through raw handlers local data = { category = self._info.label, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } for _, handler in ipairs(lang_independent_data["RAW_HANDLERS"]) do self._data, args_handled = handler.handler(data) if self._data then self._data.module = self._data.module or handler.module break end end if self._data then -- Update the label if the handler specified a canonical name for it. if self._data.canonical_name then self._info.canonical_name = self._data.canonical_name end if self._data.lang then if type(self._data.lang) ~= "string" then internal_error("Received non-string value " .. dump(self._data.lang) .. " for self._data.lang, label \"" .. self._info.label .. "\"" .. self:get_originating_info() .. ".") end self._lang = get_lang(self._data.lang, nil, true) self._info.code = self._lang:getCode() end if self._data.sc then if type(self._data.sc) ~= "string" then internal_error("Received non-string value " .. dump(self._data.sc) .. " for self._data.sc, label \"" .. self._info.label .. "\"" .. self:get_originating_info() .. ".") end self._sc = get_script(self._data.sc) self._info.sc = self._sc:getCode() end end end else -- Already parsed into language + label if self._info.code then self._lang = get_lang(self._info.code, nil, true) else self._lang = nil end if self._info.sc then self._sc = get_script(self._info.sc) else self._sc = nil end self._info.orig_label = self._info.label -- If the label was packed with a \0 separator (from split_lang_label for mid-lang titles), -- reconstruct the canonical label key used in LABELS data modules. -- e.g. "Perkataan\0yang baru" → canonical key "Perkataan yang baru" if self._info.label:find("\0", 1, true) then self._info.label = self._info.label:gsub("%z", " ") end if not self._lang then -- Umbrella categories without a preceding language always begin with a capital letter, but the actual label may be -- lowercase (cf. [[:Category:Nouns by language]] with label 'nouns' with per-language [[:Category:English nouns]]; -- but [[:Category:Reddit slang by language]] with label 'Reddit slang' with per-language -- [[:Category:English Reddit slang]]). Since the label is almost always lowercase, we lowercase it for umbrella -- categories, storing the original into `orig_label`, and correct it later if needed. self._info.label = ucfirst(self._info.label) end -- First, check lang-specific labels and handlers if this is not an umbrella category. if self._lang then local objects_with_modules = require(lang_specific_module) local obj, seen = self._lang, {} local object_specific_module_prefix = lang_specific_module_prefix local is_family = false repeat if objects_with_modules[obj:getCode()] then local module = object_specific_module_prefix .. obj:getCode() local labels_and_handlers = require(module) if labels_and_handlers.LABELS then self._data = labels_and_handlers.LABELS[self._info.label] if self._data then if not is_family and self._data.umbrella == nil and self._data.umbrella_parents == nil then self._data.umbrella = false end self._data.module = self._data.module or module end end if not self._data and labels_and_handlers.HANDLERS then for _, handler in ipairs(labels_and_handlers.HANDLERS) do local data = { label = self._info.label, lang = self._lang, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } self._data, args_handled = handler(data) if self._data then if not is_family and self._data.umbrella == nil and self._data.umbrella_parents == nil then self._data.umbrella = false end self._data.module = self._data.module or module break end end end if self._data then break end end seen[obj:getCode()] = true obj = obj:getFamily() if not is_family then is_family = true object_specific_module_prefix = family_specific_module_prefix objects_with_modules = require(family_specific_module) end until not obj or seen[obj:getCode()] end local function fetch_label_data(labels) self._data = labels[self._info.label] -- See comment above about uppercase- vs. lowercase-initial labels, which are indistinguishable -- in umbrella categories. if not self._data then self._data = labels[self._info.orig_label] if self._data then self._info.label = self._info.orig_label end end end -- Then check lang-independent labels. if not self._data then -- lang_independent_data.LABELS should always exist. fetch_label_data(lang_independent_data.LABELS) if not self._data and not self._lang then -- Check family-specific labels for umbrella label. local families_with_modules = require(family_specific_module) for famcode, _ in pairs(families_with_modules) do local module = family_specific_module_prefix .. famcode local labels_and_handlers = require(module) if labels_and_handlers.LABELS then fetch_label_data(labels_and_handlers.LABELS) if self._data then self._data.module = self._data.module or module break end end end end end -- Then check lang-independent handlers. if not self._data then local data = { label = self._info.label, lang = self._lang, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } for _, handler in ipairs(lang_independent_data["HANDLERS"]) do self._data, args_handled = handler.handler(data) if self._data then self._data.module = self._data.module or handler.module break end end if not self._data and not self._lang then -- Check family-specific labels for umbrella handler. local families_with_modules = require(family_specific_module) for famcode, _ in pairs(families_with_modules) do local module = family_specific_module_prefix .. famcode local labels_and_handlers = require(module) if labels_and_handlers.HANDLERS then for _, handler in ipairs(labels_and_handlers.HANDLERS) do local data = { label = self._info.label, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } self._data, args_handled = handler(data) if self._data then self._data.module = self._data.module or module break end end end if self._data then break end end end end end if not args_handled and self._data and self._info.args and next(self._info.args) then local module_text = " (handled in [[" .. (self._data.module or "UNKNOWN").. "]])" local args_text = {} for k, v in pairs(self._info.args) do insert(args_text, k .. "=" .. ((type(v) == "string" or type(v) == "number") and v or dump(v))) end error("poscatboiler label '" .. self._info.label .. "' " .. module_text .. " doesn't accept extra args " .. concat(args_text, ", ")) end if self._sc and not self._lang then internal_error("Umbrella categories cannot have a script specified.") end end function Category:convert_spec_to_string(desc) if not desc then return desc end local desc_type = type(desc) if desc_type == "string" then return desc elseif desc_type == "number" then return tostring(desc) elseif not is_callable(desc) then internal_error("`desc` must be a string, number, function, callable table or nil; received " .. dump(desc)) end desc = desc { lang = self._lang, sc = self._sc, label = self._info.label, raw = self._info.raw, } if not desc then return desc end desc_type = type(desc) if desc_type == "string" then return desc end internal_error("The value returned by `desc` must be a string or nil; received " .. dump(desc)) end local function add_obj_args(args, obj, obj_type) if obj then args[obj_type .. "code"] = obj:getCode() args[obj_type .. "name"] = obj:getCanonicalName() args[obj_type .. "disp"] = obj:getDisplayForm() args[obj_type .. "cat"] = obj:getCategoryName() args[obj_type .. "link"] = obj:makeCategoryLink() end end -- Expands `desc` like a template, passing values for specs like {{{langname}}}. function Category:substitute_template_specs(desc) -- This may end up happening twice but that's OK as the function is (usually) idempotent. -- FIXME: Not idempotent if a preprocessed template returns wikicode. desc = self:convert_spec_to_string(desc) if not desc then return nil end -- Populate the substitution arguments. local args = {} args.umbrella_msg = "Kategori ini merupakan sebuah kategori payung. Ia tidak mengandungi sebarang entri kamus, sebaliknya hanya mengandungi kategori khusus bahasa lain, yang seterusnya mengandungi istilah yang berkaitan dalam bahasa tertentu." args.umbrella_meta_msg = "Kategori ini merupakan sebuah metakategori payung, yang meliputi bidang umum seperti \"lema\", \"nama\" atau \"perkataan mengikut etimologi\". Ia tidak mengandungi sebarang entri kamus, sebaliknya hanya mengandungi kategori payung (\"mengikut bahasa\") yang merangkumi subtopik tertentu, yang seterusnya mengandungi kategori khusus bahasa yang mengandungi istilah dalam bahasa tertentu untuk topik yang sama." add_obj_args(args, self._lang, "lang") add_obj_args(args, self._sc, "sc") return parse(desc, true):expand(args) end function Category:substitute_template_specs_in_args(args) if not args then return args end local pinfo = {} for k, v in pairs(args) do pinfo[self:substitute_template_specs(k)] = self:substitute_template_specs(v) end return pinfo end function Category:make_new(info) info.originating_label = self._info.label info.originating_module = self._data.module info.called_from_inside = true return Category.new(info) end function Category:getBreadcrumbName() local ret if self._lang or self._info.raw then ret = self._data.breadcrumb or self._data.breadcrumb_and_first_sort_key or self._data.breadcrumb_and_first_sort_base or nil else ret = self._data.umbrella and (self._data.umbrella.breadcrumb or self._data.umbrella.breadcrumb_and_first_sort_key or self._data.umbrella.breadcrumb_and_first_sort_base) or nil end if not ret then ret = self._info.label end if type(ret) ~= "table" then ret = {name = ret} end local name = self:substitute_template_specs(ret.name) local nocap = ret.nocap if self._sc then name = name .. " dalam tulisan " .. self._sc:getDisplayForm() end return name, nocap end local function expand_toc_template_if(template) local template_obj = new_title(template, 10) if template_obj.exists then return expand_template{title = template_obj.text} end return nil end -- Return the textual expansion of the first existing template among the given templates, first performing -- substitutions on the template name such as replacing {{{langcode}}} with the current language's code (if any). -- If no templates exist after expansion, or if nil is passed in, return nil. If a single string is passed in, -- treat it like a one-element list consisting of that string. function Category:get_template_text(templates) if templates == nil then return nil elseif type(templates) ~= "table" then templates = {templates} end for _, template in ipairs(templates) do if template == false then return false end template = self:substitute_template_specs(template) return expand_toc_template_if(template) end return nil end function Category:getTOC(toc_type) -- Type "none" means everything fits on a single page; in that case, display nothing. if toc_type == "none" then return nil end local templates, fallback_templates -- If TOC type is "full" (more than 2500 entries), do the following, in order: -- 1. look up and expand the `toc_template_full` templates (normal or umbrella, depending on whether there is -- a current language); -- 2. look up and expand the `toc_template` templates (normal or umbrella, as above); -- 3. do the default behavior, which is as follows: -- 3a. look up a language-specific "full" template according to the current language (using English if there -- is no current language); -- 3b. look up a script-specific "full" template according to the first script of current language (using English -- if there is no current language); -- 3c. look up a language-specific "normal" template according to the current language (using English if there -- is no current language); -- 3d. look up a script-specific "normal" template according to the first script of the current language (using -- English if there is no current language); -- 3e. display nothing. -- -- If TOC type is "normal" (between 200 and 2500 entries), do the following, in order: -- 1. look up and expand the `toc_template` templates (normal or umbrella, depending on whether there is -- a current language); -- 2. do the default behavior, which is as follows: -- 2a. look up a language-specific "normal" template according to the current language (using English if there -- is no current language); -- 2b. look up a script-specific "normal" template according to the first script of the current language (using -- English if there is no current language); -- 2c. display nothing. local data_source if self._lang or self._info.raw then data_source = self._data else data_source = self._data.umbrella end if data_source then if toc_type == "full" then templates = data_source.toc_template_full fallback_templates = data_source.toc_template else templates = data_source.toc_template end end local text = self:get_template_text(templates) if text then return text elseif text == false then return nil end text = self:get_template_text(fallback_templates) if text then return text elseif text == false then return nil end local default_toc_templates_to_check = {} local lang, sc = self:getCatfixInfo() local langcode = lang and lang:getCode() or "ms" local sccode = sc and sc:getCode() or lang and lang:getScriptCodes()[1] or "Latn" -- FIXME: What is toctemplateprefix used for? local tocname = (self._data.toctemplateprefix or "") .. "categoryTOC" if toc_type == "full" then insert(default_toc_templates_to_check, ("%s-%s/full"):format(langcode, tocname)) insert(default_toc_templates_to_check, ("%s-%s/full"):format(sccode, tocname)) end insert(default_toc_templates_to_check, ("%s-%s"):format(langcode, tocname)) insert(default_toc_templates_to_check, ("%s-%s"):format(sccode, tocname)) for _, toc_template in ipairs(default_toc_templates_to_check) do local toc_template_text = expand_toc_template_if(toc_template) if toc_template_text then return toc_template_text end end return nil end function Category:getInfo() return self._info end function Category:getDataModule() return self._data.module end function Category:canBeEmpty() if self._lang or self._info.raw then return self._data.can_be_empty end return self._data.umbrella and self._data.umbrella.can_be_empty end function Category:isHidden() if self._lang or self._info.raw then return self._data.hidden end return self._data.umbrella and self._data.umbrella.hidden end function Category:getCategoryName() if self._info.raw then return self._info.canonical_name or self._info.label elseif self._lang then local langname = self._lang:getCanonicalName() local connector = (self._data and self._data.lang_connector) or "bahasa" local ret -- Case 1: label data explicitly declares lang_position = "mid" with label_before/label_after. if self._data and self._data.lang_position == "mid" then local before = self._data.label_before or self._info.label local after = self._data.label_after or "" ret = before .. " " .. connector .. " " .. langname if after ~= "" then ret = ret .. " " .. after end -- Case 2: label was parsed from a mid-lang title; before\0after packed in self._info.label. elseif self._info.label:find("\0", 1, true) then local before, after = self._info.label:match("^(.-)%z(.*)$") ret = before .. " " .. connector .. " " .. langname if after and after ~= "" then ret = ret .. " " .. after end -- Case 3: default — label precedes "bahasa LANG" (original behaviour). else ret = self._info.label .. " " .. connector .. " " .. langname end if self._sc then ret = ret .. " dalam tulisan " .. self._sc:getDisplayForm() end return ucfirst(ret) end local ret = ucfirst(self._info.label) if not (self._data.no_by_language or self._data.umbrella and self._data.umbrella.no_by_language) then ret = ret .. " mengikut bahasa" end return ret end function Category:getTopright() if self._lang or self._info.raw then return self:substitute_template_specs(self._data.topright) end return self._data.umbrella and self:substitute_template_specs(self._data.umbrella.topright) end function Category:display_title(displaytitle, lang) if type(displaytitle) == "string" then displaytitle = self:substitute_template_specs(displaytitle) else displaytitle = displaytitle(self:getCategoryName(), lang) end mw.getCurrentFrame():callParserFunction("DISPLAYTITLE", "Kategori:" .. displaytitle) end function Category:get_labels_categorizing() local m_labels_utilities = require(labels_utilities_module) local pos_cat_labels, sense_cat_labels, use_tlb pos_cat_labels = m_labels_utilities.find_labels_for_category(self._info.label, "pos", self._lang) local sense_label = self._info.label:match("^Perkataan (.*)$") if sense_label then use_tlb = true else sense_label = self._info.label:match("^Perkataan dengan erti (.*)$") end if not sense_label then return nil end sense_cat_labels = m_labels_utilities.find_labels_for_category(sense_label, "sense", self._lang) if use_tlb then return m_labels_utilities.format_labels_categorizing(pos_cat_labels, sense_cat_labels, self._lang) end local all_labels = pos_cat_labels for k, v in pairs(sense_cat_labels) do all_labels[k] = v end return m_labels_utilities.format_labels_categorizing(all_labels, nil, self._lang) end -- FIXME: this is clunky. local function remove_lang_params(desc) -- Simply remove a language name/code/category from the beginning of the string, but replace the language name -- in the middle of the string with either "tertentu" or "specific-language" depending on whether the -- language name appears to be an attributive qualifier of another noun or to stand by itself. This may be wrong, -- in which case the category in question should supply its own umbrella description. desc = desc:gsub("^{{{langname}}} ", "") :gsub("{{{langname}}} %(", "tertentu (") :gsub("{{{langname}}}([.,])", "tertentu%1") :gsub("{{{langname}}} ", "tertentu ") :gsub("{{{langdisp}}}", "tertentu") :gsub("{{{langlink}}}", "tertentu") return desc end function Category:getDescription(isChild) -- Allows different text in the list of a category's children local isChild = isChild == "child" if self._lang or self._info.raw then if not isChild and self._data.displaytitle then self:display_title(self._data.displaytitle, self._lang) end if self._sc then return self:getCategoryName() .. "." end local desc = self:substitute_template_specs(self._data.description) if not desc then return nil elseif isChild then return desc end return sparse_concat({ self:substitute_template_specs(self._data.preceding), desc, self:substitute_template_specs(self._data.additional), self:substitute_template_specs(self:get_labels_categorizing()), }, "\n\n") end local umbrella = self._data.umbrella if not isChild and umbrella and umbrella.displaytitle then self:display_title(umbrella.displaytitle) end local desc = self:substitute_template_specs(umbrella and umbrella.description) local has_umbrella_desc = not not desc if not desc then desc = self:convert_spec_to_string(self._data.description) if desc then desc = remove_lang_params(desc) desc = lcfirst(desc) desc = desc:gsub("%.$", "") desc = "Kategori dengan " .. desc .. "." else desc = "Kategori dengan " .. self._info.label .. " dalam pelbagai bahasa tertentu." end desc = self:substitute_template_specs(desc) end if isChild then return desc end return sparse_concat({ self:substitute_template_specs(umbrella and umbrella.preceding or not has_umbrella_desc and self._data.preceding), desc, self:substitute_template_specs(umbrella and umbrella.additional or not has_umbrella_desc and self._data.additional), self:substitute_template_specs("{{{umbrella_msg}}}"), self:substitute_template_specs(self:get_labels_categorizing()), }, "\n\n") end function Category:new_sortkey(sortkey) local sortkey_type = type(sortkey) if sortkey_type == "string" then sortkey = uupper(sortkey) elseif sortkey_type == "table" then function sortkey:makeSortKey() local sort_func = self.sort_func if sort_func ~= nil then return sort_func(self.sort_base) end local lang = self.lang if lang == nil then return self.sort_base end lang = get_lang(lang, nil, true) if lang == nil then return self.sort_base end local sc = self.sc if sc ~= nil then sc = get_script(sc) end return lang:makeSortKey(self.sort_base, sc) end end return sortkey end function Category:inherit_spec(spec, parent_spec, substitute_result) if spec == false then return nil end local retval = spec or parent_spec if substitute_result then retval = self:substitute_template_specs(retval) end return retval end function Category:canonicalize_parents_children(cats, is_children, fallback_sort_key, fallback_sort_base) if not cats then return nil elseif type(cats) == "table" then if cats.name or cats.module then cats = {cats} elseif #cats == 0 then return nil end else cats = {cats} end local ret = {} for _, cat in ipairs(cats) do if type(cat) ~= "table" or not cat.name and not cat.module then cat = {name = cat} end insert(ret, cat) end local is_umbrella = not self._lang and not self._info.raw local table_type = is_children and "extra_children" or "parents" for i, cat in ipairs(ret) do local raw if self._info.raw or is_umbrella then raw = not cat.is_label else raw = cat.raw end local lang = self:inherit_spec(cat.lang, not raw and self._info.code or nil, "substitute") local sc = self:inherit_spec(cat.sc, not raw and self._info.sc or nil, "substitute") -- Get the sortkey. local sortkey = self:inherit_spec(cat.sort, i == 1 and (fallback_sort_key or fallback_sort_base and {sort_base = fallback_sort_base}) or nil) if type(sortkey) == "table" then sortkey.sort_base = self:substitute_template_specs(sortkey.sort_base) or internal_error("Missing .sort_base in '" .. table_type .. "' .sort table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") if sortkey.sort_func then -- Not allowed to give a lang and/or script if sort_func is given. local bad_spec = sortkey.lang and "lang" or sortkey.sc and "sc" or nil if bad_spec then internal_error("Cannot specify both ." .. bad_spec .. " and .sort_func in '" .. table_type .. "' .sort table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") end else sortkey.lang = self:inherit_spec(sortkey.lang, lang, "substitute") sortkey.sc = self:inherit_spec(sortkey.sc, sc, "substitute") end else sortkey = self:substitute_template_specs(sortkey) end local name if cat.module then -- A reference to a category using another category tree module. if not cat.args then internal_error("Missing .args in '" .. table_type .. "' table with module=\"" .. cat.module .. "\" for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") end name = require("Module:category tree/" .. cat.module).new(self:substitute_template_specs_in_args(cat.args)) else name = cat.name if not name then internal_error("Missing .name in " .. (is_umbrella and "umbrella " or "") .. "'" .. table_type .. "' table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") elseif type(name) == "string" then -- otherwise, assume it's a category object and use it directly name = self:substitute_template_specs(name) if name:find("^Kategori:") then -- It's a non-poscatboiler category name. sortkey = sortkey or is_children and name:gsub("^Kategori:", "") or self:getCategoryName() else -- It's a label. sortkey = sortkey or is_children and name or self._info.label name = self:make_new{ label = name, code = lang, sc = sc, raw = raw, args = self:substitute_template_specs_in_args(cat.args) } end end end sortkey = sortkey or is_children and " " or self._info.label ret[i] = { name = name, description = is_children and self:substitute_template_specs(cat.description) or nil, sort = self:new_sortkey(sortkey) } end return ret end function Category:getParents() local is_umbrella, ret = not self._lang and not self._info.raw if self._sc then local parent1 = self:make_new{code = self._info.code, label = "Perkataan dalam tulisan " .. self._sc:getCanonicalName()} local parent2 = self:make_new{code = self._info.code, label = self._info.label, raw = self._info.raw, args = self._info.args} ret = { {name = parent1, sort = self._sc:getCanonicalName()}, {name = parent2, sort = self._sc:getCanonicalName()}, } else local parents, fallback_sort_key, fallback_sort_base if is_umbrella then parents = self._data.umbrella and self._data.umbrella.parents or self._data.umbrella_parents fallback_sort_key = self._data.umbrella and self._data.umbrella.breadcrumb_and_first_sort_key or nil fallback_sort_base = self._data.umbrella and self._data.umbrella.breadcrumb_and_first_sort_base or nil else parents = self._data.parents fallback_sort_key = self._data.breadcrumb_and_first_sort_key fallback_sort_base = self._data.breadcrumb_and_first_sort_base end ret = self:canonicalize_parents_children(parents, nil, fallback_sort_key, fallback_sort_base) if not ret then return nil end end local self_cat = self:getCategoryName() for _, parent in ipairs(ret) do local parent_cat = parent.name.getCategoryName and parent.name:getCategoryName() if self_cat == parent_cat then internal_error(("Infinite loop would occur, as parent category '%s' is the same as the child category"):format(self_cat)) end end return ret end function Category:getChildren() local is_umbrella = not self._lang and not self._info.raw local children = self._data.children local ret = {} if not is_umbrella and children then for _, child in ipairs(children) do child = mw.clone(child) if type(child) ~= "table" then child = {name = child} end if not child.sort then child.sort = child.name end -- FIXME, is preserving the script correct? child.name = self:make_new{code = self._info.code, label = child.name, raw = child.raw, sc = self._info.sc} insert(ret, child) end end local extra_children if is_umbrella then extra_children = self._data.umbrella and self._data.umbrella.extra_children else extra_children = self._data.extra_children end extra_children = self:canonicalize_parents_children(extra_children, "children") if extra_children then for _, child in ipairs(extra_children) do insert(ret, child) end end return #ret > 0 and ret or nil end function Category:getUmbrella() local umbrella = self._data.umbrella if umbrella == false or self._info.raw or not self._lang or self._sc then return nil end -- If `umbrella` is a string, use that; otherwise, use the label. return self:make_new({label = type(umbrella) == "string" and umbrella or self._info.label}) end function Category:getAppendix() -- FIXME, this should be customizable. local lang, label = self._lang, self._info.label if self._info.raw or not (lang and label) then return nil end local appendix = make_title(100, label .. " bahasa " .. lang:getCanonicalName()) return appendix.exists and appendix.fullText or nil end function Category:getCatfixInfo() if self._lang or self._sc or self._info.raw then local langcode, sccode = self._data.catfix, self._data.catfix_sc local lang, sc if langcode then langcode = self:substitute_template_specs(langcode) lang = get_lang(langcode, nil, true) elseif langcode == nil then -- not false lang = self._lang end if sccode then sccode = self:substitute_template_specs(sccode) sc = get_script(sccode) elseif sccode == nil then -- not false sc = self._sc end if lang then lang = lang:getFull() end return lang, sc elseif not self._data.umbrella then return end -- umbrella local langcode, sccode = self._data.umbrella.catfix, self._data.umbrella.catfix_sc local lang, sc if langcode then langcode = self:substitute_template_specs(langcode) lang = get_lang(langcode, nil, true) end if sccode then sccode = self:substitute_template_specs(sccode) sc = get_script(sccode) end if lang then lang = lang:getFull() end return lang, sc end function Category:getTOCTemplateName() -- This should only be invoked if getTOC() returns true, meaning to do the default algorithm, but getTOC() -- implements its own default algorithm. internal_error("This should never get called") end local export = {} function export.main(info) local self = setmetatable({_info = info}, Category) self:initCommon() return self._data and self or nil end export.new = Category.new return export 3uvcuoz282x62xq6o6o1ay8krjnrggd 342782 342781 2026-05-16T08:54:45Z Hakimi97 2668 342782 Scribunto text/plain local lang_independent_data = require("Module:category tree/data") local lang_specific_module = "Module:category tree/lang" local lang_specific_module_prefix = lang_specific_module .. "/" local family_specific_module = "Module:category tree/fam" local family_specific_module_prefix = family_specific_module .. "/" local labels_utilities_module = "Module:labels/utilities" local template_parser_module = "Module:template parser" local concat = table.concat local dump = mw.dumpObject local expand_template = require("Module:frame").expandTemplate local insert = table.insert local is_callable = require("Module:fun").is_callable local lcfirst = require("Module:string utilities").lcfirst local list_to_set = require("Module:table").listToSet local make_title = mw.title.makeTitle local new_title = mw.title.new local parse = require(template_parser_module).parse local sparse_concat = require("Module:table").sparseConcat local tostring = tostring local type = type local ucfirst = require("Module:string utilities").ucfirst local uupper = require("Module:string utilities").upper local function internal_error(msg) error("Internal error: " .. msg) end local function get_lang(...) local _get_lang = require("Module:languages").getByCode function get_lang(...) return _get_lang(...) or require("Module:languages/errorGetBy").code(...) end return get_lang(...) end local function get_script(...) local _get_script = require("Module:scripts").getByCode function get_script(code) return _get_script(code) or require("Module:languages/error")(code, true, "script code") end return get_script(...) end -- Category object local Category = {} Category.__index = Category function Category:get_originating_info() local originating_info = "" if self._info.originating_label then originating_info = " (originating from label \"" .. self._info.originating_label .. "\" in module [[" .. self._info.originating_module .. "]])" end return originating_info end local valid_keys = list_to_set{"code", "label", "sc", "raw", "args", "also", "called_from_inside", "originating_label", "originating_module"} function Category.new(info) for key in pairs(info) do if not valid_keys[key] then internal_error("The parameter \"" .. key .. "\" was not recognized.") end end local self = setmetatable({}, Category) self._info = info if not self._info.label then internal_error("No label was specified.") end self:initCommon() if not self._data then internal_error("The " .. (self._info.raw and "raw " or "") .. "label \"" .. self._info.label .. "\" does not exist" .. self:get_originating_info() .. ".") end return self end function Category:initCommon() local function patch_args(args) -- This fixes the issue with Scribunto automatically converting keys -- in a table as numbers to strings, which in turn causes a circular -- error for having argument parameter names as numbers as strings. if type(args) ~= "table" then return args end local new_args = {} for k, v in pairs(args) do if type(k) == "string" and string.len(k) < 10 and not string.match(k, "^0") and string.match(k, "^%d+$") then new_args[tonumber(k)] = patch_args(v) else new_args[k] = patch_args(v) end end return new_args end local args_handled = false if self._info.raw then -- Check if the category exists local raw_categories = lang_independent_data["RAW_CATEGORIES"] self._data = raw_categories[self._info.label] if self._data then if self._data.lang then self._lang = get_lang(self._data.lang, nil, true) self._info.code = self._lang:getCode() end if self._data.sc then self._sc = get_script(self._data.sc) self._info.sc = self._sc:getCode() end else -- Go through raw handlers local data = { category = self._info.label, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } for _, handler in ipairs(lang_independent_data["RAW_HANDLERS"]) do self._data, args_handled = handler.handler(data) if self._data then self._data.module = self._data.module or handler.module break end end if self._data then -- Update the label if the handler specified a canonical name for it. if self._data.canonical_name then self._info.canonical_name = self._data.canonical_name end if self._data.lang then if type(self._data.lang) ~= "string" then internal_error("Received non-string value " .. dump(self._data.lang) .. " for self._data.lang, label \"" .. self._info.label .. "\"" .. self:get_originating_info() .. ".") end self._lang = get_lang(self._data.lang, nil, true) self._info.code = self._lang:getCode() end if self._data.sc then if type(self._data.sc) ~= "string" then internal_error("Received non-string value " .. dump(self._data.sc) .. " for self._data.sc, label \"" .. self._info.label .. "\"" .. self:get_originating_info() .. ".") end self._sc = get_script(self._data.sc) self._info.sc = self._sc:getCode() end end end else -- Already parsed into language + label if self._info.code then self._lang = get_lang(self._info.code, nil, true) else self._lang = nil end if self._info.sc then self._sc = get_script(self._info.sc) else self._sc = nil end self._info.orig_label = self._info.label -- If the label was packed with a \0 separator (from split_lang_label for mid-lang titles), -- reconstruct the canonical label key used in LABELS data modules. -- e.g. "Perkataan\0yang baru" → canonical key "Perkataan yang baru" if self._info.label:find("\0", 1, true) then self._info.label = self._info.label:gsub("%z", " ") end if not self._lang then -- Umbrella categories without a preceding language always begin with a capital letter, but the actual label may be -- lowercase (cf. [[:Category:Nouns by language]] with label 'nouns' with per-language [[:Category:English nouns]]; -- but [[:Category:Reddit slang by language]] with label 'Reddit slang' with per-language -- [[:Category:English Reddit slang]]). Since the label is almost always lowercase, we lowercase it for umbrella -- categories, storing the original into `orig_label`, and correct it later if needed. self._info.label = lcfirst(self._info.label) end -- First, check lang-specific labels and handlers if this is not an umbrella category. if self._lang then local objects_with_modules = require(lang_specific_module) local obj, seen = self._lang, {} local object_specific_module_prefix = lang_specific_module_prefix local is_family = false repeat if objects_with_modules[obj:getCode()] then local module = object_specific_module_prefix .. obj:getCode() local labels_and_handlers = require(module) if labels_and_handlers.LABELS then self._data = labels_and_handlers.LABELS[self._info.label] if self._data then if not is_family and self._data.umbrella == nil and self._data.umbrella_parents == nil then self._data.umbrella = false end self._data.module = self._data.module or module end end if not self._data and labels_and_handlers.HANDLERS then for _, handler in ipairs(labels_and_handlers.HANDLERS) do local data = { label = self._info.label, lang = self._lang, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } self._data, args_handled = handler(data) if self._data then if not is_family and self._data.umbrella == nil and self._data.umbrella_parents == nil then self._data.umbrella = false end self._data.module = self._data.module or module break end end end if self._data then break end end seen[obj:getCode()] = true obj = obj:getFamily() if not is_family then is_family = true object_specific_module_prefix = family_specific_module_prefix objects_with_modules = require(family_specific_module) end until not obj or seen[obj:getCode()] end local function fetch_label_data(labels) self._data = labels[self._info.label] -- See comment above about uppercase- vs. lowercase-initial labels, which are indistinguishable -- in umbrella categories. if not self._data then self._data = labels[self._info.orig_label] if self._data then self._info.label = self._info.orig_label end end end -- Then check lang-independent labels. if not self._data then -- lang_independent_data.LABELS should always exist. fetch_label_data(lang_independent_data.LABELS) if not self._data and not self._lang then -- Check family-specific labels for umbrella label. local families_with_modules = require(family_specific_module) for famcode, _ in pairs(families_with_modules) do local module = family_specific_module_prefix .. famcode local labels_and_handlers = require(module) if labels_and_handlers.LABELS then fetch_label_data(labels_and_handlers.LABELS) if self._data then self._data.module = self._data.module or module break end end end end end -- Then check lang-independent handlers. if not self._data then local data = { label = self._info.label, lang = self._lang, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } for _, handler in ipairs(lang_independent_data["HANDLERS"]) do self._data, args_handled = handler.handler(data) if self._data then self._data.module = self._data.module or handler.module break end end if not self._data and not self._lang then -- Check family-specific labels for umbrella handler. local families_with_modules = require(family_specific_module) for famcode, _ in pairs(families_with_modules) do local module = family_specific_module_prefix .. famcode local labels_and_handlers = require(module) if labels_and_handlers.HANDLERS then for _, handler in ipairs(labels_and_handlers.HANDLERS) do local data = { label = self._info.label, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } self._data, args_handled = handler(data) if self._data then self._data.module = self._data.module or module break end end end if self._data then break end end end end end if not args_handled and self._data and self._info.args and next(self._info.args) then local module_text = " (handled in [[" .. (self._data.module or "UNKNOWN").. "]])" local args_text = {} for k, v in pairs(self._info.args) do insert(args_text, k .. "=" .. ((type(v) == "string" or type(v) == "number") and v or dump(v))) end error("poscatboiler label '" .. self._info.label .. "' " .. module_text .. " doesn't accept extra args " .. concat(args_text, ", ")) end if self._sc and not self._lang then internal_error("Umbrella categories cannot have a script specified.") end end function Category:convert_spec_to_string(desc) if not desc then return desc end local desc_type = type(desc) if desc_type == "string" then return desc elseif desc_type == "number" then return tostring(desc) elseif not is_callable(desc) then internal_error("`desc` must be a string, number, function, callable table or nil; received " .. dump(desc)) end desc = desc { lang = self._lang, sc = self._sc, label = self._info.label, raw = self._info.raw, } if not desc then return desc end desc_type = type(desc) if desc_type == "string" then return desc end internal_error("The value returned by `desc` must be a string or nil; received " .. dump(desc)) end local function add_obj_args(args, obj, obj_type) if obj then args[obj_type .. "code"] = obj:getCode() args[obj_type .. "name"] = obj:getCanonicalName() args[obj_type .. "disp"] = obj:getDisplayForm() args[obj_type .. "cat"] = obj:getCategoryName() args[obj_type .. "link"] = obj:makeCategoryLink() end end -- Expands `desc` like a template, passing values for specs like {{{langname}}}. function Category:substitute_template_specs(desc) -- This may end up happening twice but that's OK as the function is (usually) idempotent. -- FIXME: Not idempotent if a preprocessed template returns wikicode. desc = self:convert_spec_to_string(desc) if not desc then return nil end -- Populate the substitution arguments. local args = {} args.umbrella_msg = "Kategori ini merupakan sebuah kategori payung. Ia tidak mengandungi sebarang entri kamus, sebaliknya hanya mengandungi kategori khusus bahasa lain, yang seterusnya mengandungi istilah yang berkaitan dalam bahasa tertentu." args.umbrella_meta_msg = "Kategori ini merupakan sebuah metakategori payung, yang meliputi bidang umum seperti \"lema\", \"nama\" atau \"perkataan mengikut etimologi\". Ia tidak mengandungi sebarang entri kamus, sebaliknya hanya mengandungi kategori payung (\"mengikut bahasa\") yang merangkumi subtopik tertentu, yang seterusnya mengandungi kategori khusus bahasa yang mengandungi istilah dalam bahasa tertentu untuk topik yang sama." add_obj_args(args, self._lang, "lang") add_obj_args(args, self._sc, "sc") return parse(desc, true):expand(args) end function Category:substitute_template_specs_in_args(args) if not args then return args end local pinfo = {} for k, v in pairs(args) do pinfo[self:substitute_template_specs(k)] = self:substitute_template_specs(v) end return pinfo end function Category:make_new(info) info.originating_label = self._info.label info.originating_module = self._data.module info.called_from_inside = true return Category.new(info) end function Category:getBreadcrumbName() local ret if self._lang or self._info.raw then ret = self._data.breadcrumb or self._data.breadcrumb_and_first_sort_key or self._data.breadcrumb_and_first_sort_base or nil else ret = self._data.umbrella and (self._data.umbrella.breadcrumb or self._data.umbrella.breadcrumb_and_first_sort_key or self._data.umbrella.breadcrumb_and_first_sort_base) or nil end if not ret then ret = self._info.label end if type(ret) ~= "table" then ret = {name = ret} end local name = self:substitute_template_specs(ret.name) local nocap = ret.nocap if self._sc then name = name .. " dalam tulisan " .. self._sc:getDisplayForm() end return name, nocap end local function expand_toc_template_if(template) local template_obj = new_title(template, 10) if template_obj.exists then return expand_template{title = template_obj.text} end return nil end -- Return the textual expansion of the first existing template among the given templates, first performing -- substitutions on the template name such as replacing {{{langcode}}} with the current language's code (if any). -- If no templates exist after expansion, or if nil is passed in, return nil. If a single string is passed in, -- treat it like a one-element list consisting of that string. function Category:get_template_text(templates) if templates == nil then return nil elseif type(templates) ~= "table" then templates = {templates} end for _, template in ipairs(templates) do if template == false then return false end template = self:substitute_template_specs(template) return expand_toc_template_if(template) end return nil end function Category:getTOC(toc_type) -- Type "none" means everything fits on a single page; in that case, display nothing. if toc_type == "none" then return nil end local templates, fallback_templates -- If TOC type is "full" (more than 2500 entries), do the following, in order: -- 1. look up and expand the `toc_template_full` templates (normal or umbrella, depending on whether there is -- a current language); -- 2. look up and expand the `toc_template` templates (normal or umbrella, as above); -- 3. do the default behavior, which is as follows: -- 3a. look up a language-specific "full" template according to the current language (using English if there -- is no current language); -- 3b. look up a script-specific "full" template according to the first script of current language (using English -- if there is no current language); -- 3c. look up a language-specific "normal" template according to the current language (using English if there -- is no current language); -- 3d. look up a script-specific "normal" template according to the first script of the current language (using -- English if there is no current language); -- 3e. display nothing. -- -- If TOC type is "normal" (between 200 and 2500 entries), do the following, in order: -- 1. look up and expand the `toc_template` templates (normal or umbrella, depending on whether there is -- a current language); -- 2. do the default behavior, which is as follows: -- 2a. look up a language-specific "normal" template according to the current language (using English if there -- is no current language); -- 2b. look up a script-specific "normal" template according to the first script of the current language (using -- English if there is no current language); -- 2c. display nothing. local data_source if self._lang or self._info.raw then data_source = self._data else data_source = self._data.umbrella end if data_source then if toc_type == "full" then templates = data_source.toc_template_full fallback_templates = data_source.toc_template else templates = data_source.toc_template end end local text = self:get_template_text(templates) if text then return text elseif text == false then return nil end text = self:get_template_text(fallback_templates) if text then return text elseif text == false then return nil end local default_toc_templates_to_check = {} local lang, sc = self:getCatfixInfo() local langcode = lang and lang:getCode() or "ms" local sccode = sc and sc:getCode() or lang and lang:getScriptCodes()[1] or "Latn" -- FIXME: What is toctemplateprefix used for? local tocname = (self._data.toctemplateprefix or "") .. "categoryTOC" if toc_type == "full" then insert(default_toc_templates_to_check, ("%s-%s/full"):format(langcode, tocname)) insert(default_toc_templates_to_check, ("%s-%s/full"):format(sccode, tocname)) end insert(default_toc_templates_to_check, ("%s-%s"):format(langcode, tocname)) insert(default_toc_templates_to_check, ("%s-%s"):format(sccode, tocname)) for _, toc_template in ipairs(default_toc_templates_to_check) do local toc_template_text = expand_toc_template_if(toc_template) if toc_template_text then return toc_template_text end end return nil end function Category:getInfo() return self._info end function Category:getDataModule() return self._data.module end function Category:canBeEmpty() if self._lang or self._info.raw then return self._data.can_be_empty end return self._data.umbrella and self._data.umbrella.can_be_empty end function Category:isHidden() if self._lang or self._info.raw then return self._data.hidden end return self._data.umbrella and self._data.umbrella.hidden end function Category:getCategoryName() if self._info.raw then return self._info.canonical_name or self._info.label elseif self._lang then local langname = self._lang:getCanonicalName() local connector = (self._data and self._data.lang_connector) or "bahasa" local ret -- Case 1: label data explicitly declares lang_position = "mid" with label_before/label_after. if self._data and self._data.lang_position == "mid" then local before = self._data.label_before or self._info.label local after = self._data.label_after or "" ret = before .. " " .. connector .. " " .. langname if after ~= "" then ret = ret .. " " .. after end -- Case 2: label was parsed from a mid-lang title; before\0after packed in self._info.label. elseif self._info.label:find("\0", 1, true) then local before, after = self._info.label:match("^(.-)%z(.*)$") ret = before .. " " .. connector .. " " .. langname if after and after ~= "" then ret = ret .. " " .. after end -- Case 3: default — label precedes "bahasa LANG" (original behaviour). else ret = self._info.label .. " " .. connector .. " " .. langname end if self._sc then ret = ret .. " dalam tulisan " .. self._sc:getDisplayForm() end return ucfirst(ret) end local ret = ucfirst(self._info.label) if not (self._data.no_by_language or self._data.umbrella and self._data.umbrella.no_by_language) then ret = ret .. " mengikut bahasa" end return ret end function Category:getTopright() if self._lang or self._info.raw then return self:substitute_template_specs(self._data.topright) end return self._data.umbrella and self:substitute_template_specs(self._data.umbrella.topright) end function Category:display_title(displaytitle, lang) if type(displaytitle) == "string" then displaytitle = self:substitute_template_specs(displaytitle) else displaytitle = displaytitle(self:getCategoryName(), lang) end mw.getCurrentFrame():callParserFunction("DISPLAYTITLE", "Kategori:" .. displaytitle) end function Category:get_labels_categorizing() local m_labels_utilities = require(labels_utilities_module) local pos_cat_labels, sense_cat_labels, use_tlb pos_cat_labels = m_labels_utilities.find_labels_for_category(self._info.label, "pos", self._lang) local sense_label = self._info.label:match("^Perkataan (.*)$") if sense_label then use_tlb = true else sense_label = self._info.label:match("^Perkataan dengan erti (.*)$") end if not sense_label then return nil end sense_cat_labels = m_labels_utilities.find_labels_for_category(sense_label, "sense", self._lang) if use_tlb then return m_labels_utilities.format_labels_categorizing(pos_cat_labels, sense_cat_labels, self._lang) end local all_labels = pos_cat_labels for k, v in pairs(sense_cat_labels) do all_labels[k] = v end return m_labels_utilities.format_labels_categorizing(all_labels, nil, self._lang) end -- FIXME: this is clunky. local function remove_lang_params(desc) -- Simply remove a language name/code/category from the beginning of the string, but replace the language name -- in the middle of the string with either "tertentu" or "specific-language" depending on whether the -- language name appears to be an attributive qualifier of another noun or to stand by itself. This may be wrong, -- in which case the category in question should supply its own umbrella description. desc = desc:gsub("^{{{langname}}} ", "") :gsub("{{{langname}}} %(", "tertentu (") :gsub("{{{langname}}}([.,])", "tertentu%1") :gsub("{{{langname}}} ", "tertentu ") :gsub("{{{langdisp}}}", "tertentu") :gsub("{{{langlink}}}", "tertentu") return desc end function Category:getDescription(isChild) -- Allows different text in the list of a category's children local isChild = isChild == "child" if self._lang or self._info.raw then if not isChild and self._data.displaytitle then self:display_title(self._data.displaytitle, self._lang) end if self._sc then return self:getCategoryName() .. "." end local desc = self:substitute_template_specs(self._data.description) if not desc then return nil elseif isChild then return desc end return sparse_concat({ self:substitute_template_specs(self._data.preceding), desc, self:substitute_template_specs(self._data.additional), self:substitute_template_specs(self:get_labels_categorizing()), }, "\n\n") end local umbrella = self._data.umbrella if not isChild and umbrella and umbrella.displaytitle then self:display_title(umbrella.displaytitle) end local desc = self:substitute_template_specs(umbrella and umbrella.description) local has_umbrella_desc = not not desc if not desc then desc = self:convert_spec_to_string(self._data.description) if desc then desc = remove_lang_params(desc) desc = lcfirst(desc) desc = desc:gsub("%.$", "") desc = "Kategori dengan " .. desc .. "." else desc = "Kategori dengan " .. self._info.label .. " dalam pelbagai bahasa tertentu." end desc = self:substitute_template_specs(desc) end if isChild then return desc end return sparse_concat({ self:substitute_template_specs(umbrella and umbrella.preceding or not has_umbrella_desc and self._data.preceding), desc, self:substitute_template_specs(umbrella and umbrella.additional or not has_umbrella_desc and self._data.additional), self:substitute_template_specs("{{{umbrella_msg}}}"), self:substitute_template_specs(self:get_labels_categorizing()), }, "\n\n") end function Category:new_sortkey(sortkey) local sortkey_type = type(sortkey) if sortkey_type == "string" then sortkey = uupper(sortkey) elseif sortkey_type == "table" then function sortkey:makeSortKey() local sort_func = self.sort_func if sort_func ~= nil then return sort_func(self.sort_base) end local lang = self.lang if lang == nil then return self.sort_base end lang = get_lang(lang, nil, true) if lang == nil then return self.sort_base end local sc = self.sc if sc ~= nil then sc = get_script(sc) end return lang:makeSortKey(self.sort_base, sc) end end return sortkey end function Category:inherit_spec(spec, parent_spec, substitute_result) if spec == false then return nil end local retval = spec or parent_spec if substitute_result then retval = self:substitute_template_specs(retval) end return retval end function Category:canonicalize_parents_children(cats, is_children, fallback_sort_key, fallback_sort_base) if not cats then return nil elseif type(cats) == "table" then if cats.name or cats.module then cats = {cats} elseif #cats == 0 then return nil end else cats = {cats} end local ret = {} for _, cat in ipairs(cats) do if type(cat) ~= "table" or not cat.name and not cat.module then cat = {name = cat} end insert(ret, cat) end local is_umbrella = not self._lang and not self._info.raw local table_type = is_children and "extra_children" or "parents" for i, cat in ipairs(ret) do local raw if self._info.raw or is_umbrella then raw = not cat.is_label else raw = cat.raw end local lang = self:inherit_spec(cat.lang, not raw and self._info.code or nil, "substitute") local sc = self:inherit_spec(cat.sc, not raw and self._info.sc or nil, "substitute") -- Get the sortkey. local sortkey = self:inherit_spec(cat.sort, i == 1 and (fallback_sort_key or fallback_sort_base and {sort_base = fallback_sort_base}) or nil) if type(sortkey) == "table" then sortkey.sort_base = self:substitute_template_specs(sortkey.sort_base) or internal_error("Missing .sort_base in '" .. table_type .. "' .sort table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") if sortkey.sort_func then -- Not allowed to give a lang and/or script if sort_func is given. local bad_spec = sortkey.lang and "lang" or sortkey.sc and "sc" or nil if bad_spec then internal_error("Cannot specify both ." .. bad_spec .. " and .sort_func in '" .. table_type .. "' .sort table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") end else sortkey.lang = self:inherit_spec(sortkey.lang, lang, "substitute") sortkey.sc = self:inherit_spec(sortkey.sc, sc, "substitute") end else sortkey = self:substitute_template_specs(sortkey) end local name if cat.module then -- A reference to a category using another category tree module. if not cat.args then internal_error("Missing .args in '" .. table_type .. "' table with module=\"" .. cat.module .. "\" for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") end name = require("Module:category tree/" .. cat.module).new(self:substitute_template_specs_in_args(cat.args)) else name = cat.name if not name then internal_error("Missing .name in " .. (is_umbrella and "umbrella " or "") .. "'" .. table_type .. "' table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") elseif type(name) == "string" then -- otherwise, assume it's a category object and use it directly name = self:substitute_template_specs(name) if name:find("^Kategori:") then -- It's a non-poscatboiler category name. sortkey = sortkey or is_children and name:gsub("^Kategori:", "") or self:getCategoryName() else -- It's a label. sortkey = sortkey or is_children and name or self._info.label name = self:make_new{ label = name, code = lang, sc = sc, raw = raw, args = self:substitute_template_specs_in_args(cat.args) } end end end sortkey = sortkey or is_children and " " or self._info.label ret[i] = { name = name, description = is_children and self:substitute_template_specs(cat.description) or nil, sort = self:new_sortkey(sortkey) } end return ret end function Category:getParents() local is_umbrella, ret = not self._lang and not self._info.raw if self._sc then local parent1 = self:make_new{code = self._info.code, label = "Perkataan dalam tulisan " .. self._sc:getCanonicalName()} local parent2 = self:make_new{code = self._info.code, label = self._info.label, raw = self._info.raw, args = self._info.args} ret = { {name = parent1, sort = self._sc:getCanonicalName()}, {name = parent2, sort = self._sc:getCanonicalName()}, } else local parents, fallback_sort_key, fallback_sort_base if is_umbrella then parents = self._data.umbrella and self._data.umbrella.parents or self._data.umbrella_parents fallback_sort_key = self._data.umbrella and self._data.umbrella.breadcrumb_and_first_sort_key or nil fallback_sort_base = self._data.umbrella and self._data.umbrella.breadcrumb_and_first_sort_base or nil else parents = self._data.parents fallback_sort_key = self._data.breadcrumb_and_first_sort_key fallback_sort_base = self._data.breadcrumb_and_first_sort_base end ret = self:canonicalize_parents_children(parents, nil, fallback_sort_key, fallback_sort_base) if not ret then return nil end end local self_cat = self:getCategoryName() for _, parent in ipairs(ret) do local parent_cat = parent.name.getCategoryName and parent.name:getCategoryName() if self_cat == parent_cat then internal_error(("Infinite loop would occur, as parent category '%s' is the same as the child category"):format(self_cat)) end end return ret end function Category:getChildren() local is_umbrella = not self._lang and not self._info.raw local children = self._data.children local ret = {} if not is_umbrella and children then for _, child in ipairs(children) do child = mw.clone(child) if type(child) ~= "table" then child = {name = child} end if not child.sort then child.sort = child.name end -- FIXME, is preserving the script correct? child.name = self:make_new{code = self._info.code, label = child.name, raw = child.raw, sc = self._info.sc} insert(ret, child) end end local extra_children if is_umbrella then extra_children = self._data.umbrella and self._data.umbrella.extra_children else extra_children = self._data.extra_children end extra_children = self:canonicalize_parents_children(extra_children, "children") if extra_children then for _, child in ipairs(extra_children) do insert(ret, child) end end return #ret > 0 and ret or nil end function Category:getUmbrella() local umbrella = self._data.umbrella if umbrella == false or self._info.raw or not self._lang or self._sc then return nil end -- If `umbrella` is a string, use that; otherwise, use the label. return self:make_new({label = type(umbrella) == "string" and umbrella or self._info.label}) end function Category:getAppendix() -- FIXME, this should be customizable. local lang, label = self._lang, self._info.label if self._info.raw or not (lang and label) then return nil end local appendix = make_title(100, label .. " bahasa " .. lang:getCanonicalName()) return appendix.exists and appendix.fullText or nil end function Category:getCatfixInfo() if self._lang or self._sc or self._info.raw then local langcode, sccode = self._data.catfix, self._data.catfix_sc local lang, sc if langcode then langcode = self:substitute_template_specs(langcode) lang = get_lang(langcode, nil, true) elseif langcode == nil then -- not false lang = self._lang end if sccode then sccode = self:substitute_template_specs(sccode) sc = get_script(sccode) elseif sccode == nil then -- not false sc = self._sc end if lang then lang = lang:getFull() end return lang, sc elseif not self._data.umbrella then return end -- umbrella local langcode, sccode = self._data.umbrella.catfix, self._data.umbrella.catfix_sc local lang, sc if langcode then langcode = self:substitute_template_specs(langcode) lang = get_lang(langcode, nil, true) end if sccode then sccode = self:substitute_template_specs(sccode) sc = get_script(sccode) end if lang then lang = lang:getFull() end return lang, sc end function Category:getTOCTemplateName() -- This should only be invoked if getTOC() returns true, meaning to do the default algorithm, but getTOC() -- implements its own default algorithm. internal_error("This should never get called") end local export = {} function export.main(info) local self = setmetatable({_info = info}, Category) self:initCommon() return self._data and self or nil end export.new = Category.new return export syin42b26pfli4cmoza5ztx95i0pg1c 342783 342782 2026-05-16T09:14:25Z Hakimi97 2668 342783 Scribunto text/plain local lang_independent_data = require("Module:category tree/data") local lang_specific_module = "Module:category tree/lang" local lang_specific_module_prefix = lang_specific_module .. "/" local family_specific_module = "Module:category tree/fam" local family_specific_module_prefix = family_specific_module .. "/" local labels_utilities_module = "Module:labels/utilities" local template_parser_module = "Module:template parser" local concat = table.concat local dump = mw.dumpObject local expand_template = require("Module:frame").expandTemplate local insert = table.insert local is_callable = require("Module:fun").is_callable local lcfirst = require("Module:string utilities").lcfirst local list_to_set = require("Module:table").listToSet local make_title = mw.title.makeTitle local new_title = mw.title.new local parse = require(template_parser_module).parse local sparse_concat = require("Module:table").sparseConcat local tostring = tostring local type = type local ucfirst = require("Module:string utilities").ucfirst local uupper = require("Module:string utilities").upper local function internal_error(msg) error("Internal error: " .. msg) end local function get_lang(...) local _get_lang = require("Module:languages").getByCode function get_lang(...) return _get_lang(...) or require("Module:languages/errorGetBy").code(...) end return get_lang(...) end local function get_script(...) local _get_script = require("Module:scripts").getByCode function get_script(code) return _get_script(code) or require("Module:languages/error")(code, true, "script code") end return get_script(...) end -- Category object local Category = {} Category.__index = Category function Category:get_originating_info() local originating_info = "" if self._info.originating_label then originating_info = " (originating from label \"" .. self._info.originating_label .. "\" in module [[" .. self._info.originating_module .. "]])" end return originating_info end local valid_keys = list_to_set{"code", "label", "sc", "raw", "args", "also", "called_from_inside", "originating_label", "originating_module"} function Category.new(info) for key in pairs(info) do if not valid_keys[key] then internal_error("The parameter \"" .. key .. "\" was not recognized.") end end local self = setmetatable({}, Category) self._info = info if not self._info.label then internal_error("No label was specified.") end self:initCommon() if not self._data then internal_error("The " .. (self._info.raw and "raw " or "") .. "label \"" .. self._info.label .. "\" does not exist" .. self:get_originating_info() .. ".") end return self end function Category:initCommon() local function patch_args(args) -- This fixes the issue with Scribunto automatically converting keys -- in a table as numbers to strings, which in turn causes a circular -- error for having argument parameter names as numbers as strings. if type(args) ~= "table" then return args end local new_args = {} for k, v in pairs(args) do if type(k) == "string" and string.len(k) < 10 and not string.match(k, "^0") and string.match(k, "^%d+$") then new_args[tonumber(k)] = patch_args(v) else new_args[k] = patch_args(v) end end return new_args end local args_handled = false if self._info.raw then -- Check if the category exists local raw_categories = lang_independent_data["RAW_CATEGORIES"] self._data = raw_categories[self._info.label] if self._data then if self._data.lang then self._lang = get_lang(self._data.lang, nil, true) self._info.code = self._lang:getCode() end if self._data.sc then self._sc = get_script(self._data.sc) self._info.sc = self._sc:getCode() end else -- Go through raw handlers local data = { category = self._info.label, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } for _, handler in ipairs(lang_independent_data["RAW_HANDLERS"]) do self._data, args_handled = handler.handler(data) if self._data then self._data.module = self._data.module or handler.module break end end if self._data then -- Update the label if the handler specified a canonical name for it. if self._data.canonical_name then self._info.canonical_name = self._data.canonical_name end if self._data.lang then if type(self._data.lang) ~= "string" then internal_error("Received non-string value " .. dump(self._data.lang) .. " for self._data.lang, label \"" .. self._info.label .. "\"" .. self:get_originating_info() .. ".") end self._lang = get_lang(self._data.lang, nil, true) self._info.code = self._lang:getCode() end if self._data.sc then if type(self._data.sc) ~= "string" then internal_error("Received non-string value " .. dump(self._data.sc) .. " for self._data.sc, label \"" .. self._info.label .. "\"" .. self:get_originating_info() .. ".") end self._sc = get_script(self._data.sc) self._info.sc = self._sc:getCode() end end end else -- Already parsed into language + label if self._info.code then self._lang = get_lang(self._info.code, nil, true) else self._lang = nil end if self._info.sc then self._sc = get_script(self._info.sc) else self._sc = nil end self._info.orig_label = self._info.label -- If the label was packed with a \0 separator (from split_lang_label for mid-lang titles), -- reconstruct the canonical label key used in LABELS data modules. -- e.g. "Perkataan\0yang baru" → canonical key "Perkataan yang baru" if self._info.label:find("\0", 1, true) then self._info.label = self._info.label:gsub("%z", " ") end if not self._lang then -- Malay Wiktionary category names normally use LABEL + "mengikut bahasa", -- so umbrella category labels should normally remain uppercase-initial. -- Keep the original label in `orig_label`, canonicalize to uppercase-initial -- for lookup, and later fall back to lowercase if needed. self._info.label = ucfirst(self._info.label) end local function get_label_forms() local labels, seen = {}, {} local function add(label) if label and not seen[label] then insert(labels, label) seen[label] = true end end add(self._info.label) add(self._info.orig_label) add(lcfirst(self._info.label)) return labels end -- First, check lang-specific labels and handlers if this is not an umbrella category. if self._lang then local objects_with_modules = require(lang_specific_module) local obj, seen = self._lang, {} local object_specific_module_prefix = lang_specific_module_prefix local is_family = false repeat if objects_with_modules[obj:getCode()] then local module = object_specific_module_prefix .. obj:getCode() local labels_and_handlers = require(module) if labels_and_handlers.LABELS then self._data = labels_and_handlers.LABELS[self._info.label] if self._data then if not is_family and self._data.umbrella == nil and self._data.umbrella_parents == nil then self._data.umbrella = false end self._data.module = self._data.module or module end end if not self._data and labels_and_handlers.HANDLERS then for _, handler in ipairs(labels_and_handlers.HANDLERS) do local data = { label = self._info.label, lang = self._lang, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } self._data, args_handled = handler(data) if self._data then if not is_family and self._data.umbrella == nil and self._data.umbrella_parents == nil then self._data.umbrella = false end self._data.module = self._data.module or module break end end end if self._data then break end end seen[obj:getCode()] = true obj = obj:getFamily() if not is_family then is_family = true object_specific_module_prefix = family_specific_module_prefix objects_with_modules = require(family_specific_module) end until not obj or seen[obj:getCode()] end local function fetch_label_data(labels) for _, label in ipairs(get_label_forms()) do self._data = labels[label] if self._data then self._info.label = label return end end end -- Then check lang-independent labels. if not self._data then -- lang_independent_data.LABELS should always exist. fetch_label_data(lang_independent_data.LABELS) if not self._data and not self._lang then -- Check family-specific labels for umbrella label. local families_with_modules = require(family_specific_module) for famcode, _ in pairs(families_with_modules) do local module = family_specific_module_prefix .. famcode local labels_and_handlers = require(module) if labels_and_handlers.LABELS then fetch_label_data(labels_and_handlers.LABELS) if self._data then self._data.module = self._data.module or module break end end end end end -- Then check lang-independent handlers. if not self._data then for _, handler in ipairs(lang_independent_data["HANDLERS"]) do for _, label in ipairs(get_label_forms()) do local data = { label = label, lang = self._lang, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } self._data, args_handled = handler.handler(data) if self._data then self._info.label = label self._data.module = self._data.module or handler.module break end end if self._data then break end end if not self._data and not self._lang then -- Check family-specific labels for umbrella handler. local families_with_modules = require(family_specific_module) for famcode, _ in pairs(families_with_modules) do local module = family_specific_module_prefix .. famcode local labels_and_handlers = require(module) if labels_and_handlers.HANDLERS then for _, handler in ipairs(labels_and_handlers.HANDLERS) do for _, label in ipairs(get_label_forms()) do local data = { label = label, sc = self._sc, args = patch_args(self._info.args) or {}, called_from_inside = self._info.called_from_inside, } self._data, args_handled = handler(data) if self._data then self._info.label = label self._data.module = self._data.module or module break end end if self._data then break end end end if self._data then break end end end end end if not args_handled and self._data and self._info.args and next(self._info.args) then local module_text = " (handled in [[" .. (self._data.module or "UNKNOWN").. "]])" local args_text = {} for k, v in pairs(self._info.args) do insert(args_text, k .. "=" .. ((type(v) == "string" or type(v) == "number") and v or dump(v))) end error("poscatboiler label '" .. self._info.label .. "' " .. module_text .. " doesn't accept extra args " .. concat(args_text, ", ")) end if self._sc and not self._lang then internal_error("Umbrella categories cannot have a script specified.") end end function Category:convert_spec_to_string(desc) if not desc then return desc end local desc_type = type(desc) if desc_type == "string" then return desc elseif desc_type == "number" then return tostring(desc) elseif not is_callable(desc) then internal_error("`desc` must be a string, number, function, callable table or nil; received " .. dump(desc)) end desc = desc { lang = self._lang, sc = self._sc, label = self._info.label, raw = self._info.raw, } if not desc then return desc end desc_type = type(desc) if desc_type == "string" then return desc end internal_error("The value returned by `desc` must be a string or nil; received " .. dump(desc)) end local function add_obj_args(args, obj, obj_type) if obj then args[obj_type .. "code"] = obj:getCode() args[obj_type .. "name"] = obj:getCanonicalName() args[obj_type .. "disp"] = obj:getDisplayForm() args[obj_type .. "cat"] = obj:getCategoryName() args[obj_type .. "link"] = obj:makeCategoryLink() end end -- Expands `desc` like a template, passing values for specs like {{{langname}}}. function Category:substitute_template_specs(desc) -- This may end up happening twice but that's OK as the function is (usually) idempotent. -- FIXME: Not idempotent if a preprocessed template returns wikicode. desc = self:convert_spec_to_string(desc) if not desc then return nil end -- Populate the substitution arguments. local args = {} args.umbrella_msg = "Kategori ini merupakan sebuah kategori payung. Ia tidak mengandungi sebarang entri kamus, sebaliknya hanya mengandungi kategori khusus bahasa lain, yang seterusnya mengandungi istilah yang berkaitan dalam bahasa tertentu." args.umbrella_meta_msg = "Kategori ini merupakan sebuah metakategori payung, yang meliputi bidang umum seperti \"lema\", \"nama\" atau \"perkataan mengikut etimologi\". Ia tidak mengandungi sebarang entri kamus, sebaliknya hanya mengandungi kategori payung (\"mengikut bahasa\") yang merangkumi subtopik tertentu, yang seterusnya mengandungi kategori khusus bahasa yang mengandungi istilah dalam bahasa tertentu untuk topik yang sama." add_obj_args(args, self._lang, "lang") add_obj_args(args, self._sc, "sc") return parse(desc, true):expand(args) end function Category:substitute_template_specs_in_args(args) if not args then return args end local pinfo = {} for k, v in pairs(args) do pinfo[self:substitute_template_specs(k)] = self:substitute_template_specs(v) end return pinfo end function Category:make_new(info) info.originating_label = self._info.label info.originating_module = self._data.module info.called_from_inside = true return Category.new(info) end function Category:getBreadcrumbName() local ret if self._lang or self._info.raw then ret = self._data.breadcrumb or self._data.breadcrumb_and_first_sort_key or self._data.breadcrumb_and_first_sort_base or nil else ret = self._data.umbrella and (self._data.umbrella.breadcrumb or self._data.umbrella.breadcrumb_and_first_sort_key or self._data.umbrella.breadcrumb_and_first_sort_base) or nil end if not ret then ret = self._info.label end if type(ret) ~= "table" then ret = {name = ret} end local name = self:substitute_template_specs(ret.name) local nocap = ret.nocap if self._sc then name = name .. " dalam tulisan " .. self._sc:getDisplayForm() end return name, nocap end local function expand_toc_template_if(template) local template_obj = new_title(template, 10) if template_obj.exists then return expand_template{title = template_obj.text} end return nil end -- Return the textual expansion of the first existing template among the given templates, first performing -- substitutions on the template name such as replacing {{{langcode}}} with the current language's code (if any). -- If no templates exist after expansion, or if nil is passed in, return nil. If a single string is passed in, -- treat it like a one-element list consisting of that string. function Category:get_template_text(templates) if templates == nil then return nil elseif type(templates) ~= "table" then templates = {templates} end for _, template in ipairs(templates) do if template == false then return false end template = self:substitute_template_specs(template) return expand_toc_template_if(template) end return nil end function Category:getTOC(toc_type) -- Type "none" means everything fits on a single page; in that case, display nothing. if toc_type == "none" then return nil end local templates, fallback_templates -- If TOC type is "full" (more than 2500 entries), do the following, in order: -- 1. look up and expand the `toc_template_full` templates (normal or umbrella, depending on whether there is -- a current language); -- 2. look up and expand the `toc_template` templates (normal or umbrella, as above); -- 3. do the default behavior, which is as follows: -- 3a. look up a language-specific "full" template according to the current language (using English if there -- is no current language); -- 3b. look up a script-specific "full" template according to the first script of current language (using English -- if there is no current language); -- 3c. look up a language-specific "normal" template according to the current language (using English if there -- is no current language); -- 3d. look up a script-specific "normal" template according to the first script of the current language (using -- English if there is no current language); -- 3e. display nothing. -- -- If TOC type is "normal" (between 200 and 2500 entries), do the following, in order: -- 1. look up and expand the `toc_template` templates (normal or umbrella, depending on whether there is -- a current language); -- 2. do the default behavior, which is as follows: -- 2a. look up a language-specific "normal" template according to the current language (using English if there -- is no current language); -- 2b. look up a script-specific "normal" template according to the first script of the current language (using -- English if there is no current language); -- 2c. display nothing. local data_source if self._lang or self._info.raw then data_source = self._data else data_source = self._data.umbrella end if data_source then if toc_type == "full" then templates = data_source.toc_template_full fallback_templates = data_source.toc_template else templates = data_source.toc_template end end local text = self:get_template_text(templates) if text then return text elseif text == false then return nil end text = self:get_template_text(fallback_templates) if text then return text elseif text == false then return nil end local default_toc_templates_to_check = {} local lang, sc = self:getCatfixInfo() local langcode = lang and lang:getCode() or "ms" local sccode = sc and sc:getCode() or lang and lang:getScriptCodes()[1] or "Latn" -- FIXME: What is toctemplateprefix used for? local tocname = (self._data.toctemplateprefix or "") .. "categoryTOC" if toc_type == "full" then insert(default_toc_templates_to_check, ("%s-%s/full"):format(langcode, tocname)) insert(default_toc_templates_to_check, ("%s-%s/full"):format(sccode, tocname)) end insert(default_toc_templates_to_check, ("%s-%s"):format(langcode, tocname)) insert(default_toc_templates_to_check, ("%s-%s"):format(sccode, tocname)) for _, toc_template in ipairs(default_toc_templates_to_check) do local toc_template_text = expand_toc_template_if(toc_template) if toc_template_text then return toc_template_text end end return nil end function Category:getInfo() return self._info end function Category:getDataModule() return self._data.module end function Category:canBeEmpty() if self._lang or self._info.raw then return self._data.can_be_empty end return self._data.umbrella and self._data.umbrella.can_be_empty end function Category:isHidden() if self._lang or self._info.raw then return self._data.hidden end return self._data.umbrella and self._data.umbrella.hidden end function Category:getCategoryName() if self._info.raw then return self._info.canonical_name or self._info.label elseif self._lang then local langname = self._lang:getCanonicalName() local connector = (self._data and self._data.lang_connector) or "bahasa" local ret -- Case 1: label data explicitly declares lang_position = "mid" with label_before/label_after. if self._data and self._data.lang_position == "mid" then local before = self._data.label_before or self._info.label local after = self._data.label_after or "" ret = before .. " " .. connector .. " " .. langname if after ~= "" then ret = ret .. " " .. after end -- Case 2: label was parsed from a mid-lang title; before\0after packed in self._info.label. elseif self._info.label:find("\0", 1, true) then local before, after = self._info.label:match("^(.-)%z(.*)$") ret = before .. " " .. connector .. " " .. langname if after and after ~= "" then ret = ret .. " " .. after end -- Case 3: default — label precedes "bahasa LANG" (original behaviour). else ret = self._info.label .. " " .. connector .. " " .. langname end if self._sc then ret = ret .. " dalam tulisan " .. self._sc:getDisplayForm() end return ucfirst(ret) end local ret = ucfirst(self._info.label) if not (self._data.no_by_language or self._data.umbrella and self._data.umbrella.no_by_language) then ret = ret .. " mengikut bahasa" end return ret end function Category:getTopright() if self._lang or self._info.raw then return self:substitute_template_specs(self._data.topright) end return self._data.umbrella and self:substitute_template_specs(self._data.umbrella.topright) end function Category:display_title(displaytitle, lang) if type(displaytitle) == "string" then displaytitle = self:substitute_template_specs(displaytitle) else displaytitle = displaytitle(self:getCategoryName(), lang) end mw.getCurrentFrame():callParserFunction("DISPLAYTITLE", "Kategori:" .. displaytitle) end function Category:get_labels_categorizing() local m_labels_utilities = require(labels_utilities_module) local pos_cat_labels, sense_cat_labels, use_tlb pos_cat_labels = m_labels_utilities.find_labels_for_category(self._info.label, "pos", self._lang) local sense_label = self._info.label:match("^Perkataan (.*)$") if sense_label then use_tlb = true else sense_label = self._info.label:match("^Perkataan dengan erti (.*)$") end if not sense_label then return nil end sense_cat_labels = m_labels_utilities.find_labels_for_category(sense_label, "sense", self._lang) if use_tlb then return m_labels_utilities.format_labels_categorizing(pos_cat_labels, sense_cat_labels, self._lang) end local all_labels = pos_cat_labels for k, v in pairs(sense_cat_labels) do all_labels[k] = v end return m_labels_utilities.format_labels_categorizing(all_labels, nil, self._lang) end -- FIXME: this is clunky. local function remove_lang_params(desc) -- Simply remove a language name/code/category from the beginning of the string, but replace the language name -- in the middle of the string with either "tertentu" or "specific-language" depending on whether the -- language name appears to be an attributive qualifier of another noun or to stand by itself. This may be wrong, -- in which case the category in question should supply its own umbrella description. desc = desc:gsub("^{{{langname}}} ", "") :gsub("{{{langname}}} %(", "tertentu (") :gsub("{{{langname}}}([.,])", "tertentu%1") :gsub("{{{langname}}} ", "tertentu ") :gsub("{{{langdisp}}}", "tertentu") :gsub("{{{langlink}}}", "tertentu") return desc end function Category:getDescription(isChild) -- Allows different text in the list of a category's children local isChild = isChild == "child" if self._lang or self._info.raw then if not isChild and self._data.displaytitle then self:display_title(self._data.displaytitle, self._lang) end if self._sc then return self:getCategoryName() .. "." end local desc = self:substitute_template_specs(self._data.description) if not desc then return nil elseif isChild then return desc end return sparse_concat({ self:substitute_template_specs(self._data.preceding), desc, self:substitute_template_specs(self._data.additional), self:substitute_template_specs(self:get_labels_categorizing()), }, "\n\n") end local umbrella = self._data.umbrella if not isChild and umbrella and umbrella.displaytitle then self:display_title(umbrella.displaytitle) end local desc = self:substitute_template_specs(umbrella and umbrella.description) local has_umbrella_desc = not not desc if not desc then desc = self:convert_spec_to_string(self._data.description) if desc then desc = remove_lang_params(desc) desc = lcfirst(desc) desc = desc:gsub("%.$", "") desc = "Kategori dengan " .. desc .. "." else desc = "Kategori dengan " .. self._info.label .. " dalam pelbagai bahasa tertentu." end desc = self:substitute_template_specs(desc) end if isChild then return desc end return sparse_concat({ self:substitute_template_specs(umbrella and umbrella.preceding or not has_umbrella_desc and self._data.preceding), desc, self:substitute_template_specs(umbrella and umbrella.additional or not has_umbrella_desc and self._data.additional), self:substitute_template_specs("{{{umbrella_msg}}}"), self:substitute_template_specs(self:get_labels_categorizing()), }, "\n\n") end function Category:new_sortkey(sortkey) local sortkey_type = type(sortkey) if sortkey_type == "string" then sortkey = uupper(sortkey) elseif sortkey_type == "table" then function sortkey:makeSortKey() local sort_func = self.sort_func if sort_func ~= nil then return sort_func(self.sort_base) end local lang = self.lang if lang == nil then return self.sort_base end lang = get_lang(lang, nil, true) if lang == nil then return self.sort_base end local sc = self.sc if sc ~= nil then sc = get_script(sc) end return lang:makeSortKey(self.sort_base, sc) end end return sortkey end function Category:inherit_spec(spec, parent_spec, substitute_result) if spec == false then return nil end local retval = spec or parent_spec if substitute_result then retval = self:substitute_template_specs(retval) end return retval end function Category:canonicalize_parents_children(cats, is_children, fallback_sort_key, fallback_sort_base) if not cats then return nil elseif type(cats) == "table" then if cats.name or cats.module then cats = {cats} elseif #cats == 0 then return nil end else cats = {cats} end local ret = {} for _, cat in ipairs(cats) do if type(cat) ~= "table" or not cat.name and not cat.module then cat = {name = cat} end insert(ret, cat) end local is_umbrella = not self._lang and not self._info.raw local table_type = is_children and "extra_children" or "parents" for i, cat in ipairs(ret) do local raw if self._info.raw or is_umbrella then raw = not cat.is_label else raw = cat.raw end local lang = self:inherit_spec(cat.lang, not raw and self._info.code or nil, "substitute") local sc = self:inherit_spec(cat.sc, not raw and self._info.sc or nil, "substitute") -- Get the sortkey. local sortkey = self:inherit_spec(cat.sort, i == 1 and (fallback_sort_key or fallback_sort_base and {sort_base = fallback_sort_base}) or nil) if type(sortkey) == "table" then sortkey.sort_base = self:substitute_template_specs(sortkey.sort_base) or internal_error("Missing .sort_base in '" .. table_type .. "' .sort table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") if sortkey.sort_func then -- Not allowed to give a lang and/or script if sort_func is given. local bad_spec = sortkey.lang and "lang" or sortkey.sc and "sc" or nil if bad_spec then internal_error("Cannot specify both ." .. bad_spec .. " and .sort_func in '" .. table_type .. "' .sort table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") end else sortkey.lang = self:inherit_spec(sortkey.lang, lang, "substitute") sortkey.sc = self:inherit_spec(sortkey.sc, sc, "substitute") end else sortkey = self:substitute_template_specs(sortkey) end local name if cat.module then -- A reference to a category using another category tree module. if not cat.args then internal_error("Missing .args in '" .. table_type .. "' table with module=\"" .. cat.module .. "\" for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") end name = require("Module:category tree/" .. cat.module).new(self:substitute_template_specs_in_args(cat.args)) else name = cat.name if not name then internal_error("Missing .name in " .. (is_umbrella and "umbrella " or "") .. "'" .. table_type .. "' table for '" .. self._info.label .. "' category entry in module '" .. (self._data.module or "unknown") .. "'") elseif type(name) == "string" then -- otherwise, assume it's a category object and use it directly name = self:substitute_template_specs(name) if name:find("^Kategori:") then -- It's a non-poscatboiler category name. sortkey = sortkey or is_children and name:gsub("^Kategori:", "") or self:getCategoryName() else -- It's a label. sortkey = sortkey or is_children and name or self._info.label name = self:make_new{ label = name, code = lang, sc = sc, raw = raw, args = self:substitute_template_specs_in_args(cat.args) } end end end sortkey = sortkey or is_children and " " or self._info.label ret[i] = { name = name, description = is_children and self:substitute_template_specs(cat.description) or nil, sort = self:new_sortkey(sortkey) } end return ret end function Category:getParents() local is_umbrella, ret = not self._lang and not self._info.raw if self._sc then local parent1 = self:make_new{code = self._info.code, label = "Perkataan dalam tulisan " .. self._sc:getCanonicalName()} local parent2 = self:make_new{code = self._info.code, label = self._info.label, raw = self._info.raw, args = self._info.args} ret = { {name = parent1, sort = self._sc:getCanonicalName()}, {name = parent2, sort = self._sc:getCanonicalName()}, } else local parents, fallback_sort_key, fallback_sort_base if is_umbrella then parents = self._data.umbrella and self._data.umbrella.parents or self._data.umbrella_parents fallback_sort_key = self._data.umbrella and self._data.umbrella.breadcrumb_and_first_sort_key or nil fallback_sort_base = self._data.umbrella and self._data.umbrella.breadcrumb_and_first_sort_base or nil else parents = self._data.parents fallback_sort_key = self._data.breadcrumb_and_first_sort_key fallback_sort_base = self._data.breadcrumb_and_first_sort_base end ret = self:canonicalize_parents_children(parents, nil, fallback_sort_key, fallback_sort_base) if not ret then return nil end end local self_cat = self:getCategoryName() for _, parent in ipairs(ret) do local parent_cat = parent.name.getCategoryName and parent.name:getCategoryName() if self_cat == parent_cat then internal_error(("Infinite loop would occur, as parent category '%s' is the same as the child category"):format(self_cat)) end end return ret end function Category:getChildren() local is_umbrella = not self._lang and not self._info.raw local children = self._data.children local ret = {} if not is_umbrella and children then for _, child in ipairs(children) do child = mw.clone(child) if type(child) ~= "table" then child = {name = child} end if not child.sort then child.sort = child.name end -- FIXME, is preserving the script correct? child.name = self:make_new{code = self._info.code, label = child.name, raw = child.raw, sc = self._info.sc} insert(ret, child) end end local extra_children if is_umbrella then extra_children = self._data.umbrella and self._data.umbrella.extra_children else extra_children = self._data.extra_children end extra_children = self:canonicalize_parents_children(extra_children, "children") if extra_children then for _, child in ipairs(extra_children) do insert(ret, child) end end return #ret > 0 and ret or nil end function Category:getUmbrella() local umbrella = self._data.umbrella if umbrella == false or self._info.raw or not self._lang or self._sc then return nil end -- If `umbrella` is a string, use that; otherwise, use the label. return self:make_new({label = type(umbrella) == "string" and umbrella or self._info.label}) end function Category:getAppendix() -- FIXME, this should be customizable. local lang, label = self._lang, self._info.label if self._info.raw or not (lang and label) then return nil end local appendix = make_title(100, label .. " bahasa " .. lang:getCanonicalName()) return appendix.exists and appendix.fullText or nil end function Category:getCatfixInfo() if self._lang or self._sc or self._info.raw then local langcode, sccode = self._data.catfix, self._data.catfix_sc local lang, sc if langcode then langcode = self:substitute_template_specs(langcode) lang = get_lang(langcode, nil, true) elseif langcode == nil then -- not false lang = self._lang end if sccode then sccode = self:substitute_template_specs(sccode) sc = get_script(sccode) elseif sccode == nil then -- not false sc = self._sc end if lang then lang = lang:getFull() end return lang, sc elseif not self._data.umbrella then return end -- umbrella local langcode, sccode = self._data.umbrella.catfix, self._data.umbrella.catfix_sc local lang, sc if langcode then langcode = self:substitute_template_specs(langcode) lang = get_lang(langcode, nil, true) end if sccode then sccode = self:substitute_template_specs(sccode) sc = get_script(sccode) end if lang then lang = lang:getFull() end return lang, sc end function Category:getTOCTemplateName() -- This should only be invoked if getTOC() returns true, meaning to do the default algorithm, but getTOC() -- implements its own default algorithm. internal_error("This should never get called") end local export = {} function export.main(info) local self = setmetatable({_info = info}, Category) self:initCommon() return self._data and self or nil end export.new = Category.new return export gxo4owc3d3mxrvau4oifgp70e2xk6b5 Modul:category tree/topic/Culture 828 11524 342795 335858 2026-05-16T11:50:06Z Hakimi97 2668 342795 Scribunto text/plain local labels = {} labels["budaya"] = { type = "berkenaan", description = "default", parents = {"masyarakat"}, } labels["A Christmas Carol"] = { type = "berkenaan", wikidata = 62879, displaytitle = "''A Christmas Carol''", description = "{{{langname}}} terms that are used in the context of the tale ''{{w|A Christmas Carol}}'', by {{w|Charles Dickens}}, such as the names of its characters or author.", parents = {"cereka British", "Charles Dickens"}, } labels["A Song of Ice and Fire"] = { type = "berkenaan", wikidata = 45875, displaytitle = "''A Song of Ice and Fire''", description = "{{{langname}}} terms used in context of the ''{{w|Song of Ice and Fire}}'' novel series and its television adaptation ''{{w|Game of Thrones}}''.", parents = {"cereka Amerika", "fantasi", "kesusasteraan"}, } labels["lakonan"] = { type = "berkenaan", description = "default", parents = {"seni"}, } labels["alternate history"] = { type = "berkenaan", description = "default", parents = {"cereka spekulatif", "history"}, } labels["cereka Amerika"] = { type = "berkenaan", description = "=works of American fiction", parents = {"cereka", "Amerika Syarikat"}, } labels["animasi"] = { type = "berkenaan", description = "default", parents = {"media massa"}, } labels["Arabic fiction"] = { type = "berkenaan", description = "=works of [[fiction]] of [[Arabic]] origin", parents = {"cereka"}, } labels["dewa Arab"] = { type = "nama", description = "default", parents = {"dewa", "mitologi Arab"}, } labels["mitologi Arab"] = { type = "berkenaan", description = "default", parents = {"mitologi"}, } labels["mitologi Armenia"] = { type = "berkenaan", description = "default", parents = {"mitologi", "Armenia"}, } labels["seni"] = { type = "berkenaan", description = "default", parents = {"budaya"}, } labels["Arthurian mythology"] = { type = "berkenaan", description = "default", parents = {"mitologi", "United Kingdom"}, } labels["karya seni"] = { type = "nama,jenis", description = "default", parents = {"seni"}, } labels["astrobiologi"] = { type = "berkenaan", description = "default", parents = {"astronomi", "biologi", "geologi"}, } labels["astrologi"] = { type = "berkenaan", description = "default", parents = {"penilikan", "pseudosains", "teori saintifik lapuk"}, } labels["Asturian mythology"] = { type = "berkenaan", description = "default", parents = {"mitologi", "Asturias, Spain"}, } labels["Avatar: The Last Airbender"] = { type = "berkenaan", wikidata = 11572, displaytitle = "''Avatar: The Last Airbender''", description = "{{{langname}}} terms derived from and/or related to the animated television series ''{{w|Avatar: The Last Airbender}}'' and its spin-off ''{{w|The Legend of Korra}}''.", parents = {"cereka Amerika", "animasi"}, } labels["Australian Aboriginal mythology"] = { type = "berkenaan", description = "default", parents = {"mitologi", "Australia"}, } labels["ballet"] = { type = "berkenaan", description = "default", parents = {"tarian"}, } labels["Barbie"] = { type = "berkenaan", wikidata = 167447, description = "=the {{w|Barbie}} fashion doll produced by Mattel", parents = {"toys"}, } labels["Batman"] = { type = "berkenaan", wikidata = 2695156, description = "=the fictional [[superhero]] [[Batman]]", parents = {"DC Comics", "watak cereka"}, } labels["bibliography"] = { type = "berkenaan", description = "default", parents = {"buku"}, } labels["Bilibili"] = { type = "berkenaan", wikidata = 3077586, description = "=the video-sharing website {{w|bilibili}}", parents = {"media sosial", "World Wide Web"}, } labels["blogging"] = { type = "berkenaan", description = "default", parents = {"media sosial"}, } labels["Bluesky"] = { type = "berkenaan", wikidata = 78194383, description = "=the microblogging and social networking service {{w|Bluesky}}", parents = {"media sosial", "World Wide Web"}, } labels["body art"] = { type = "berkenaan", description = "default", parents = {"seni", "fesyen"}, } labels["Bollywood"] = { type = "berkenaan", wikidata = 93196, description = "default", parents = {"filem", "India"}, } labels["buku"] = { type = "berkenaan", description = "default", parents = {"media massa", "kesusasteraan"}, } labels["books of the Poetic Edda"] = { type = "nama", displaytitle = "books of the ''Poetic Edda''", description = "=[[book]]s of the ''[[Poetic Edda]]''", parents = {"mitologi Norse"}, } labels["budaya rakyat Brazil"] = { type = "berkenaan", description = "default", parents = {"budaya rakyat", "Brazil"}, } labels["cereka British"] = { type = "berkenaan", description = "=works of [[fiction]] of [[British]] origin", parents = {"cereka", "United Kingdom"}, } labels["Buffy the Vampire Slayer"] = { type = "berkenaan", wikidata = 183513, displaytitle = "''Buffy the Vampire Slayer''", description = "=the television series ''{{w|Buffy the Vampire Slayer}}'' (1997–2003)", parents = {"cereka Amerika", "televisyen", "vampires"}, } labels["cereka Kanada"] = { type = "berkenaan", description = "=works of [[fiction]] of [[Canada|Canadian]] origin", parents = {"cereka", "Kanada"}, } labels["seni khat"] = { type = "berkenaan", description = "default", parents = {"seni", "penulisan"}, } labels["cartomancy"] = { type = "berkenaan", description = "default", parents = {"penilikan"}, } labels["castells"] = { type = "berkenaan", description = "=[[castell]]s, the Catalan tradition of human tower building", additional = "See {{w|castells}}.", parents = {"budaya", "sports"}, } labels["celestial inhabitants"] = { type = "jenis", description = "=inhabitants of known [[celestial body|celestial bodies]]", parents = {"watak cereka", "cereka sains", "demonyms"}, } labels["Celtic mythology"] = { type = "berkenaan", description = "default", parents = {"mitologi", "Ireland", "Wales"}, } labels["watak budaya rakyat"] = { type = "berkenaan", description = "default", parents = {"watak cereka", "budaya rakyat"}, } labels["cheerleading"] = { type = "berkenaan", description = "default", parents = {"tarian", "gymnastics", "sports"}, } labels["Church of England"] = { type = "berkenaan", description = "default with the", parents = {"Anglicanism", "England"}, } labels["cereka China"] = { type = "berkenaan", description = "=works of [[fiction]], including [[anime]]s, [[manhua]]s, [[novel]]s, [[series]] and [[video game]]s, whose origin is of [[China]]", parents = {"cereka", "China"}, } labels["mitologi Cina"] = { type = "berkenaan", description = "default", parents = {"mitologi", "China"}, } labels["sinematografi"] = { type = "berkenaan", description = "default", parents = {"filem"}, } labels["sarkas"] = { type = "berkenaan", description = "default no singularize", parents = {"hiburan", "teater"}, } labels["komedi"] = { type = "berkenaan", description = "default", parents = {"drama"}, } labels["komik"] = { type = "berkenaan", description = "default no singularize", parents = {"kesusasteraan"}, } -- Confucianism: see [[Module:category tree/topic/Philosophy]] labels["conlanging"] = { type = "berkenaan", description = "=[[conlanging]] (the making of [[constructed language]]s)", parents = {"language", "budaya"}, } labels["teori konspirasi"] = { type = "berkenaan,set", description = "=[[conspiracy theory|conspiracy theories]] and theorists", parents = {"budaya"}, } labels["constellations in the zodiac"] = { type = "nama", description = "=the ring of [[constellations]] that line the [[ecliptic]], the apparent path of the [[Sun]] across the [[celestial sphere]] over the course of a year", parents = {"constellations", "astrologi"}, } labels["kosmetik"] = { type = "berkenaan", description = "default", parents = {"kelengkapan dandanan diri", "fesyen"}, } labels["cosplay"] = { type = "berkenaan", description = "default", parents = {"fandom"}, } labels["tarian"] = { type = "berkenaan", description = "default", parents = {"seni", "rekreasi"}, } labels["dances"] = { type = "jenis", description = "default", parents = {"tarian"}, } labels["DC Comics"] = { type = "berkenaan", wikidata = 2924461, description = "={{w|DC Comics}}", parents = {"cereka Amerika", "komik"}, } labels["demoscene"] = { type = "berkenaan", description = "default", parents = {"budaya", "computing"}, } labels["reka bentuk"] = { type = "berkenaan", description = "default", parents = {"seni"}, } labels["dictionaries"] = { type = "jenis,nama", description = "default", parents = {"reference works", "lexicography"}, } labels["Disney"] = { type = "berkenaan", wikidata = 7414, description = "=the properties of {{w|The Walt Disney Company}}", additional = "This includes properties acquired jointly with or from other companies.", parents = {"cereka Amerika", "komik", "filem", "televisyen"}, } labels["penilikan"] = { type = "jenis", description = "default", parents = {"okultisme"}, } labels["Doctor Who"] = { type = "berkenaan", wikidata = 34316, displaytitle = "''Doctor Who''", description = "=the ''{{w|Doctor Who}}'' franchise", parents = {"cereka British", "cereka sains", "televisyen"}, } labels["Dracula"] = { type = "berkenaan", wikidata = 41542, displaytitle = "''Dracula''", description = "=the 1897 gothic horror novel ''{{w|Dracula}}'' by {{w|Bram Stoker}}, and its cultural derivations.", parents = {"fantasi", "kesusasteraan", "vampires"}, } labels["naga"] = { type = "berkenaan,jenis", description = "default", parents = {"mythological creatures"}, } labels["drama"] = { type = "berkenaan", description = "default", parents = {"teater"}, } labels["dewa Mesir"] = { type = "nama", description = "default", parents = {"dewa", "mitologi Mesir"}, } labels["mitologi Mesir"] = { type = "berkenaan", description = "default", parents = {"mitologi", "Mesir Purba"}, } labels["hiburan"] = { type = "berkenaan", description = "default", parents = {"budaya"}, } labels["erotic literature"] = { type = "berkenaan", description = "default", parents = {"cereka", "genre kesusasteraan", "sex"}, } labels["mitologi Etruria"] = { type = "berkenaan", description = "default", parents = {"mitologi", "Etruria"}, } labels["budaya rakyat Eropah"] = { type = "berkenaan", description = "default", parents = {"budaya rakyat", "Eropah"}, } labels["fairy tale"] = { type = "berkenaan", description = "=[[fairy tale]]s", parents = {"cereka"}, } labels["fairy tale characters"] = { type = "nama", description = "=[[fairy tale]] [[character]]s", parents = {"watak cereka", "fairy tale"}, } labels["fairy tales"] = { type = "nama", description = "default", parents = {"fairy tale"}, } labels["fan fiction"] = { type = "berkenaan", description = "default", parents = {"cereka", "fandom", "kesusasteraan"}, } labels["fandom"] = { type = "berkenaan", description = "{{{langname}}} terms arising from [[fandom]] culture.", parents = {"budaya"}, } labels["fantasi"] = { type = "berkenaan", description = "=the [[genre]] of [[fantasy]]", parents = {"cereka", "cereka spekulatif"}, } labels["fesyen"] = { type = "berkenaan", description = "default", parents = {"budaya", "pakaian"}, } labels["faster-than-light travel"] = { type = "berkenaan", description = "default", parents = {"travel", "cereka sains", "astrofizik", "kerelatifan"}, } labels["Fediverse"] = { type = "berkenaan", wikidata = 30325419, description = "=the decentralised social networking services collectively known as the {{w|Fediverse}}", parents = {"media sosial", "World Wide Web"}, } labels["cereka"] = { type = "berkenaan", description = "=specific works of [[fiction]]", parents = {"karya seni"}, } labels["fictional abilities"] = { type = "berkenaan,jenis", description = "=fictional [[ability|abilities]] and [[superpower]]s", parents = {"cereka", "cereka spekulatif"}, } labels["watak cereka"] = { type = "nama,jenis", description = "default", parents = {"cereka"}, } labels["fictional locations"] = { type = "nama,jenis", description = "default", parents = {"cereka"}, } labels["fictional planets"] = { type = "nama", description = "default", parents = {"fictional locations"}, } labels["fictional universes"] = { type = "nama,jenis", description = "default", parents = {"fictional locations"}, } labels["filem"] = { type = "berkenaan", description = "default", parents = {"media massa", "hiburan"}, } labels["F/F ships (fandom)"] = { type = "nama", description = "{{{langname}}} names used in [[fandom]] for specific {{l|en|ship|ships|id=fandomnoun}} between two female characters.", parents = {"LGBTQ", "ships (fandom) by relationship type"}, } labels["film genres"] = { type = "jenis,berkenaan", description = "default", parents = {"filem", "genre"}, } labels["industri filem"] = { type = "nama", description = "default", parents = {"filem"}, } labels["Finnic mythology"] = { type = "berkenaan", description = "=the [[mythology]] of the [[Finnic]] peoples", additional = "This includes (but is not limited to) [[Finnish]] and [[Estonian]] mythology.", parents = {"mitologi", "Finland", "Estonia"}, } labels["flamenco"] = { type = "berkenaan", description = "default", parents = {"tarian"}, } labels["budaya rakyat"] = { type = "berkenaan", description = "default", parents = {"budaya"}, } labels["furry fandom"] = { type = "berkenaan", description = "default", parents = {"fandom", "subbudaya"}, } labels["dewa Jermanik"] = { type = "nama", description = "default", parents = {"dewa", "mitologi Jermanik"}, } labels["mitologi Jermanik"] = { type = "nama", description = "=the [[mythology]] of the [[Germanic]] peoples", parents = {"mitologi"}, } labels["genre"] = { type = "jenis,berkenaan", description = "=[[genre]]s and genre classifications", parents = {"hiburan"}, wpcat = true, } labels["hantu"] = { type = "berkenaan", description = "default", parents = {"afterlife", "alam ghaib", "characters from folklore", "death", "fantasi", "horror", "mythological creatures", "okultisme"}, } labels["Glee"] = { type = "berkenaan", wikidata = 152178, description = "=siri televisyen, ''[[w:Glee (siri TV)|Glee]]'' (2009–2015)", parents = {"cereka Amerika", "televisyen"}, } labels["reka bentuk grafik"] = { type = "berkenaan", description = "default", parents = {"reka bentuk"}, } labels["dewa Yunani"] = { type = "nama", description = "default", parents = {"dewa", "mitologi Yunani"}, } labels["mitologi Yunani"] = { type = "berkenaan", description = "=[[mitologi]] masyarakat [[Yunani Purba]]", parents = {"mitologi", "Yunani Purba"}, } labels["Gulliver's Travels"] = { type = "berkenaan", wikidata = 181488, displaytitle = "''Gulliver's Travels''", description = "=''[[w:Gulliver's Travels|Gulliver’s Travels]]''", parents = {"kesusasteraan"}, } labels["Harry Potter"] = { type = "berkenaan", wikidata = 8337, displaytitle = "''Harry Potter''", description = "{{{langname}}} terms used in context of the ''{{w|Harry Potter}}'' franchise.", parents = {"cereka British", "fantasi", "kesusasteraan", "watak cereka"}, } labels["Hawaiian mythology"] = { type = "berkenaan", description = "default", parents = {"mitologi", "Hawaii, USA"}, } labels["F/M ships"] = { type = "nama", description = "{{{langname}}} names used in [[fandom]] for specific {{l|en|ship|ships|id=fandomnoun}} between female and male characters.", parents = {"ships (fandom) by relationship type"}, } labels["dewa Hindu"] = { type = "nama", description = "default", parents = {"dewa", "mitologi Hindu"}, } labels["mitologi Hindu"] = { type = "berkenaan", description = "default", parents = {"mitologi", "Hinduisme"}, } labels["Homestuck"] = { type = "berkenaan", displaytitle ="''Homestuck''", wikidata = 2618713, description = "=the ''{{w|Homestuck}}'' multimedia fiction series", parents = {"cereka Amerika", "komik"}, } labels["Hopi culture"] = { type = "berkenaan", description = "default", parents = {"budaya", "United States"}, } labels["horror"] = { type = "berkenaan", description = "=the [[horror]] [[genre]]", parents = {"kesusasteraan", "cereka spekulatif"}, } labels["humanities"] = { type = "berkenaan", description = "default no singularize", parents = {"budaya"}, commonscat = true; } labels["incestuous ships (fandom)"] = { type = "nama", description = "{{{langname}}} names used in [[fandom]] for specific {{l|en|ship|ships|id=fandomnoun}} involving fictional incestuous relationships.", parents = {"incest", "ships (fandom) by relationship type"}, } labels["idol fandom"] = { type = "berkenaan", description = "default", parents = {"fandom"}, } labels["Instagram"] = { type = "berkenaan", wikidata = 209330, description = "=the photo sharing and social networking service [[Instagram]]", parents = {"photography", "media sosial", "World Wide Web"}, } labels["Iranian mythology"] = { type = "berkenaan", description = "default", parents = {"mitologi", "Iran"}, } labels["Irish mythology"] = { type = "berkenaan", description = "default", parents = {"Celtic mythology", "Ireland"}, } labels["James Bond"] = { type = "berkenaan", wikidata = 844, displaytitle = "''James Bond''", description = "=the ''[[James Bond]]'' franchise", parents = {"cereka British", "filem"}, } labels["dewa Jepun"] = { type = "nama", description = "default", parents = {"dewa", "mitologi Jepun"}, } labels["cereka Jepun"] = { type = "berkenaan", description = "=bahan-bahan [[cereka]] Jepun, termasuk [[anime]], [[manga]], [[novel]], [[siri]] dan [[permainan video]]", parents = {"cereka", "Jepun"}, } labels["mitologi Jepun"] = { type = "berkenaan", description = "default", parents = {"mitologi", "Jepun"}, } labels["job titles in Romance of the Three Kingdoms"] = { type = "jenis", displaytitle = "job titles in ''Romance of the Three Kingdoms''", description = "=job titles in ''{{w|Romance of the Three Kingdoms}}''", parents = {"Romance of the Three Kingdoms", "titles"}, } labels["kewartawanan"] = { type = "berkenaan", description = "default", parents = {"penulisan"}, } labels["Kachinas"] = { type = "nama", description = "default", parents = {"budaya Hopi"}, } labels["Komi mythology"] = { type = "berkenaan", description = "default", parents = {"mitologi", "Komi, Russia"}, } labels["cereka Korea"] = { type = "berkenaan", description = "=works of [[fiction]], including [[anime]]s, [[manhwa]]s, [[novel]]s, [[series]] and [[video game]]s, whose origin is of [[Korea]]", parents = {"cereka", "Korea"}, } labels["mitologi Korea"] = { type = "berkenaan", description = "default", parents = {"mitologi", "Korea"}, } labels["genre kesusasteraan"] = { type = "jenis", description = "{{{langname}}} terms for [[literary]] [[genre]]s.", parents = {"kesusasteraan", "cereka", "genre"}, } labels["kesusasteraan"] = { type = "berkenaan", description = "default", parents = {"budaya", "hiburan", "penulisan"}, } labels["Lost (TV series)"] = { type = "berkenaan", wikidata = 23567, displaytitle = "''Lost'' (TV series)", description = "=the television series ''{{w|Lost (2004 TV series)|Lost}}'' (2004–2010)", parents = {"cereka Amerika", "cereka sains", "televisyen"}, } labels["Lovecraftian horror"] = { type = "berkenaan", wikidata = 2448865, description = "=the [[literature|literary]] works of {{w|H. P. Lovecraft}}", parents = {"horror", "kesusasteraan", "cereka", "alam ghaib"}, } labels["magic"] = { type = "berkenaan", description = "default", parents = {"alam ghaib"}, } labels["magic words"] = { type = "set", wikidata = 1135882, description = "{{{langname}}} magic words; terms that serve the purpose of effectively or apparently triggering a [[magical]] or [[illusionist]] event.", parents = {"plot devices", "cereka"}, } labels["genre manga"] = { type = "jenis", description = "Istilah [[genre]] [[manga]] dalam bahasa {{{langname}}}.", parents = {"genre kesusasteraan"}, } labels["perkahwinan"] = { type = "berkenaan", description = "default", parents = {"budaya", "keluarga"}, } labels["Marvel Comics"] = { type = "berkenaan", wikidata = 173496, description = "={{w|Marvel Comics}}", parents = {"cereka Amerika", "komik"}, } labels["media massa"] = { type = "berkenaan", description = "default", parents = {"media", "budaya"}, } labels["dewa Meitei"] = { type = "nama", description = "default", parents = {"dewa", "mitologi Meitei"}, } labels["mitologi Meitei"] = { type = "berkenaan", description = "default", parents = {"mitologi", "Manipur, India"}, } labels["merpeople"] = { type = "berkenaan", description = "default", parents = {"mythological creatures"}, } labels["dewa Mesopotamia"] = { type = "nama", description = "default", parents = {"dewa", "mitologi Mesopotamia"}, } labels["mitologi Mesopotamia"] = { type = "berkenaan", description = "=the [[mythology]] of ancient [[Mesopotamia]]", parents = {"mitologi", "Timur Dekat Purba"}, } labels["M/M ships (fandom)"] = { type = "nama", description = "{{{langname}}} names used in [[fandom]] for specific {{l|en|ship|ships|id=fandomnoun}} between two male characters.", parents = {"LGBTQ", "ships (fandom) by relationship type"}, } labels["seni moden"] = { type = "berkenaan", description = "default", parents = {"seni"}, } labels["Mongolian tribes"] = { type = "nama", description = "{{{langname}}} names for Mongolian tribes.", parents = {"ethnonyms", "Mongolia"}, } labels["misai"] = { type = "jenis", description = "default", parents = {"muka", "fesyen", "rambut"}, } labels["My Hero Academia"] = { type = "berkenaan", wikidata = 18047903, displaytitle ="''My Hero Academia''", description = "=the ''{{w|My Hero Academia}}'' series", parents = {"cereka Jepun", "animasi", "komik"}, } labels["My Little Pony"] = { type = "berkenaan", wikidata = 1071312, displaytitle = "''My Little Pony''", description = "=the ''{{w|My Little Pony}}'' franchise (which includes toys and animated series) and its fandom", parents = {"cereka Amerika", "animasi", "toys"}, } labels["mythological creatures"] = { type = "jenis", description = "default", parents = {"mitologi", "fantasi"}, } labels["mythological figures"] = { type = "nama", description = "default", parents = {"mitologi"}, } labels["mythological locations"] = { type = "nama", description = "default", parents = {"mitologi"}, } labels["mythological plants"] = { type = "jenis,nama", description = "default", parents = {"mitologi", "plants"}, } labels["mitologi"] = { type = "berkenaan", description = "default", parents = {"budaya"}, } labels["narratology"] = { type = "berkenaan", description = "default", parents = {"kesusasteraan", "drama"}, } labels["Navajo mythology"] = { type = "berkenaan", description = "default", parents = {"mitologi"}, } labels["akhbar"] = { type = "nama", description = "default", parents = {"terbitan berkala"}, } labels["Niconico"] = { type = "berkenaan", wikidata = 697233, description = "=the video-sharing website {{w|Niconico}}", parents = {"media sosial", "World Wide Web"}, } labels["dewa Norse"] = { type = "nama", description = "default", parents = {"dewa", "dewa Jermanik", "mitologi Norse"}, } labels["mitologi Norse"] = { type = "berkenaan", description = "default", parents = {"mitologi", "mitologi Jermanik"}, } labels["okultisme"] = { type = "berkenaan", description = "default with the", parents = {"alam ghaib", "paranormal"}, } labels["omegaverse"] = { type = "berkenaan", wikidata = 96397374, description = "=the [[omegaverse]] genre", parents = {"erotic literature", "fan fiction", "cereka spekulatif"}, } labels["Omori"] = { type = "berkenaan", wikidata = 105618699, displaytitle ="''Omori''", description = "=the ''{{w|Omori (video game)|Omori}}'' series", parents = {"cereka Amerika", "permainan video"}, } labels["Once Upon a Time"] = { type = "berkenaan", wikidata = 23673, displaytitle = "''Once Upon a Time''", description = "=the television series ''{{w|Once Upon a Time (TV series)|Once Upon a Time}}'' (2011–2018)", parents = {"cereka Amerika", "Disney", "televisyen"}, } labels["lukisan"] = { type = "berkenaan", description = "default", parents = {"seni"}, } labels["palmistry"] = { type = "berkenaan", description = "default", parents = {"penilikan"}, } labels["parti"] = { type = "jenis,berkenaan", description = "default", parents = {"hiburan", "budaya"}, } labels["people in Romance of the Three Kingdoms"] = { type = "nama", displaytitle = "people in ''Romance of the Three Kingdoms''", description = "=people in ''{{w|Romance of the Three Kingdoms}}''", parents = {"Romance of the Three Kingdoms"}, } labels["minyak wangi"] = { type = "jenis,set", description = "default", parents = {"fesyen", "scents", "perfumery"}, } labels["terbitan berkala"] = { type = "jenis,berkenaan", description = "default", parents = {"media massa", "kesusasteraan"}, } labels["personifications"] = { type = "nama", description = "default", parents = {"narratology"}, } labels["places in Romance of the Three Kingdoms"] = { type = "nama", displaytitle = "places in ''Romance of the Three Kingdoms''", description = "=places in ''{{w|Romance of the Three Kingdoms}}''", parents = {"Romance of the Three Kingdoms", "China"}, } labels["plot devices"] = { type = "jenis", description = "default", parents = {"narratology", "cereka"}, } labels["puisi"] = { type = "berkenaan", description = "default", parents = {"kesusasteraan", "seni"}, } labels["polyamorous ships (fandom)"] = { type = "nama", description = "{{{langname}}} names used in [[fandom]] for specific {{l|en|ship|ships|id=fandomnoun}} between three or more characters.", parents = {"ships (fandom) by relationship type"}, } labels["Private Eye"] = { type = "berkenaan", displaytitle = "''Private Eye''", description = "=the ''{{w|Private Eye}}'' franchise", parents = {"cereka British"}, } labels["Reddit"] = { type = "berkenaan", wikidata = 2195701, description = "=the social news aggregation and discussion website {{w|Reddit}}", parents = {"media sosial", "World Wide Web"}, } labels["reference works"] = { type = "jenis", description = "default", parents = {"buku"}, } labels["dewa Rom"] = { type = "nama", description = "default", parents = {"dewa", "mitologi Rom"}, } labels["mitologi Rom"] = { type = "berkenaan", description = "default", parents = {"mitologi", "Rom Purba"}, } labels["romance fiction"] = { type = "berkenaan", description = "default", parents = {"genre kesusasteraan", "cinta"}, } labels["Hikayat Tiga Kerajaan"] = { type = "berkenaan", wikidata = 70806, displaytitle = "''Hikayat Tiga Kerajaan''", description = "=''{{w|Hikayat Tiga Kerajaan}}''", parents = {"cereka", "kesusasteraan", "China"}, } labels["RPF ships (fandom)"] = { type = "nama", description = "{{{langname}}} names used in [[fandom]] for specific {{l|en|ship|ships|id=fandomnoun}} involving real people in a fictional relationship.", additional = "For actual relationships between real people, see [[:Category:Couple nicknames]].", parents = {"ships (fandom) by relationship type"}, } labels["cereka sains"] = { type = "berkenaan", description = "default", parents = {"cereka spekulatif", "cereka"}, } labels["SCP Foundation"] = { type = "berkenaan", wikidata = 17439649, description = "English terms related to the SCP Wiki collaborative writing website and its setting of the {{w|SCP Foundation}}.", parents = {"fantasi", "cereka", "horror", "cereka sains", "alam ghaib"}, } labels["arca"] = { type = "berkenaan", description = "default", parents = {"seni"}, } labels["Shahnameh"] = { type = "berkenaan", wikidata = 8279, displaytitle = "''Shahnameh''", description = "=''Shahnameh''", parents = {"cereka", "puisi", "kesusasteraan", "Parsi"}, } labels["Shahnameh characters"] = { type = "nama", description = "=characters in the [[Shahnameh]]", parents = {"Shahnameh"}, } labels["shapeshifters"] = { type = "berkenaan,jenis", description = "default", parents = {"mythological creatures", "characters from folklore"}, } labels["Sherlock Holmes"] = { type = "berkenaan", wikidata = 2316684, description = "=the [[Sherlock Holmes]] stories by {{w|Arthur Conan Doyle}} and adaptations of them", parents = {"cereka British", "kesusasteraan"}, } labels["Sherlock (TV series)"] = { type = "berkenaan", wikidata = 192837, displaytitle = "''Sherlock'' (TV series)", description = "=the television series ''[[w:Sherlock (TV series)|Sherlock]]'' (2010–2017)", parents = {"Sherlock Holmes", "televisyen"}, } labels["shipping (fandom)"] = { type = "berkenaan", description = "={{l|en|ship|shipping|id=fandomverb}} (i.e., in [[fandom]], supporting a fictional romantic relationship between two characters)", parents = {"fandom", "romance fiction"}, } labels["ships (fandom)"] = { type = "kumpulan", description = "=names used in [[fandom]] for specific {{l|en|ship|ships|id=fandomnoun}} i.e., a fictional relationship between two fictional characters or real people)", parents = {"shipping (fandom)"}, } labels["ships (fandom) by relationship type"] = { type = "kumpulan", description = "={{l|en|ship|ship|id=fandomnoun}} names organized by the type of relationship (e.g, [[heterosexual]], [[homosexual]], etc.)", parents = {"ships (fandom)"}, } labels["shippers (fandom)"] = { type = "jenis", description = "=[[shipper]]s (i.e., people who support a romantic or sexual relationship between characters or real people)", parents = {"shipping (fandom)"}, } labels["dewa Slavik"] = { type = "nama", description = "default", parents = {"dewa", "mitologi Slavik"}, } labels["mitologi Slavik"] = { type = "berkenaan", description = "=[[mitologi]] masyarakat [[Slav]]", parents = {"mitologi"}, } labels["Smallville (TV series)"] = { type = "berkenaan", wikidata = 180228, displaytitle = "''Smallville'' (TV series)", description = "=the television series ''{{w|Smallville}}'' (2001–2011)", parents = {"cereka Amerika", "Superman", "televisyen"}, } labels["media sosial"] = { type = "berkenaan", wikidata = 202833, description = "default", parents = {"media massa", "Internet"}, } labels["South Korean idol fandom"] = { type = "berkenaan", wikidata = 39086123, description = "=[[South Korea|South Korean]] [[idol]] [[fandom]]", parents = {"idol fandom", "South Korea"}, } labels["South Park"] = { type = "berkenaan", wikidata = 16538, displaytitle = "''South Park''", description = "{{{langname}}} terms derived from and/or related to the animated television series ''{{w|South Park}}''.", parents = {"cereka Amerika", "animasi"}, } labels["Star Trek"] = { type = "berkenaan", wikidata = 1092, displaytitle = "''Star Trek''", description = "=the ''{{w|Star Trek}}'' franchise", parents = {"cereka Amerika", "filem", "cereka sains", "televisyen"}, } labels["Star Wars"] = { type = "berkenaan", wikidata = 462, displaytitle = "''Star Wars''", description = "=the ''{{w|Star Wars}}'' franchise", parents = {"cereka Amerika", "filem", "cereka sains", "Disney"}, } labels["Steven Universe"] = { type = "berkenaan", wikidata = 7615342, displaytitle = "''Steven Universe''", description = "=the animated television series ''{{w|Steven Universe}}''", parents = {"cereka Amerika", "animasi"}, } labels["stock characters"] = { type = "jenis", wikidata = 636497, description = "default", parents = {"watak cereka"}, } labels["cereka spekulatif"] = { type = "berkenaan", wikidata = 9326077, description = "default", parents = {"cereka", "genre"}, } labels["spider fighting"] = { type = "berkenaan", wikidata = 7577058, description = "={{w|spider fighting}}", parents = {"spiders", "human activity"}, } labels["subbudaya"] = { type = "berkenaan", description = "default", parents = {"budaya"}, } labels["adiwira"] = { type = "nama", wikidata = 188784, description = "=[[superhero]]es", parents = {"watak cereka"}, } labels["Superman"] = { type = "berkenaan", wikidata = 79015, description = "=the fictional [[superhero]] [[Superman]]", parents = {"DC Comics", "watak cereka"}, } labels["alam ghaib"] = { type = "berkenaan", wikidata = 80837, description = "default with the", parents = {"budaya rakyat"}, } labels["Supernatural (TV series)"] = { type = "berkenaan", wikidata = 130585, displaytitle = "''Supernatural'' (TV series)", description = "=the television series ''[[w:Supernatural (American TV series)|Supernatural]]'' (2005–2020)", parents = {"cereka Amerika", "televisyen"}, } labels["mitologi Tamil"] = { type = "nama", description = "default", additional = "See [[w:Dravidian folk religion|Dravidian religion]] or [[w:Religion in ancient Tamilakam|Tamil region]] for more.", parents = {"dewa", "dewa Hindu", "mitologi Tamil"}, } labels["mitologi Tamil"] = { type = "nama", description = "default", additional = "See [[w:Dravidian folk religion|Dravidian religion]] or [[w:Religion in ancient Tamilakam|Tamil region]] for more.", parents = {"mitologi", "mitologi Hindu", "Tamil Nadu, India"}, } labels["televisyen"] = { type = "berkenaan", wikidata = 289, description = "default", parents = {"media massa", "penyiaran"}, } labels["The Handmaid's Tale"] = { type = "berkenaan", wikidata = 25207350, displaytitle = "''The Handmaid's Tale''", description = "=the 1985 novel ''{{w|The Handmaid's Tale}}'' by {{w|Margaret Atwood}} and its [[w:The Handmaid's Tale (TV series)|television adaptation]] (2017–)", parents = {"Canadian fiction", "cereka utopia dan distopia", "kesusasteraan"}, } labels["The Hunger Games"] = { type = "berkenaan", wikidata = 11679, displaytitle = "''The Hunger Games''", description = "=''{{w|The Hunger Games}}'' novel series by {{w|Suzanne Collins}} and its film adaptations", parents = {"cereka Amerika", "cereka sains", "cereka utopia dan distopia", "kesusasteraan"}, } labels["The Matrix"] = { type = "berkenaan", wikidata = 83495, displaytitle = "''The Matrix''", description = "=''{{w|The Matrix}}''", parents = {"cereka Amerika", "cereka sains", "cereka utopia dan distopia"}, } labels["The Simpsons"] = { type = "berkenaan", wikidata = 886, displaytitle = "''The Simpsons''", description = "{{{langname}}} terms derived from and/or related to the animated television series ''{{w|The Simpsons}}''.", parents = {"cereka Amerika", "animasi", "Disney"}, } labels["The Walking Dead"] = { type = "berkenaan", wikidata = 232737, displaytitle = "''The Walking Dead''", description = "=the television series ''[[w:The Walking Dead (TV series)|The Walking Dead]]'' (2010–2022) and the comic series from which it was adapted", parents = {"cereka Amerika", "televisyen", "cereka utopia dan distopia", "zombies"}, } labels["The Wizard of Oz"] = { type = "berkenaan", wikidata = 130295, displaytitle = "''The Wizard of Oz''", description = "=the fantasy novel ''{{w|The Wonderful Wizard of Oz}}'', subsequent books or films derived from it, such as the ''[[w:The Wizard of Oz (1939 film)|1939 film]]''.", parents = {"cereka Amerika", "fantasi", "kesusasteraan"}, } labels["The X-Files"] = { type = "berkenaan", wikidata = 2744, displaytitle = "''The X-Files''", description = "=the ''{{w|The X-Files}}'' franchise", parents = {"cereka Amerika", "cereka sains", "televisyen"}, } labels["teater"] = { type = "berkenaan", description = "default", parents = {"seni", "hiburan"}, } labels["Thracian deities"] = { type = "nama", description = "default", parents = {"dewa"}, } labels["TikTok"] = { type = "berkenaan", wikidata = 48938223, description = "=the video-sharing and social-networking service {{w|TikTok}}", parents = {"media sosial", "World Wide Web"}, } labels["mitologi Tupi"] = { type = "berkenaan", description = "default", parents = {"mitologi", "Brazil"}, } labels["Twilight (novel series)"] = { type = "berkenaan", wikidata = 44523, displaytitle = "''Twilight'' (novel series)", description = "=the ''[[w:Twilight (series)|Twilight]]'' franchise", parents = {"cereka Amerika", "fantasi", "kesusasteraan", "vampires"}, } labels["Twitter"] = { type = "berkenaan", wikidata = 918, description = "=the social networking and microblogging service {{w|Twitter}}", parents = {"media sosial", "World Wide Web"}, } labels["Tumblr"] = { type = "berkenaan", wikidata = 384060, description = "=the microblogging and social networking service {{w|Tumblr}}", parents = {"media sosial", "World Wide Web"}, } labels["cereka utopia dan distopia"] = { type = "berkenaan", description = "default", parents = {"cereka spekulatif"}, } labels["vampires"] = { type = "berkenaan,jenis", description = "default", parents = {"mythological creatures", "characters from folklore", "death", "horror", "blood"}, } labels["vampire lifestyle"] = { type = "berkenaan", description = "={{w|vampire lifestyle|the vampire lifestyle}} (i.e., a subculture which roleplays the stereotypical habits of vampires)", parents = {"subbudaya", "vampires"}, } labels["Virtual YouTuber"] = { type = "berkenaan", wikidata = 55155641, description = "=[[virtual YouTuber]]s ([[VTuber]]s)", parents = {"YouTube", "hiburan"}, } labels["web design"] = { type = "berkenaan", description = "default", parents = {"reka bentuk", "World Wide Web"}, } labels["werewolves"] = { type = "berkenaan,jenis", description = "default", parents = {"mythological creatures", "characters from folklore", "shapeshifters", "horror"}, } labels["worldbuilding"] = { type = "berkenaan", description = "default", parents = {"narratology", "cereka spekulatif"}, } labels["Xena: Warrior Princess"] = { type = "berkenaan", wikidata = 38497, displaytitle = "''Xena: Warrior Princess''", description = "=the television series ''{{w|Xena: Warrior Princess}}'' (1995–2001)", parents = {"cereka Amerika", "fantasi", "televisyen"}, } labels["YouTube"] = { type = "berkenaan", wikidata = 866, description = "=the video-sharing website {{w|YouTube}}", parents = {"media sosial", "World Wide Web", "Google"}, } labels["YouTube Poop"] = { type = "berkenaan", wikidata = 16927904, description = "default", parents = {"YouTube", "Internet memes"}, } labels["zombi"] = { type = "berkenaan,jenis", description = "default", parents = {"mythological creatures", "characters from folklore", "death", "horror"}, } return labels hbha9wm157n52c51meu312qka1umghg 平仮名 0 11685 342790 245969 2026-05-16T11:46:13Z Hakimi97 2668 342790 wikitext text/x-wiki {{wikipedia|Hiragana}} ==Bahasa Jepun== {{ja-kanjitab|ひら|か|k2=が|な|r=y}} ===Etimologi=== Majmuk bagi {{compound|ja|平|tr1=hira|t1=rata, lembut|仮名|tr2=kana}}, yang menyuarakan untuk -''gana'' kerana [[w:Rendaku|pengakhiran]]. ===Sebutan=== {{ja-pron|ひらがな|acc=3|acc2=h|acc3=o|acc_ref=NHK,DJR,SMK5|acc2_ref=NHK|acc3_ref=NHK}} ===Kata nama=== {{ja-noun|ひらがな}} # skrip suku kata bahasa Jepun #* {{RQ:Nippo Jisho|242}} #*: '''Firagana'''. ヒラガナ (平仮名) 日本の文字の一種. # (perbandingan dengan kanji kompleks) mudah ====Sinonim==== * {{ja-r|女手|おんなで}} * {{ja-r|女文字|おんなもじ}} * {{ja-r|草仮名|そうがな}} ===Lihat juga=== * {{ja-r|漢字|かんじ}} * {{ja-r|片仮名|かたかな}} * {{ja-r|万葉仮名|まんようがな}} * {{ja-r|ローマ字|ローマじ}} ===Rujukan=== <references/> * {{R:Nippo Jisho}} [[Category:Perkataan asas bahasa Jepun|ひらがな]] [[Category:ja:Sistem tulisan|ひらがな]] h06o9fv7dm933rbm241jdcpu3v3ldgp سبب نيلا ستيتيق، روسق سوسو سبلاڠا 0 11715 341961 239024 2026-05-15T13:56:28Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: === Takrifan === ==== Peribahasa ==== → ===Peribahasa===, == Bahasa Melayu == → ==Bahasa Melayu== (4 menggunakan [[Project:AWB|AWB]] 341961 wikitext text/x-wiki {{Pautan Projek Wikimedia}} ==Bahasa Melayu== ===Peribahasa=== {{head|ms|peribahasa}} # Kerana yang sedikit, rosak yang banyak. ===Sebutan=== * {{AFA|ms|/sə.bab ni.la sə.ti.tiʔ ro.saʔ su.su sə.bə.la.ŋa/}} * {{rhymes|ms|ŋa}} * {{penyempangan|ms|س|بب ني|لا س|تي|تيق، رو|سق سو|سو س|ب|لا|ڠا}} ===Tulisan Rumi=== {{l/ms|sebab nila setitik, rosak susu sebelanga}} ===Tesaurus=== ; Sinonim : {{l|ms|ايکن سأيکور روسقکن ايکن ستاجاو|sc=Arab}}, {{l|ms|ايکن سکامبو روسق اوليه ايکن سأيکور|sc=Arab}}, {{l|ms|سبب نيلا ستيتيق، روسق سنتن سبلاڠا|sc=Arab}}. ehuenm3vvkkwho17hxi4bwccvezavmd ڤندرما 0 11794 342205 264914 2026-05-15T14:04:44Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: === Takrifan === ==== Kata nama ==== → ===Kata nama===, == Bahasa Melayu == → ==Bahasa Melayu== (6) menggunakan [[Project:AWB|AWB]] 342205 wikitext text/x-wiki {{Pautan Projek Wikimedia}} ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama|jamak|اڠݢوتا دوناسي|penjodoh bilangan|اورڠ}} # Orang yang menderma. ===Sebutan=== * {{dewan|pen|der|ma}} * {{AFA|ms|/pən.dər.ma/}} * {{rhymes|ms|ma|a}} * {{penyempangan|ms|ڤن|در|ما|sc=Arab}} ===Tulisan Rumi=== {{l/ms|penderma}} ===Tesaurus=== ; Sinonim: {{l|ms|دوناتير}} ===Lihat juga=== * {{l|ms|درماون}} ===Pautan luar=== * {{R:PRPM}} fn3wsrrkrubxaxjv96fyk5xps779vl5 ديستيناسي 0 12222 341929 239105 2026-05-15T13:55:24Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: == Bahasa Melayu == → ==Bahasa Melayu== (3) menggunakan [[Project:AWB|AWB]] 341929 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # [[destinasi]] ===Etimologi=== ====Bentuk lain==== * {{l|ms|destinasi}} ====Sebutan==== * {{IPA|ms|[déstinasi]}} * {{rhymes|ms|nasi|asi|si}} ===Rujukan=== * {{R:BKKM}} ===Pautan luar=== * {{R:PRPM}} mpvpkpkiv8y4s4sh32ugfbblexd4p05 سلامت مالم 0 12344 341967 190726 2026-05-15T13:56:41Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Frasa==== → ===Frasa=== menggunakan [[Project:AWB|AWB]] 341967 wikitext text/x-wiki {{Pautan Projek Wikimedia}} ==Bahasa Melayu== ===Frasa=== {{head|ms|frasa}} # {{ms-jawi|selamat malam}} ===Pautan luar=== * {{R:PRPM}} c2lyu10we2wzre49guz5mt6sdwz3vh7 وعليكم السلام 0 12757 342138 239207 2026-05-15T14:02:28Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: === Takrifan === ====Kata seru==== → ===Kata seru===, == Bahasa Melayu == → ==Bahasa Melayu== (4) menggunakan [[Project:AWB|AWB]] 342138 wikitext text/x-wiki {{Pautan Projek Wikimedia}} ==Bahasa Melayu== ===Kata seru=== {{inti|ms|kata seru|ejaan Rumi|waalaikumussalam}} # Dan selamat sejahtera kepada kamu juga. ===Etimologi=== Daripada {{etyl|ar|ms}} {{term|وعليكم السلام|lang=ar}}. ===Sebutan=== * {{dewan|wa|ʕa|lai|ku|mus|sa|lam}} * {{AFA|ms|/wa.ʕa.lai.ku.mus.sa.laːm/}} * {{rhymes|ms|laːm}} * {{penyempangan|ms|و|ع|لي|كم|الس|لام}} ===Rujukan=== * {{R:BKKM}} ===Pautan luar=== * {{R:PRPM}} ==Bahasa Arab== ===Sebutan=== * {{audio|ar|Ar-وعليكم السلام.oga|Audio}} ===Kata seru=== {{ar-interj|[[على|وَعَلَيْكُمُ]] [[سلام|السَّلَامُ]]|tr=wa-ʿalaykumu s-salāmu}} # Dan (semoga) ke [[atas]] [[kamu]] [[sejahtera]] {{non-gloss definition|(balasan bagi ucapan {{m|ar|السَّلَامُ عَلَيْكُمْ}})}}. ====Related terms==== * {{l|ar|وَعَلَيْكُمْ|tr=wa-ʿalaykum|gloss=dan ke atas kamu}} ====Keturunan==== * {{desc|hi|वालेकुम अस्सलाम|bor=1}} ====Lihat juga==== * {{l|ar|السَّلَامُ عَلَيْكُمْ}} [[Kategori:Buku frasa bahasa Arab]] [[Kategori:Frasa bahasa Arab]] dya09m8piqblugk8yl28f7aegra0p1h ڤڤريقساءن 0 12819 342230 264668 2026-05-15T14:05:36Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: === Takrifan === ====Kata nama==== → ===Kata nama===, == Bahasa Melayu == → ==Bahasa Melayu== (4) menggunakan [[Project:AWB|AWB]] 342230 wikitext text/x-wiki {{Pautan Projek Wikimedia}} ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama|head=ڤڤريقسا<sup>ء</sup>ن}} # [[ujian]] (untuk menentukan [[kebolehan]] atau [[kepandaian]] seseorang). ===Sebutan=== * {{dewan|pe|pe|rik|sa|an}} * {{AFA|ms|/pə.pə.riʔ.sa.ʔan/}} * {{rhymes|ms|ʔan|an}} * {{penyempangan|ms|ڤ|ڤ|ريق|سا|<sup>ء</sup>ن}} ===Tulisan Rumi=== {{l|ms|peperiksaan}} ===Tesaurus=== ====Sinonim==== * {{l|ms|ڤريقسا}} {{qualifier|bahasa percakapan}} ===Pautan luar=== * {{R:PRPM}} edbhutgvp2je694vc799a046grtrrj9 جاوي ترکوروڠ سياڠ 0 13765 341897 239301 2026-05-15T13:54:13Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: === Takrifan === ==== Peribahasa ==== → ===Peribahasa===, == Bahasa Melayu == → ==Bahasa Melayu== (3 menggunakan [[Project:AWB|AWB]] 341897 wikitext text/x-wiki {{Pautan Projek Wikimedia}} ==Bahasa Melayu== ===Peribahasa=== {{head|ms|peribahasa}} # Orang yang tidak dapat bertindak sesuka hatinya kerana [[terkongkong]] oleh adat; sangat [[gelisah]]. ===Etimologi=== Jawi atau lembu biasanya hanya dikurung pada waktu malam dan dibebaskan pada waktu siang. ===Sebutan=== * {{dewan|ja|wi||ter|ku|rung||siang}} * {{AFA|ms|/d͡ʒa.wi tər.ku.ruŋ siaŋ/}} * {{rhymes|ms|siaŋ}} * {{penyempangan|ms|جا|وي||تر|کو|روڠ||سياڠ}} ===Tulisan Rumi=== {{l|ms|jawi terkurung siang}} jl9hyhidajpv33osg7kzk41trn8nnar ۲ 0 14312 342284 239403 2026-05-15T14:07:26Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Tanda baca==== → ===Tanda baca===, == Bahasa Melayu == → ==Bahasa Melayu== menggunakan [[Project:AWB|AWB]] 342284 wikitext text/x-wiki ==Bahasa Melayu== ===Tanda baca=== {{inti|ms|tanda baca}} # Tanda kata ganda penuh #: {{ux|ms|ساتو٢|satu-satu}} # {{lb|ms|ejaan lama}} Tanda sebarang jenis kata ganda #: {{ux|ms|لوکيسن٢ڽ|lukisan-lukisannya}} ====Kata bilangan==== {{inti|ms|kata bilangan}} # {{lb|ms|Brunei}} [[dua]], [[2]]. #: {{ux|ms|٢ جولاي|2 Julai}} lsguwhhjxa2xcbp3hccbdxk66qw8vrg Modul:category tree/lang 828 16803 342745 223254 2026-05-16T04:08:43Z Hakimi97 2668 Mengemas kini mengikut padanan Wikikamus bahasa Inggeris (semakan [[en:Special:Diff/90127888|90127888]]) 342745 Scribunto text/plain -- This module contains a list of languages with lang-specific modules. local langs_with_modules = { ["acm"] = true, ["acw"] = true, ["acy"] = true, ["aeb"] = true, ["afb"] = true, ["aii"] = true, ["ajp"] = true, ["akk"] = true, ["akl"] = true, ["ang"] = true, ["apc"] = true, ["apd"] = true, ["ar"] = true, ["arn"] = true, ["ars"] = true, ["ary"] = true, ["arz"] = true, ["ayl"] = true, ["az"] = true, ["bbl"] = true, ["be"] = true, ["bcl"] = true, ["bg"] = true, ["bku"] = true, ["ca"] = true, ["cbk"] = true, ["ce"] = true, ["ceb"] = true, ["cpi"] = true, ["cs"] = true, ["csb"] = true, ["cu"] = true, ["cy"] = true, ["de"] = true, ["egy"] = true, ["el"] = true, ["en"] = true, ["enm"] = true, ["eo"] = true, ["es"] = true, ["et"] = true, ["eu"] = true, ["fa"] = true, ["fax"] = true, ["fi"] = true, ["fr"] = true, ["fro"] = true, ["fy"] = true, ["gl"] = true, ["gmh"] = true, ["goh"] = true, ["got"] = true, ["grk-pro"] = true, ["gmq-osw"] = true, ["gmw-pro"] = true, ["gu"] = true, ["gug"] = true, ["he"] = true, ["hi"] = true, ["hil"] = true, ["hnn"] = true, ["hrx"] = true, ["hsb"] = true, ["hu"] = true, ["id"] = true, ["ilo"] = true, ["inc-apa"] = true, ["inc-ash"] = true, ["ine-bsl-pro"] = true, ["ine-pro"] = true, ["ira-pro"] = true, ["is"] = true, ["it"] = true, ["ja"] = true, ["jbo"] = true, ["jv"] = true, ["ket"] = true, ["klj"] = true, ["kn"] = true, ["kne"] = true, ["ko"] = true, ["krj"] = true, ["ky"] = true, ["la"] = true, ["lo"] = true, ["mdh"] = true, ["mhr"] = true, ["mk"] = true, ["moh"] = true, ["mr"] = true, ["mrw"] = true, ["ms"] = true, ["mt"] = true, ["mul"] = true, ["mvi"] = true, ["mwl"] = true, ["nan-hbl"] = true, ["nb"] = true, ["ne"] = true, ["nl"] = true, ["nn"] = true, ["non"] = true, ["ny"] = true, ["odt"] = true, ["orv"] = true, ["osx"] = true, ["pag"] = true, ["pam"] = true, ["phl"] = true, ["pi"] = true, ["pl"] = true, ["pra"] = true, ["pt"] = true, ["ro"] = true, ["roa-opt"] = true, ["rsk"] = true, ["ru"] = true, ["rue"] = true, ["sa"] = true, ["sc"] = true, ["sd"] = true, ["sei"] = true, ["sga"] = true, ["sh"] = true, ["shn"] = true, ["shu"] = true, ["sk"] = true, ["skr"] = true, ["sw"] = true, ["syc"] = true, ["szl"] = true, ["te"] = true, ["tg"] = true, ["th"] = true, ["tl"] = true, ["tpw"] = true, ["tsg"] = true, ["uk"] = true, ["ulw"] = true, ["ur"] = true, ["vec"] = true, ["vep"] = true, ["vi"] = true, ["war"] = true, ["yrl"] = true, ["zhx"] = true, ["zle-ono"] = true, ["zle-ort"] = true, ["zlw-ocs"] = true, } return langs_with_modules mzoxgt494umbm0vdse25cln2salqsc1 perkahwinan 0 23466 342307 340109 2026-05-15T14:23:13Z Mirlim 8057 Nak panjang-panjang pergi sunting kat [[:wikipedia:Perkahwinan]] sedara 342307 wikitext text/x-wiki ==Bahasa Melayu== {{Wikipedia}} ===Kata nama=== {{ms-kn|j=ڤرکهوينن}} # Perihal dan perbuatan [[kahwin]] ===Etimologi=== {{apitan|ms|per|kahwin|an}} ===Sebutan=== * {{dewan|per|kah|wi|nan}} ===Pautan luar=== * {{R:PRPM}} {{C|ms|Perkahwinan}} hqy9y5v8aayy8oflg3spugbxz44msuo Modul:ja/data/range 828 34837 342768 179314 2026-05-16T06:00:35Z Hakimi97 2668 Mengemas kini mengikut padanan Wikikamus bahasa Inggeris (semakan [[en:Special:Diff/86828539|86828539]]) 342768 Scribunto text/plain local u = require("Module:string utilities").char local range = {} range.kanji = u(0x2E80) .. "-" .. u(0x2FDF) .. -- CJK Unified Ideographs u(0x4E00) .. "-" .. u(0x9FFF) .. -- CJK Unified Ideographs u(0x3400) .. "-" .. u(0x4DBF) .. -- CJK Unified Ideographs Extension A u(0xF900) .. "-" .. u(0xFAFF) .. -- CJK Compatibility Ideographs u(0x20000) .. "-" .. u(0x2A6DF) .. -- CJK Unified Ideographs Extension B u(0x2A700) .. "-" .. u(0x2EE5F) .. -- CJK Unified Ideographs Extension C-F & I u(0x2F800) .. "-" .. u(0x2FA1F) .. -- CJK Compatibility Ideographs Supplement u(0x30000) .. "-" .. u(0x323AF) .. -- CJK Unified Ideographs Extension C-F & I u(0x323B0) .. "-" .. u(0x3347F) -- CJK Unified Ideographs Extension J range.kana_combining_characters = u(0x3099) .. "-" .. u(0x309C) .. -- Hiragana u(0xFF9E) .. u(0xFF9F) .. -- Halfwidth and Fullwidth Forms u(0x0305) .. u(0x0323) -- Combining Diacritical Marks range.kana_overlap = range.kana_combining_characters .. "〰-〵" .. -- CJK Symbols and Punctuation "ー" -- Katakana local hiragana_exclusive = "ぁ-ゖゝゞ" .. -- Hiragana "𛀁𛀆𛄟" .. -- Kana Supplement + Kana Extended-A "𛄲𛅐-𛅒" -- Small Kana Extension range.hiragana = range.kana_overlap .. hiragana_exclusive local katakana_exclusive = "ァ-ヺヽヾ" .. -- Katakana "ㇰ-ㇿ" .. -- Katakana Phonetic Extensions u(0xFF66) .. "-" .. u(0xFF9D) .. -- Halfwidth and Fullwidth Forms "𚿰-𚿾" .. -- Kana Extended-B "𛀀𛄠-𛄢" .. -- Kana Supplement + Kana Extended-A "𛅕𛅤-𛅧" -- Small Kana Extension range.katakana = range.kana_overlap .. katakana_exclusive range.hentaigana = "𛀂-𛀅𛀇-𛄞" -- Kana Supplement + Kana Extended-A range.kana = range.kana_overlap .. hiragana_exclusive .. katakana_exclusive .. range.hentaigana -- Note: not other sutegana like っ, as they aren't submoraic. range.submoraic_kana = "ぁぃぅぇぉゃゅょゎ" .. -- Hiragana "ァィゥェォャュョヮ" .. -- Katakana "ァ-ョ" .. -- Halfwidth and Fullwidth Forms "𛅐𛅑𛅒𛅤𛅥𛅦" -- Small Kana Extension range.vowels = { a = "ぁあかがさざただなはばぱまゃやらゎわァアカガサザタダナハバパマャヤラヮワヷ", i = "ぃいきぎしじちぢにひびぴみ𛀆り𛅐ゐィイキギシジチヂニヒビピミ𛄠リ𛅤ヰヸ", u = "ぅうゔくぐすずつづぬふぶぷむゅゆる𛄟ゥウヴクグスズツヅヌフブプムュユル𛄢", e = "ぇえけげせぜてでねへべぺめ𛀁れ𛅑ゑェエ𛀀ケゲセゼテデネヘベペメ𛄡レ𛅥ヱヹ", o = "ぉおこごそぞとどのほぼぽもょよろ𛅒をォオコゴソゾトドノホボポモョヨロ𛅦ヲヺ", n = "んン" } range.ideograph = "〃々-〇〱-〵〻〼" .. -- CJK Symbols and Punctuation "㈠-㉟㊀-㋿" .. -- Enclosed CJK Letters and Months "㍘-㏿" .. -- CJK Compatibility "🈂-🋿" -- Enclosed Ideographic Supplement range.kana_graph = "ゟヿ" .. -- Hiragana + Katakana "㌀-㍗" .. -- CJK Compatibility "🈀🈁" -- Enclosed Ideographic Supplement range.punctuation = " -。〈-】〔-〟〽" .. -- CJK Symbols and Punctuation "゠・" .. -- Katakana "!-/:-@[-`{-・¢-○" -- Halfwidth and Fullwidth Forms range.latin = require("Module:scripts").getByCode("Latn"):getCharacters() range.numbers = "0-9" .. -- Basic Latin "0-9" -- Halfwidth and Fullwidth Forms return range 0akj99anu5qmk1fqilaviguuvbb3wyu سلامت هاري راي 0 48064 341968 165916 2026-05-15T13:56:43Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Frasa==== → ===Frasa=== menggunakan [[Project:AWB|AWB]] 341968 wikitext text/x-wiki ==Bahasa Melayu== ===Frasa=== {{head|ms|frasa}} # {{ms-jawi|selamat hari raya}} ===Bacaan lanjut=== * {{R:PRPM}} edj4hr5o47pqxr5nr9o1mcx82vt0gcj ساي 0 48142 341960 166043 2026-05-15T13:56:26Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata ganti nama==== → ===Kata ganti nama=== menggunakan [[Project:AWB|AWB]] 341960 wikitext text/x-wiki ==Bahasa Melayu== ===Kata ganti nama=== {{head|ms|kata ganti nama}} # {{ms-jawi|saya}} ===Bacaan lanjut=== * {{R:PRPM}} al9qgjlhawn1t9ls6opp8cidpakti2n يا 0 48230 342140 166149 2026-05-15T14:02:32Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata seru==== → ===Kata seru=== menggunakan [[Project:AWB|AWB]] 342140 wikitext text/x-wiki ==Bahasa Melayu== ===Kata seru=== {{head|ms|kata seru}} # {{ms-jawi|ya}} ===Bacaan lanjut=== * {{R:PRPM}} 8ukfag30ly2wch0awolnnni1xjsop14 سموا 0 48323 341976 166246 2026-05-15T13:56:58Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: === Takrifan === ==== Adverba ==== → ===Adverba===, == Bahasa Melayu == → ==Bahasa Melayu== menggunakan [[Project:AWB|AWB]] 341976 wikitext text/x-wiki ==Bahasa Melayu== ===Adverba=== {{head|ms|adverba}} # {{ms-jawi|semua}} ===Bacaan lanjut=== * {{R:PRPM}} 8yela95zi7ehixy542wl23pqkiia435 ليݢت 0 48374 342031 166366 2026-05-15T13:58:50Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342031 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{ms-ks|r=ligat}} # {{lb|ms|Batu Bara}} [[cepat]] # [[aktif]] beraktiviti # [[rancak]] ====Kata keterangan==== {{inti|ms|kata keterangan}} # dengan [[laju]] ===Etimologi=== Daripada (Barat) {{inh|ms|poz-pro|*liget}}. ===Sebutan=== * {{AFA|ms|/li.ɡat/}} * {{rima|ms|at}} * {{penyempangan|ms|لي|ݢت}} ===Kata terbitan=== * {{l|ms|دڤرليݢت}} * {{l|ms|کليݢتن}} * {{l|ms|مليݢت}} * {{l|ms|ممڤرليݢت}} * {{l|ms|ڤرليݢت}} * {{l|ms|سليݢت}} ===Rujukan=== * {{R:KDP|2=1322}} ===Bacaan lanjut=== * {{R:PRPM}} fne4mtd8869z23748ta8d5qq0a3mxe1 دوا 0 48671 341926 166859 2026-05-15T13:55:18Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata bilangan==== → ===Kata bilangan=== menggunakan [[Project:AWB|AWB]] 341926 wikitext text/x-wiki ==Bahasa Melayu== ===Kata bilangan=== {{head|ms|kata bilangan}} # {{ms-jawi|dua}} ===Bacaan lanjut=== * {{R:PRPM}} 9i73umtrz9j3cih5cwz3aw6ejn4e8jc ساتو 0 48672 341954 166860 2026-05-15T13:56:16Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata bilangan==== → ===Kata bilangan=== menggunakan [[Project:AWB|AWB]] 341954 wikitext text/x-wiki ==Bahasa Melayu== ===Kata bilangan=== {{head|ms|kata bilangan}} # {{ms-jawi|satu}} ===Bacaan lanjut=== * {{R:PRPM}} ja2qy24r1s1r7mhurf5rg6s2y3v6a4m تيݢ 0 48673 341890 166861 2026-05-15T13:54:01Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata bilangan==== → ===Kata bilangan=== menggunakan [[Project:AWB|AWB]] 341890 wikitext text/x-wiki ==Bahasa Melayu== ===Kata bilangan=== {{head|ms|kata bilangan}} # {{ms-jawi|tiga}} ===Bacaan lanjut=== * {{R:PRPM}} 80g7fnlgmunfzfrxkmh8jljihb2j9gg ليم 0 48675 342030 166863 2026-05-15T13:58:47Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata bilangan==== → ===Kata bilangan=== menggunakan [[Project:AWB|AWB]] 342030 wikitext text/x-wiki ==Bahasa Melayu== ===Kata bilangan=== {{head|ms|kata bilangan}} # {{ms-jawi|lima}} ===Bacaan lanjut=== * {{R:PRPM}} pmjb0w60txc8b7iwyg9l2e5g4m2cigd لاڤن 0 48678 342014 166866 2026-05-15T13:58:14Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata bilangan==== → ===Kata bilangan=== menggunakan [[Project:AWB|AWB]] 342014 wikitext text/x-wiki ==Bahasa Melayu== ===Kata bilangan=== {{head|ms|kata bilangan}} # {{ms-jawi|lapan}} ===Bacaan lanjut=== * {{R:PRPM}} 8re2o3txgghjmiu8b5tfavxtvkj4h6o سمبيلن 0 48679 341974 166867 2026-05-15T13:56:56Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata bilangan==== → ===Kata bilangan=== menggunakan [[Project:AWB|AWB]] 341974 wikitext text/x-wiki ==Bahasa Melayu== ===Kata bilangan=== {{head|ms|kata bilangan}} # {{ms-jawi|sembilan}} ===Bacaan lanjut=== * {{R:PRPM}} g8nnkhgzcu9lznf04dxhwxnai0ynv63 ڤولوه 0 48680 342210 166868 2026-05-15T14:04:55Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata bilangan==== → ===Kata bilangan=== menggunakan [[Project:AWB|AWB]] 342210 wikitext text/x-wiki ==Bahasa Melayu== ===Kata bilangan=== {{head|ms|kata bilangan}} # {{ms-jawi|puluh}} ===Bacaan lanjut=== * {{R:PRPM}} li029kz348173ztc4vje006mnjykw9m راتوس 0 48681 341937 166869 2026-05-15T13:55:41Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata bilangan==== → ===Kata bilangan=== menggunakan [[Project:AWB|AWB]] 341937 wikitext text/x-wiki ==Bahasa Melayu== ===Kata bilangan=== {{head|ms|kata bilangan}} # {{ms-jawi|ratus}} ===Bacaan lanjut=== * {{R:PRPM}} gmw93f4l7m3bul2207e5i6ykpmrcokr ريبو 0 48682 341947 166870 2026-05-15T13:56:02Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata bilangan==== → ===Kata bilangan=== menggunakan [[Project:AWB|AWB]] 341947 wikitext text/x-wiki ==Bahasa Melayu== ===Kata bilangan=== {{head|ms|kata bilangan}} # {{ms-jawi|ribu}} ===Bacaan lanjut=== * {{R:PRPM}} c4yv4y705oqvcemyf0tcynxha0v7291 جوتا 0 48683 341900 166871 2026-05-15T13:54:19Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata bilangan==== → ===Kata bilangan=== menggunakan [[Project:AWB|AWB]] 341900 wikitext text/x-wiki ==Bahasa Melayu== ===Kata bilangan=== {{head|ms|kata bilangan}} # {{ms-jawi|juta}} ===Bacaan lanjut=== * {{R:PRPM}} b53jj6u2y6sh9a8wre77hvfrdh8ayk8 يڠ 0 49399 342141 167841 2026-05-15T14:02:34Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata hubung==== → ===Kata hubung=== menggunakan [[Project:AWB|AWB]] 342141 wikitext text/x-wiki ==Bahasa Melayu== ===Kata hubung=== {{head|ms|kata hubung}} # {{ms-jawi|yang}} ===Bacaan lanjut=== * {{R:PRPM}} nhue6r1brgzr1q0f9x3e6edfggpjklo سان 0 49539 341958 168045 2026-05-15T13:56:22Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata ganti nama==== → ===Kata ganti nama=== menggunakan [[Project:AWB|AWB]] 341958 wikitext text/x-wiki ==Bahasa Melayu== ===Kata ganti nama=== {{head|ms|kata ganti nama}} # {{ms-jawi|sana}} ===Bacaan lanjut=== * {{R:PRPM}} mlfku1wazyfd6wmpijsrgur4d7h4grf تْرَے 0 53733 341891 175322 2026-05-15T13:54:03Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata bilangan==== → ===Kata bilangan=== menggunakan [[Project:AWB|AWB]] 341891 wikitext text/x-wiki ==Bahasa Melayu== ===Kata bilangan=== {{inti|ms|kata bilangan}} # tiga gmty8yhf159o0x0hqnfdg4trqquymhj لمبب 0 55817 342019 210058 2026-05-15T13:58:24Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342019 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|lembab}} d9lmbv0d5sehkxcwvz6juewm3wwtsxi Modul:category tree/fam/jpx 828 55921 342746 281369 2026-05-16T04:09:00Z Hakimi97 2668 Hakimi97 telah memindahkan laman [[Modul:category tree/lang/jpx]] ke [[Modul:category tree/fam/jpx]] 281369 Scribunto text/plain local labels = {} local handlers = {} local m_str_utils = require("Module:string utilities") local concat = table.concat local full_link = require("Module:links").full_link local insert = table.insert local Hani_sort = require("Module:Hani-sortkey").makeSortKey local match = m_str_utils.match local sort = table.sort local tag_text = require("Module:script_utilities").tag_text local ucfirst = m_str_utils.ucfirst local Hira = require("Module:scripts").getByCode("Hira") local Jpan = require("Module:scripts").getByCode("Jpan") local kana_to_romaji = require("Module:Hrkt-translit").tr local m_numeric = require("Module:ConvertNumeric") local kana_capture = "([-" .. require("Module:ja/data/range").kana .. "・]+)" local yomi_data = require("Module:kanjitab/data") labels["adnominals"] = { description = "{{{langname}}} adnominals, or {{ja-r|連%体%詞|れん%たい%し}}, which modify nouns, and do not conjugate or [[predicate#Verb|predicate]].", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Hiragana"] = { description = "{{{langname}}} terms with hiragana {{mdash}} {{ja-r|平%仮%名|ひら%が%な}} {{mdash}} forms, sorted by conventional hiragana sequence. The hiragana form is a [[phonetic]] representation of that word. " .. "Wiktionary represents {{{langname}}}-language segments in three ways: in normal form (with [[kanji]], if appropriate), in [[hiragana]] " .. "form (this differs from kanji form only when the segment contains kanji), and in [[romaji]] form.", additional = "''Lihat juga'' [[:Kategori:Katakana bahasa {{{langname}}}]]", toc_template = "categoryTOC-hiragana", parents = { {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Hiragana", } } labels["historical hiragana"] = { description = "{{{langname}}} historical [[hiragana]].", additional = "''See also'' [[:Category:{{{langname}}} historical katakana]].", toc_template = "categoryTOC-hiragana", parents = { "Hiragana", {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Hiragana", } } labels["Katakana"] = { description = "{{{langname}}} terms with katakana {{mdash}} {{ja-r|片%仮%名|かた%か%な}} {{mdash}} forms, sorted by conventional katakana sequence. Katakana is used primarily for transliterations of foreign words, including old Chinese hanzi not used in [[shinjitai]].", additional = "''Lihat juga'' [[:Kategori:Hiragana bahasa {{{langname}}}]]", toc_template = "categoryTOC-katakana", parents = { {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Katakana", } } labels["historical katakana"] = { description = "{{{langname}}} historical [[katakana]].", additional = "''See also'' [[:Category:{{{langname}}} historical hiragana]].", toc_template = "categoryTOC-katakana", parents = { "Katakana", {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Katakana", } } labels["Perkataan dieja dengan kana campuran"] = { description = "{{{langname}}} terms which combine [[hiragana]] and [[katakana]] characters, potentially with [[kanji]] too.", parents = { {name = "{{{langcat}}}", raw = true}, "Hiragana", "Katakana", }, } labels["Kanji"] = { topright = "{{wp|Kanji}}", description = "Simbol bahasa {{{langname}}} yang merupakan sebahagian daripada tulisan logogram Han, yang boleh mewakili bunyi atau menyampaikan makna secara langsung.", toc_template = "Hani-categoryTOC", umbrella = "Aksara Han", parents = "Logogram", } labels["Kanji mengikut bacaan"] = { description = "Kanji bahasa {{{langname}}} yang dikategorikan mengikut bacaan.", parents = {{name = "Kanji", sort = "bacaan"}}, } labels["Makurakotoba"] = { topright = "{{wp|Makurakotoba}}", description = "{{{langname}}} idioms used in poetry to introduce specific words.", parents = {"Peribahasa"}, } labels["Perkataan mengikut bacaan kanji"] = { description = "Kategori bahasa {{{langname}}} yang dikumpulkan berdasarkan bacaan kanji yang dieja dengannya.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan mengikut pola bacaan"] = { description = "Kategori bahasa {{{langname}}} dengan perkataan yang dikumpulkan berdasarkan corak bacaannya.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan mengikut bilangan aksara kanji"] = { description = "Perkataan bahasa {{{langname}}} dikategorikan mengikut bilangan aksara kanji.", parents = {"Perkataan mengikut sifat ortografi"}, } local function handle_onyomi_list(category, category_type, cat_yomi_type) local onyomi, seen = {}, {} for _, yomi in pairs(yomi_data) do if not seen[yomi] and yomi.onyomi then local yomi_catname = yomi[category_type] if yomi_catname ~= false then local yomi_type = yomi.type if yomi_type ~= "on'yomi" and yomi_type ~= cat_yomi_type then insert(onyomi, "[[:Kategori:" .. category:gsub("{{{yomi_catname}}}", yomi_catname) .. " bahasa {{{langname}}}]]") end end end seen[yomi] = true end sort(onyomi) return onyomi end local function add_yomi_category(category, category_type, parent, description) for _, yomi in pairs(yomi_data) do local yomi_catname = yomi[category_type] if yomi_catname ~= false then local yomi_type = yomi.type local yomi_desc = yomi.link or yomi_catname if yomi.description then yomi_desc = yomi_desc .. "; " .. yomi.description end local label = { description = description .. " " .. yomi_desc .. ".", breadcrumb = yomi_type, parents = {{name = parent, sort = yomi_catname}}, } if yomi.onyomi then local onyomi = handle_onyomi_list(category, category_type, yomi_type) label.additional = "Kategori untuk perkataan dengan " .. (yomi_type == "on'yomi" and "pelbagai lagi" or "lain-lain") .. " jenis spesifik bacaan on'yomi boleh ditemukan pada kategori berikut:\n* " .. concat(onyomi, "\n* ") if yomi_type ~= "on'yomi" then insert(label.parents, 1, { name = (category:gsub("{{{yomi_catname}}}", yomi_data.on[category_type])), sort = yomi_catname }) end end labels[category:gsub("{{{yomi_catname}}}", yomi_catname)] = label end end end add_yomi_category( "Perkataan dengan bacaan {{{yomi_catname}}}", "reading_category", "Perkataan mengikut pola bacaan", "Perkataan bahasa {{{langname}}} dengan bacaan" ) add_yomi_category( "Perkataan dieja dengan kanji dengan bacaan {{{yomi_catname}}}", "kanji_category", "Perkataan mengikut jenis bacaan kanji", "Kategori bahasa {{{langname}}} dengan perkataan yang dieja dengan satu atau lebih banyak aksara kanji dengan bacaan" ) labels["Perkataan kehilangan yomi"] = { description = "Perkataan bahasa {{{langname}}} yang kehilangan satu atau lebih [[Lampiran:Glosari bahasa Jepun#yomi|yomi]] dalam {{tl|{{{langcode}}}-kanjitab}}.", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["terms with IPA pronunciation with pitch accent"] = { description = "{{{langname}}} terms with pronunciations that have {{w|Japanese pitch accent|pitch accent}} specified.", additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.", can_be_empty = true, parents = {"Penyelenggaraan entri", "pitch accent"}, } labels["terms with IPA pronunciation missing pitch accent"] = { description = "{{{langname}}} terms with pronunciations that do not have a {{w|Japanese pitch accent|pitch accent}} specified.", additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["pitch accent"] = { description = "{{{langname}}} terms regarding {{w|Japanese pitch accent|pitch accent}} pronunciation.", can_be_empty = true, parents = {{name = "{{{langcat}}}", raw = true}}, } labels["terms with Heiban pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[平板型|Heiban]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Atamadaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[頭高型|Atamadaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Nakadaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Odaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["pitch accent deaccenting before の"] = { description = "{{{langname}}} terms with {{w|Japanese pitch accent|pitch accent}} pronunciations that have exceptional deaccenting or lack thereof before の ({{ja-deaccenting-before-no}}).", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Odaka pitch accent not deaccented before の (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}} and do not become deaccented before の ({{ja-deaccenting-before-no}}).", can_be_empty = true, parents = {"pitch accent deaccenting before の"} } labels["terms with Nakadaka pitch accent deaccented before の (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}} and become deaccented before の ({{ja-deaccenting-before-no}}).", can_be_empty = true, parents = {"pitch accent deaccenting before の"} } labels["Perkataan mengikut jenis bacaan kanji"] = { description = "{{{langname}}} categories with terms grouped with regard to the types of readings of the kanji with which " .. "they are spelled; broadly, those of Chinese origin, {{ja-r|音|おん}} readings, and those of non-Chinese origin, {{ja-r|訓|くん}} readings.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan dieja dengan ateji"] = { topright = "{{wp|Ateji}}", description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#ateji|ateji]] {{mdash}} {{ja-r|当て字|あてじ}} {{mdash}} which are [[kanji]] used to represent sounds rather than meanings (though meaning may have some influence on which kanji are chosen).", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan dieja dengan daiyōji"] = { description = "Japanese terms spelled using [[Appendix:Japanese glossary#daiyouji|daiyōji]], categorized using {{temp|ja-daiyouji}}.", parents = {"Perkataan mengikut etimologi"}, } labels["Perkataan dieja dengan jukujikun"] = { description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#jukujikun|jukujikun]] {{mdash}} {{ja-r|熟%字%訓|じゅく%じ%くん}} {{mdash}} which are [[kanji]] used to represent meanings rather than sounds.", parents = {{name = "{{{langcat}}}", raw = true}}, } local function add_grade_categories(grade, desc, wp, only_one, parent, sort) local grade_kanji = "Kanji " .. grade local topright = wp and ("{{wp|%s}}"):format(ucfirst(grade_kanji)) or nil labels[grade_kanji] = { topright = topright, description = "Kanji bahasa {{{langname}}} " .. desc, toc_template = "Hani-categoryTOC", parents = {{ name = parent and ("Kanji " .. parent) or "Kanji", sort = sort or grade }}, } labels["Perkataan dieja dengan " .. grade_kanji:lower()] = { topright = topright, description = "Perkataan bahasa {{{langname}}} yang dieja dengan " .. (only_one and "sekurang-kurangnya satu " or "") .. " aksara kanji " .. desc, parents = {{ name = parent and ("Perkataan dieja dengan kanji " .. parent) or "Perkataan mengikut sifat ortografi", sort = sort or grade }}, } end for i = 1, 6 do local ord = m_numeric.ones_position_ord[i] add_grade_categories( "gred " .. ord, "diajar dalam gred " .. ord .. " sekolah rendah, seperti yang ditetapkan oleh senarai rasmi {{ja-r|教%育 漢%字|きょう%いく かん%じ|sukatan pendidikan kanji}}.", false, false, "kyōiku", i ) end add_grade_categories( "kyōiku", "pada senarai rasmi {{ja-r|教%育 漢%字|きょう%いく かん%じ|sukatan pendidikan kanji}}.", true, false, "jōyō" ) add_grade_categories( "sekolah menengah", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}} yang secara umumnya diajar pada peringkat sekolah menengah.", false, false, "jōyō" ) add_grade_categories( "jōyō", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}.", true, false ) add_grade_categories( "tōyō", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}, yang digunakan pada sekitar tahun 1946{{ndash}}1981 sehingga penerbitan senarai {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}.", true, false ) add_grade_categories( "jinmeiyō", "pada senarai rasmi {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji untuk kegunaan nama peribadi}}.", true, true ) add_grade_categories( "hyōgai", "tidak termasuk pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara kegunaan kerap}} atau {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji untuk kegunaan nama peribadi}}, yang dikenali sebagai {{ja-r|表%外 漢%字|ひょう%がい かん%じ}} atau {{ja-r|表%外%字|ひょう%がい%じ|aksara tidak tersenarai}}.", true, true ) labels["Perkataan dengan berbilang bacaan"] = { description = "Perkataan bahasa {{{langname}}} dengan berbilang cara sebutan (maka juga sama dengan berbilang ejaan [[kana]]).", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Bacaan kanji mengikut bilangan mora"] = { description = "Kategori-kategori bahasa {{{langname}}} dikumpulkan berdasarkan bilangan mora dalam bacaan kanji.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan kanji tunggal"] = { description = "Perkataan {{{langname}}} yang ditulis dengan kanji tunggal.", parents = { "Perkataan mengikut sifat ortografi", {name = "Perkataan dengan 1 aksara kanji", sort = " "}, }, } labels["kanji with kun readings missing okurigana designation"] = { breadcrumb = "Kanji missing okurigana designation", description = "{{{langname}}} kanji entries in which one or more kun readings entered into {{tl|{{{langcode}}}-readings}} is missing a hyphen denoting okurigana.", toc_template = "Hani-categoryTOC", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["Perkataan mengikut aksara individu dalam ejaan sejarah"] = { breadcrumb = "Bersejarah", description = "{{{langname}}} terms categorized by whether their spellings in the {{w|historical kana orthography}} included certain individual characters.", parents = {{name = "Perkataan mengikut aksara individu", sort = " "}}, } labels["Kata kerja tanpa ketransitifan"] = { description = "{{{langname}}} verbs missing the {{code|=tr=}} parameter from their headword templates.", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["Yojijukugo"] = { topright = "{{wp|Yojijukugo}}", description = "{{{langname}}} four-[[kanji]] compound terms, {{ja-r|四%字 熟%語|よ%じ じゅく%ご}}, with idiomatic meanings; typically derived from Classical Chinese, Buddhist scripture or traditional Japanese proverbs.", additional = "Compare Chinese {{w|chengyu}} and Korean {{w|sajaseong-eo}}.", umbrella = "four-character idioms", parents = {"Peribahasa"}, } -- FIXME: Only works for 0 through 19. local word_to_number = {} for k, v in pairs(m_numeric.ones_position) do word_to_number[v] = k end local periods = { lama = true, kuno = true, } local function get_period_text_and_reading_type_link(period, reading_type) if period and not periods[period] then return nil end local period_text = period and " " .. period or nil -- Allow periods (historical or ancient) by themselves; they will parse as reading types. if not period and periods[reading_type] then return nil, reading_type end local reading_type_link = "[[Lampiran:Glosari bahasa Jepun#" .. reading_type .. "|" .. reading_type .. "]]" return period_text, reading_type_link end local function get_sc(str) return match(str:gsub("[%s%p]+", ""), "[^" .. Hira:getCharacters() .. "]") and Jpan or Hira end local function get_tagged_reading(reading, lang) return tag_text(reading, lang, get_sc(reading)) end local function get_reading_link(reading, lang, period, link) local hist = periods[period] reading = reading:gsub("[%.%-%s]+", "") return full_link({ lang = lang, sc = get_sc(reading), term = link or reading:gsub("・", ""), -- If we have okurigana, demarcate furigana. alt = reading:gsub("^(.-)・", "<span style=\"border-top:1px solid;position:relative;padding:1px;\">%1<span style=\"position:absolute;top:0;bottom:67%%;right:0%%;border-right:1px solid;\"></span></span>"), tr = kana_to_romaji((reading:gsub("・", ".")), lang:getCode(), nil, {keep_dot = true, hist = hist}) :gsub("^(.-)%.", "<u>%1</u>"), pos = reading:find("・", 1, true) and get_tagged_reading((reading:gsub("^.-・", "~")), lang) or nil }, "term") end local function is_on_subtype(reading_type) return reading_type:find(".on$") end insert(handlers, function(data) local n =data.label:match("^Perkataan dengan ([1-9]%d*) aksara kanji$") if not n then return end local sortkey = require("Module:category tree").numeral_sortkey(n, 2097152) return { breadcrumb = n, description = ("Perkataan bahasa {{{langname}}} yang mengandungi tepat %d aksara kanji."):format(n), -- TODO: implement this using the same mechanism used to implement parents (i.e. avoiding the need for raw categories). -- umbrella = { -- breadcrumb = ("%d kanji"):format(n), -- parents = {{name = "terms by number of kanji subcategories by language", sort = sortkey}}, -- }, parents = {{name = ("Perkataan mengikut bilangan aksara kanji"), sort = sortkey}} } end) insert(handlers, function(data) local label_pref, kana = data.label:match("^(Perkataan yang mengikut sejarah dieja dengan )" .. kana_capture .. "$") if not kana then return end local lang = data.lang return { description = "Perkataan bahasa {{{langname}}} yang dieja dengan " .. get_reading_link(kana, lang, "bersejarah") .. " dalam {{w|ortografi kana sejarawi}}.", displaytitle = label_pref .. get_tagged_reading(kana, lang) .. " bahasa {{{langname}}}", breadcrumb = "sejarah", parents = { {name = "Perkataan dieja dengan " .. kana, sort = " "}, {name = "Perkataan mengikut aksara individu dalam ejaan sejarah", sort = lang:makeSortKey(kana)} }, } end) insert(handlers, function(data) local count, plural = data.label:match("^Bacaan kanji dengan (.+) mora$") local num = word_to_number[count] if not num then return nil end return { description = "Bacaan kanji bahasa {{{langname}}} yang mengandungi " .. count .. " mora.", breadcrumb = num, parents = {{name = "Bacaan kanji mengikut bilangan mora", sort = num}}, } end) insert(handlers, function(data) local label_pref, period, reading_type, reading = match(data.label, "^(Kanji dengan bacaan ([a-z]-) ?([%a']+) )" .. kana_capture .. "$") if not period then return end period = period ~= "" and period or nil local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type) if not reading_type_link then return end local lang = data.lang -- Compute parents. local parents, breadcrumb = {} if reading:find("・", 1, true) then local okurigana = reading:match("・(.*)") insert(parents, { name = "Kanji dengan bacaan" .. (period_text or "") .. " ".. reading_type .. " " .. reading:match("(.-)・"), -- Sort by okurigana, since all coordinate categories will have the same furigana. sort = (lang:makeSortKey(okurigana)) }) breadcrumb = "~" .. okurigana else insert(parents, { name = "Kanji mengikut bacaan" .. (period_text or "") .. " " .. reading_type, sort = (lang:makeSortKey(reading)) }) breadcrumb = reading end if is_on_subtype(reading_type) then insert(parents, {name = "Kanji dengan bacaan" .. (period_text or "") .. " on " .. reading, sort = reading_type}) elseif period_text then insert(parents, {name = "Kanji dengan bacaan" .. period_text .. " " .. reading, sort = reading_type}) end if not period_text then insert(parents, {name = "Kanji dibaca sebagai " .. reading, sort = reading_type}) end return { description = "Aksara [[kanji]] bahasa {{{langname}}} dengan bacaan " .. reading_type_link .. " " .. get_reading_link(reading, lang, period or reading_type) .. ".", displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(reading, lang), breadcrumb = get_tagged_reading(breadcrumb, lang), parents = parents, } end) insert(handlers, function(data) local period, reading_type = match(data.label, "^Kanji mengikut bacaan ([a-z]-) ?([%a']+)$") if not period then return end period = period ~= "" and period or nil local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type) if not reading_type_link then return nil end -- Compute parents. local parents = { is_on_subtype(reading_type) and {name = "Kanji mengikut bacaan" .. (period_text or "") .. " on", sort = reading_type} or period_text and {name = "Kanji mengikut bacaan " .. reading_type, sort = period} or {name = "Kanji mengikut bacaan", sort = reading_type} } if period_text then insert(parents, {name = "Kanji mengikut bacaan" .. period_text, sort = reading_type}) end -- Compute description. local description = "[[kanji|Kanji]] bahasa {{{langname}}} dikategorikan mengikat bacaan " .. (period_text or "") .. reading_type_link .. "." return { description = description, breadcrumb = reading_type .. (period_text or ""), parents = parents, } end) insert(handlers, function(data) local label_pref, reading = match(data.label, "^(Kanji dibaca sebagai )" .. kana_capture .. "$") if not reading then return end local args = require("Module:parameters").process(data.args, { ["histconsol"] = true, }) local lang = data.lang local parents, breadcrumb = {} if reading:find("・", 1, true) then local okurigana = reading:match("・(.*)") insert(parents, { name = "Kanji dibaca sebagai " .. reading:match("(.-)・"), -- Sort by okurigana, since all coordinate categories will have the same furigana. sort = (lang:makeSortKey(okurigana)) }) breadcrumb = "~" .. okurigana else insert(parents, { name = "Kanji mengikut bacaan", sort = (lang:makeSortKey(reading)) }) breadcrumb = reading end local addl local period_text if args.histconsol then period_text = "lama" addl = ("This is a [[Wikipedia:Historical kana orthography|historical]] [[Wikipedia:Kanazukai|reading]], now " .. "consolidated with the [[Wikipedia:Modern kana usage|modern reading]] of " .. get_reading_link(args.histconsol, lang, nil, ("Kategori:Kanji dibaca sebagai %s bahasa Jepun"):format(args.histconsol)) .. ".") end return { description = "[[kanji|Kanji]] bahasa {{{langname}}} dibaca sebagai " .. get_reading_link(reading, lang, period_text) .. ".", additional = addl, displaytitle = label_pref .. get_tagged_reading(reading, lang) .. " bahasa {{{langname}}}" , breadcrumb = get_tagged_reading(breadcrumb, lang), parents = parents, }, true end) insert(handlers, function(data) local label_pref, reading = match(data.label, "^(Perkataan dieja dengan kanji dibaca sebagai )" .. kana_capture .. "$") if not reading then return end -- Compute parents. local lang = data.lang local sort_key = (lang:makeSortKey(reading)) local mora_count = require("Module:ja").count_morae(reading) local mora_count_words = m_numeric.spell_number(tostring(mora_count)) local parents = { {name = "Perkataan mengikut bacaan kanji", sort = sort_key}, {name = "Bacaan kanji dengan " .. mora_count_words .. " mora", sort = sort_key}, {name = "Kanji dibaca sebagai " .. reading, sort = " "}, } local tagged_reading = get_tagged_reading(reading, lang) return { description = "{{{langname}}} terms that contain kanji that exhibit a reading of " .. get_reading_link(reading, lang) .. " in those terms prior to any sound changes.", displaytitle = "{{{langname}}} " .. label_pref .. tagged_reading, breadcrumb = tagged_reading, parents = parents, } end) insert(handlers, function(data) local kanji, reading = match(data.label, "^Perkataan dieja dengan (.) dibaca sebagai " .. kana_capture .. "$") if not kanji then return nil end local args = require("Module:parameters").process(data.args, { [1] = {list = true}, }) local lang = data.lang if #args[1] == 0 then error("Bagi kategori dalam bentuk \"" .. lang:getCanonicalName() .. " terms spelled with KANJI dibaca sebagai READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.") end local yomi_types, parents = {}, {} for _, yomi, category in ipairs(args[1]) do local yomi_data = yomi_data[yomi] if not yomi_data then error("Jenis yomi \"" .. yomi .. "\" tidak sah.") end category = yomi_data.kanji_category if not category then error("Jenis yomi \"" .. yomi .. "\" tidak sah bagi jenis kategori ini.") end insert(yomi_types, yomi_data.link) insert(parents, { name = "Perkataan dieja dengan kanji dengan bacaan " .. category, sort = (lang:makeSortKey(reading)) }) end insert(parents, 1, {name = "Perkataan dieja dengan " .. kanji, sort = (lang:makeSortKey(reading))}) insert(parents, 2, {name = "Perkataan dieja dengan kanji dibaca sebagai " .. reading, sort = Hani_sort(kanji)}) yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " .. require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) .. " reading" .. (#yomi_types > 1 and "s" or "") local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_reading = get_tagged_reading(reading, lang) return { description = "{{{langname}}} terms spelled with {{l|{{{langcode}}}|" .. kanji .. "}} with " .. yomi_types .. " of " .. get_reading_link(reading, lang) .. ".", displaytitle = "{{{langname}}} terms spelled with " .. tagged_kanji .. " dibaca sebagai " .. tagged_reading, breadcrumb = "dibaca sebagai " .. tagged_reading, parents = parents, }, true end) insert(handlers, function(data) local affix, kanji, reading = data.label:match("^Perkataan dengan ([a-z]) (.+) dibaca sebagai " .. kana_capture .. "$") if not affix or not kanji or not reading then return nil end local args = require("Module:parameters").process(data.args, { [1] = {list = true}, }) local lang = data.lang if #args[1] == 0 then error("For categories of the form \"" .. lang:getCanonicalName() .. " terms AFFIXed with KANJI dibaca sebagai READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.") end local yomi_types = {} for _, yomi, category in ipairs(args[1]) do local yomi_data = yomi_data[yomi] if not yomi_data then error("The yomi type \"" .. yomi .. "\" is not recognized.") end category = yomi_data.kanji_category if not category then error("The yomi type \"" .. yomi .. "\" is not valid for this type of category.") end insert(yomi_types, yomi_data.link) end yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " .. require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) .. " reading" .. (#yomi_types > 1 and "s" or "") local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_reading = get_tagged_reading(reading, lang) return { description = "{{{langname}}} terms " .. affix .. "ed with {{l|{{{langcode}}}|" .. kanji .. "}} with " .. yomi_types .. " of " .. get_reading_link(reading, lang) .. ".", displaytitle = "{{{langname}}} terms " .. affix .. "ed with " .. tagged_kanji .. " dibaca sebagai " .. tagged_reading, breadcrumb = "dibaca sebagai " .. reading, parents = { {name = "terms " .. affix .. "ed with " .. kanji, sort = (lang:makeSortKey(reading))}, --{name = "Perkataan dieja dengan " .. kanji .. " dibaca sebagai " .. reading, sort = (lang:makeSortKey(reading)), args=data.args} }, }, true end) insert(handlers, function(data) local kanji, daiyoji = match(data.label, "^Perkataan dengan (.) digantikan oleh daiyōji (.)$") if not kanji then return nil end local args = require("Module:parameters").process(data.args, { ["sort"] = true, }) local lang = data.lang if not args.sort then error("For categories of the form \"" .. lang:getCanonicalName() .. " terms with KANJI replaced by daiyōji DAIYOJI\", the sort key must be specified using sort=") end local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_daiyoji = get_tagged_reading(daiyoji, lang) return { description = "{{{langname}}} terms with {{l|{{{langcode}}}|" .. kanji .. "}} replaced by [[Appendix:Japanese glossary#daiyouji|daiyōji]] {{l|{{{langcode}}}|" .. daiyoji .. "}}.", displaytitle = "{{{langname}}} terms with " .. tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji, breadcrumb = tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji, parents = {{name = "Perkataan dieja dengan daiyōji", sort = args.sort}}, }, true end) return {LABELS = labels, HANDLERS = handlers} 55nzh7armhc450zs6jk9i3eepl0t9es 342756 342746 2026-05-16T04:13:42Z Hakimi97 2668 342756 Scribunto text/plain local labels = {} local handlers = {} local m_str_utils = require("Module:string utilities") local concat = table.concat local full_link = require("Module:links").full_link local insert = table.insert local Hani_sort = require("Module:Hani-sortkey").makeSortKey local match = m_str_utils.match local sort = table.sort local tag_text = require("Module:script_utilities").tag_text local ucfirst = m_str_utils.ucfirst local Hira = require("Module:scripts").getByCode("Hira") local Jpan = require("Module:scripts").getByCode("Jpan") local kana_to_romaji = require("Module:Hrkt-translit").tr local m_numeric = require("Module:ConvertNumeric") local kana_capture = "([-" .. require("Module:ja/data/range").kana .. "・]+)" local yomi_data = require("Module:kanjitab/data") labels["adnominals"] = { description = "{{{langname}}} adnominals, or {{ja-r|連%体%詞|れん%たい%し}}, which modify nouns, and do not conjugate or [[predicate#Verb|predicate]].", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Hiragana"] = { description = "{{{langname}}} terms with hiragana {{mdash}} {{ja-r|平%仮%名|ひら%が%な}} {{mdash}} forms, sorted by conventional hiragana sequence. The hiragana form is a [[phonetic]] representation of that word. " .. "Wiktionary represents {{{langname}}}-language segments in three ways: in normal form (with [[kanji]], if appropriate), in [[hiragana]] " .. "form (this differs from kanji form only when the segment contains kanji), and in [[romaji]] form.", additional = "''Lihat juga'' [[:Kategori:Katakana bahasa {{{langname}}}]]", toc_template = "categoryTOC-hiragana", parents = { {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Hiragana", } } labels["historical hiragana"] = { description = "{{{langname}}} historical [[hiragana]].", additional = "''See also'' [[:Category:{{{langname}}} historical katakana]].", toc_template = "categoryTOC-hiragana", parents = { "Hiragana", {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Hiragana", } } labels["Katakana"] = { description = "{{{langname}}} terms with katakana {{mdash}} {{ja-r|片%仮%名|かた%か%な}} {{mdash}} forms, sorted by conventional katakana sequence. Katakana is used primarily for transliterations of foreign words, including old Chinese hanzi not used in [[shinjitai]].", additional = "''Lihat juga'' [[:Kategori:Hiragana bahasa {{{langname}}}]]", toc_template = "categoryTOC-katakana", parents = { {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Katakana", } } labels["historical katakana"] = { description = "{{{langname}}} historical [[katakana]].", additional = "''See also'' [[:Category:{{{langname}}} historical hiragana]].", toc_template = "categoryTOC-katakana", parents = { "Katakana", {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Katakana", } } labels["Perkataan dieja dengan kana campuran"] = { description = "{{{langname}}} terms which combine [[hiragana]] and [[katakana]] characters, potentially with [[kanji]] too.", parents = { {name = "{{{langcat}}}", raw = true}, "Hiragana", "Katakana", }, } labels["Kanji"] = { topright = "{{wp|Kanji}}", description = "Simbol bahasa {{{langname}}} yang merupakan sebahagian daripada tulisan logogram Han, yang boleh mewakili bunyi atau menyampaikan makna secara langsung.", toc_template = "Hani-categoryTOC", umbrella = "Aksara Han", parents = "Logogram", } labels["Kanji mengikut bacaan"] = { description = "Kanji bahasa {{{langname}}} yang dikategorikan mengikut bacaan.", parents = {{name = "Kanji", sort = "bacaan"}}, } labels["Makurakotoba"] = { topright = "{{wp|Makurakotoba}}", description = "{{{langname}}} idioms used in poetry to introduce specific words.", parents = {"Peribahasa"}, } labels["Perkataan mengikut bacaan kanji"] = { description = "Kategori bahasa {{{langname}}} yang dikumpulkan berdasarkan bacaan kanji yang dieja dengannya.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan mengikut pola bacaan"] = { description = "Kategori bahasa {{{langname}}} dengan perkataan yang dikumpulkan berdasarkan corak bacaannya.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan mengikut bilangan aksara kanji"] = { description = "Perkataan bahasa {{{langname}}} dikategorikan mengikut bilangan aksara kanji.", parents = {"Perkataan mengikut sifat ortografi"}, } local function handle_onyomi_list(category, category_type, cat_yomi_type) local onyomi, seen = {}, {} for _, yomi in pairs(yomi_data) do if not seen[yomi] and yomi.onyomi then local yomi_catname = yomi[category_type] if yomi_catname ~= false then local yomi_type = yomi.type if yomi_type ~= "on'yomi" and yomi_type ~= cat_yomi_type then insert(onyomi, "[[:Kategori:" .. category:gsub("{{{yomi_catname}}}", yomi_catname) .. " bahasa {{{langname}}}]]") end end end seen[yomi] = true end sort(onyomi) return onyomi end local function add_yomi_category(category, category_type, parent, description) for _, yomi in pairs(yomi_data) do local yomi_catname = yomi[category_type] if yomi_catname ~= false then local yomi_type = yomi.type local yomi_desc = yomi.link or yomi_catname if yomi.description then yomi_desc = yomi_desc .. "; " .. yomi.description end local label = { description = description .. " " .. yomi_desc .. ".", breadcrumb = yomi_type, parents = {{name = parent, sort = yomi_catname}}, } if yomi.onyomi then local onyomi = handle_onyomi_list(category, category_type, yomi_type) label.additional = "Kategori untuk perkataan dengan " .. (yomi_type == "on'yomi" and "pelbagai lagi" or "lain-lain") .. " jenis spesifik bacaan on'yomi boleh ditemukan pada kategori berikut:\n* " .. concat(onyomi, "\n* ") if yomi_type ~= "on'yomi" then insert(label.parents, 1, { name = (category:gsub("{{{yomi_catname}}}", yomi_data.on[category_type])), sort = yomi_catname }) end end labels[category:gsub("{{{yomi_catname}}}", yomi_catname)] = label end end end add_yomi_category( "Perkataan dengan bacaan {{{yomi_catname}}}", "reading_category", "Perkataan mengikut pola bacaan", "Perkataan bahasa {{{langname}}} dengan bacaan" ) add_yomi_category( "Perkataan dieja dengan kanji dengan bacaan {{{yomi_catname}}}", "kanji_category", "Perkataan mengikut jenis bacaan kanji", "Kategori bahasa {{{langname}}} dengan perkataan yang dieja dengan satu atau lebih banyak aksara kanji dengan bacaan" ) labels["Perkataan kehilangan yomi"] = { description = "Perkataan bahasa {{{langname}}} yang kehilangan satu atau lebih [[Lampiran:Glosari bahasa Jepun#yomi|yomi]] dalam {{tl|{{{langcode}}}-kanjitab}}.", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["terms with IPA pronunciation with pitch accent"] = { description = "{{{langname}}} terms with pronunciations that have {{w|Japanese pitch accent|pitch accent}} specified.", additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.", can_be_empty = true, parents = {"Penyelenggaraan entri", "pitch accent"}, } labels["terms with IPA pronunciation missing pitch accent"] = { description = "{{{langname}}} terms with pronunciations that do not have a {{w|Japanese pitch accent|pitch accent}} specified.", additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["pitch accent"] = { description = "{{{langname}}} terms regarding {{w|Japanese pitch accent|pitch accent}} pronunciation.", can_be_empty = true, parents = {{name = "{{{langcat}}}", raw = true}}, } labels["terms with Heiban pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[平板型|Heiban]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Atamadaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[頭高型|Atamadaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Nakadaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Odaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["pitch accent deaccenting before の"] = { description = "{{{langname}}} terms with {{w|Japanese pitch accent|pitch accent}} pronunciations that have exceptional deaccenting or lack thereof before の ({{ja-deaccenting-before-no}}).", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Odaka pitch accent not deaccented before の (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}} and do not become deaccented before の ({{ja-deaccenting-before-no}}).", can_be_empty = true, parents = {"pitch accent deaccenting before の"} } labels["terms with Nakadaka pitch accent deaccented before の (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}} and become deaccented before の ({{ja-deaccenting-before-no}}).", can_be_empty = true, parents = {"pitch accent deaccenting before の"} } labels["Perkataan mengikut jenis bacaan kanji"] = { description = "{{{langname}}} categories with terms grouped with regard to the types of readings of the kanji with which " .. "they are spelled; broadly, those of Chinese origin, {{ja-r|音|おん}} readings, and those of non-Chinese origin, {{ja-r|訓|くん}} readings.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan dieja dengan ateji"] = { topright = "{{wp|Ateji}}", description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#ateji|ateji]] {{mdash}} {{ja-r|当て字|あてじ}} {{mdash}} which are [[kanji]] used to represent sounds rather than meanings (though meaning may have some influence on which kanji are chosen).", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan dieja dengan daiyōji"] = { description = "Japanese terms spelled using [[Appendix:Japanese glossary#daiyouji|daiyōji]], categorized using {{temp|ja-daiyouji}}.", parents = {"Perkataan mengikut etimologi"}, } labels["Perkataan dieja dengan jukujikun"] = { description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#jukujikun|jukujikun]] {{mdash}} {{ja-r|熟%字%訓|じゅく%じ%くん}} {{mdash}} which are [[kanji]] used to represent meanings rather than sounds.", parents = {{name = "{{{langcat}}}", raw = true}}, } local function add_grade_categories(grade, desc, wp, only_one, parent, sort) local grade_kanji = "Kanji " .. grade local topright = wp and ("{{wp|%s}}"):format(ucfirst(grade_kanji)) or nil labels[grade_kanji] = { topright = topright, description = "Kanji bahasa {{{langname}}} " .. desc, toc_template = "Hani-categoryTOC", parents = {{ name = parent and ("Kanji " .. parent) or "Kanji", sort = sort or grade }}, } labels["Perkataan dieja dengan " .. grade_kanji:lower()] = { topright = topright, description = "Perkataan bahasa {{{langname}}} yang dieja dengan " .. (only_one and "sekurang-kurangnya satu " or "") .. " aksara kanji " .. desc, parents = {{ name = parent and ("Perkataan dieja dengan kanji " .. parent) or "Perkataan mengikut sifat ortografi", sort = sort or grade }}, } end for i = 1, 6 do local ord = m_numeric.ones_position_ord[i] add_grade_categories( "gred " .. ord, "diajar dalam gred " .. ord .. " sekolah rendah, seperti yang ditetapkan oleh senarai rasmi {{ja-r|教%育 漢%字|きょう%いく かん%じ|sukatan pendidikan kanji}}.", false, false, "kyōiku", i ) end add_grade_categories( "kyōiku", "pada senarai rasmi {{ja-r|教%育 漢%字|きょう%いく かん%じ|sukatan pendidikan kanji}}.", true, false, "jōyō" ) add_grade_categories( "sekolah menengah", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}} yang secara umumnya diajar pada peringkat sekolah menengah.", false, false, "jōyō" ) add_grade_categories( "jōyō", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}.", true, false ) add_grade_categories( "tōyō", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}, yang digunakan pada sekitar tahun 1946{{ndash}}1981 sehingga penerbitan senarai {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}.", true, false ) add_grade_categories( "jinmeiyō", "pada senarai rasmi {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji untuk kegunaan nama peribadi}}.", true, true ) add_grade_categories( "hyōgai", "tidak termasuk pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara kegunaan kerap}} atau {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji untuk kegunaan nama peribadi}}, yang dikenali sebagai {{ja-r|表%外 漢%字|ひょう%がい かん%じ}} atau {{ja-r|表%外%字|ひょう%がい%じ|aksara tidak tersenarai}}.", true, true ) labels["Perkataan dengan berbilang bacaan"] = { description = "Perkataan bahasa {{{langname}}} dengan berbilang cara sebutan (maka juga sama dengan berbilang ejaan [[kana]]).", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Bacaan kanji mengikut bilangan mora"] = { description = "Kategori-kategori bahasa {{{langname}}} dikumpulkan berdasarkan bilangan mora dalam bacaan kanji.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan kanji tunggal"] = { description = "Perkataan {{{langname}}} yang ditulis dengan kanji tunggal.", parents = { "Perkataan mengikut sifat ortografi", {name = "Perkataan dengan 1 aksara kanji", sort = " "}, }, } labels["kanji with kun readings missing okurigana designation"] = { breadcrumb = "Kanji missing okurigana designation", description = "{{{langname}}} kanji entries in which one or more kun readings entered into {{tl|{{{langcode}}}-readings}} is missing a hyphen denoting okurigana.", toc_template = "Hani-categoryTOC", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["Perkataan mengikut aksara individu dalam ejaan sejarah"] = { breadcrumb = "Bersejarah", description = "{{{langname}}} terms categorized by whether their spellings in the {{w|historical kana orthography}} included certain individual characters.", parents = {{name = "Perkataan mengikut aksara individu", sort = " "}}, } labels["Kata kerja tanpa ketransitifan"] = { description = "{{{langname}}} verbs missing the {{code|=tr=}} parameter from their headword templates.", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["Yojijukugo"] = { topright = "{{wp|Yojijukugo}}", description = "{{{langname}}} four-[[kanji]] compound terms, {{ja-r|四%字 熟%語|よ%じ じゅく%ご}}, with idiomatic meanings; typically derived from Classical Chinese, Buddhist scripture or traditional Japanese proverbs.", additional = "Compare Chinese {{w|chengyu}} and Korean {{w|sajaseong-eo}}.", umbrella = "peribahasa empat aksara", parents = {"Peribahasa"}, } -- FIXME: Only works for 0 through 19. local word_to_number = {} for k, v in pairs(m_numeric.ones_position) do word_to_number[v] = k end local periods = { lama = true, kuno = true, } local function get_period_text_and_reading_type_link(period, reading_type) if period and not periods[period] then return nil end local period_text = period and " " .. period or nil -- Allow periods (historical or ancient) by themselves; they will parse as reading types. if not period and periods[reading_type] then return nil, reading_type end local reading_type_link = "[[Lampiran:Glosari bahasa Jepun#" .. reading_type .. "|" .. reading_type .. "]]" return period_text, reading_type_link end local function get_sc(str) return match(str:gsub("[%s%p]+", ""), "[^" .. Hira:getCharacters() .. "]") and Jpan or Hira end local function get_tagged_reading(reading, lang) return tag_text(reading, lang, get_sc(reading)) end local function get_reading_link(reading, lang, period, link) local hist = periods[period] reading = reading:gsub("[%.%-%s]+", "") return full_link({ lang = lang, sc = get_sc(reading), term = link or reading:gsub("・", ""), -- If we have okurigana, demarcate furigana. alt = reading:gsub("^(.-)・", "<span style=\"border-top:1px solid;position:relative;padding:1px;\">%1<span style=\"position:absolute;top:0;bottom:67%%;right:0%%;border-right:1px solid;\"></span></span>"), tr = kana_to_romaji((reading:gsub("・", ".")), lang:getCode(), nil, {keep_dot = true, hist = hist}) :gsub("^(.-)%.", "<u>%1</u>"), pos = reading:find("・", 1, true) and get_tagged_reading((reading:gsub("^.-・", "~")), lang) or nil }, "term") end local function is_on_subtype(reading_type) return reading_type:find(".on$") end insert(handlers, function(data) local n =data.label:match("^Perkataan dengan ([1-9]%d*) aksara kanji$") if not n then return end local sortkey = require("Module:category tree").numeral_sortkey(n, 2097152) return { breadcrumb = n, description = ("Perkataan bahasa {{{langname}}} yang mengandungi tepat %d aksara kanji."):format(n), -- TODO: implement this using the same mechanism used to implement parents (i.e. avoiding the need for raw categories). -- umbrella = { -- breadcrumb = ("%d kanji"):format(n), -- parents = {{name = "terms by number of kanji subcategories by language", sort = sortkey}}, -- }, parents = {{name = ("Perkataan mengikut bilangan aksara kanji"), sort = sortkey}} } end) insert(handlers, function(data) local label_pref, kana = data.label:match("^(Perkataan yang mengikut sejarah dieja dengan )" .. kana_capture .. "$") if not kana then return end local lang = data.lang return { description = "Perkataan bahasa {{{langname}}} yang dieja dengan " .. get_reading_link(kana, lang, "bersejarah") .. " dalam {{w|ortografi kana sejarawi}}.", displaytitle = label_pref .. get_tagged_reading(kana, lang) .. " bahasa {{{langname}}}", breadcrumb = "sejarah", parents = { {name = "Perkataan dieja dengan " .. kana, sort = " "}, {name = "Perkataan mengikut aksara individu dalam ejaan sejarah", sort = lang:makeSortKey(kana)} }, } end) insert(handlers, function(data) local count, plural = data.label:match("^Bacaan kanji dengan (.+) mora$") local num = word_to_number[count] if not num then return nil end return { description = "Bacaan kanji bahasa {{{langname}}} yang mengandungi " .. count .. " mora.", breadcrumb = num, parents = {{name = "Bacaan kanji mengikut bilangan mora", sort = num}}, } end) insert(handlers, function(data) local label_pref, period, reading_type, reading = match(data.label, "^(Kanji dengan bacaan ([a-z]-) ?([%a']+) )" .. kana_capture .. "$") if not period then return end period = period ~= "" and period or nil local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type) if not reading_type_link then return end local lang = data.lang -- Compute parents. local parents, breadcrumb = {} if reading:find("・", 1, true) then local okurigana = reading:match("・(.*)") insert(parents, { name = "Kanji dengan bacaan" .. (period_text or "") .. " ".. reading_type .. " " .. reading:match("(.-)・"), -- Sort by okurigana, since all coordinate categories will have the same furigana. sort = (lang:makeSortKey(okurigana)) }) breadcrumb = "~" .. okurigana else insert(parents, { name = "Kanji mengikut bacaan" .. (period_text or "") .. " " .. reading_type, sort = (lang:makeSortKey(reading)) }) breadcrumb = reading end if is_on_subtype(reading_type) then insert(parents, {name = "Kanji dengan bacaan" .. (period_text or "") .. " on " .. reading, sort = reading_type}) elseif period_text then insert(parents, {name = "Kanji dengan bacaan" .. period_text .. " " .. reading, sort = reading_type}) end if not period_text then insert(parents, {name = "Kanji dibaca sebagai " .. reading, sort = reading_type}) end return { description = "Aksara [[kanji]] bahasa {{{langname}}} dengan bacaan " .. reading_type_link .. " " .. get_reading_link(reading, lang, period or reading_type) .. ".", displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(reading, lang), breadcrumb = get_tagged_reading(breadcrumb, lang), parents = parents, } end) insert(handlers, function(data) local period, reading_type = match(data.label, "^Kanji mengikut bacaan ([a-z]-) ?([%a']+)$") if not period then return end period = period ~= "" and period or nil local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type) if not reading_type_link then return nil end -- Compute parents. local parents = { is_on_subtype(reading_type) and {name = "Kanji mengikut bacaan" .. (period_text or "") .. " on", sort = reading_type} or period_text and {name = "Kanji mengikut bacaan " .. reading_type, sort = period} or {name = "Kanji mengikut bacaan", sort = reading_type} } if period_text then insert(parents, {name = "Kanji mengikut bacaan" .. period_text, sort = reading_type}) end -- Compute description. local description = "[[kanji|Kanji]] bahasa {{{langname}}} dikategorikan mengikat bacaan " .. (period_text or "") .. reading_type_link .. "." return { description = description, breadcrumb = reading_type .. (period_text or ""), parents = parents, } end) insert(handlers, function(data) local label_pref, reading = match(data.label, "^(Kanji dibaca sebagai )" .. kana_capture .. "$") if not reading then return end local args = require("Module:parameters").process(data.args, { ["histconsol"] = true, }) local lang = data.lang local parents, breadcrumb = {} if reading:find("・", 1, true) then local okurigana = reading:match("・(.*)") insert(parents, { name = "Kanji dibaca sebagai " .. reading:match("(.-)・"), -- Sort by okurigana, since all coordinate categories will have the same furigana. sort = (lang:makeSortKey(okurigana)) }) breadcrumb = "~" .. okurigana else insert(parents, { name = "Kanji mengikut bacaan", sort = (lang:makeSortKey(reading)) }) breadcrumb = reading end local addl local period_text if args.histconsol then period_text = "lama" addl = ("This is a [[Wikipedia:Historical kana orthography|historical]] [[Wikipedia:Kanazukai|reading]], now " .. "consolidated with the [[Wikipedia:Modern kana usage|modern reading]] of " .. get_reading_link(args.histconsol, lang, nil, ("Kategori:Kanji dibaca sebagai %s bahasa Jepun"):format(args.histconsol)) .. ".") end return { description = "[[kanji|Kanji]] bahasa {{{langname}}} dibaca sebagai " .. get_reading_link(reading, lang, period_text) .. ".", additional = addl, displaytitle = label_pref .. get_tagged_reading(reading, lang) .. " bahasa {{{langname}}}" , breadcrumb = get_tagged_reading(breadcrumb, lang), parents = parents, }, true end) insert(handlers, function(data) local label_pref, reading = match(data.label, "^(Perkataan dieja dengan kanji dibaca sebagai )" .. kana_capture .. "$") if not reading then return end -- Compute parents. local lang = data.lang local sort_key = (lang:makeSortKey(reading)) local mora_count = require("Module:ja").count_morae(reading) local mora_count_words = m_numeric.spell_number(tostring(mora_count)) local parents = { {name = "Perkataan mengikut bacaan kanji", sort = sort_key}, {name = "Bacaan kanji dengan " .. mora_count_words .. " mora", sort = sort_key}, {name = "Kanji dibaca sebagai " .. reading, sort = " "}, } local tagged_reading = get_tagged_reading(reading, lang) return { description = "{{{langname}}} terms that contain kanji that exhibit a reading of " .. get_reading_link(reading, lang) .. " in those terms prior to any sound changes.", displaytitle = "{{{langname}}} " .. label_pref .. tagged_reading, breadcrumb = tagged_reading, parents = parents, } end) insert(handlers, function(data) local kanji, reading = match(data.label, "^Perkataan dieja dengan (.) dibaca sebagai " .. kana_capture .. "$") if not kanji then return nil end local args = require("Module:parameters").process(data.args, { [1] = {list = true}, }) local lang = data.lang if #args[1] == 0 then error("Bagi kategori dalam bentuk \"" .. lang:getCanonicalName() .. " terms spelled with KANJI dibaca sebagai READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.") end local yomi_types, parents = {}, {} for _, yomi, category in ipairs(args[1]) do local yomi_data = yomi_data[yomi] if not yomi_data then error("Jenis yomi \"" .. yomi .. "\" tidak sah.") end category = yomi_data.kanji_category if not category then error("Jenis yomi \"" .. yomi .. "\" tidak sah bagi jenis kategori ini.") end insert(yomi_types, yomi_data.link) insert(parents, { name = "Perkataan dieja dengan kanji dengan bacaan " .. category, sort = (lang:makeSortKey(reading)) }) end insert(parents, 1, {name = "Perkataan dieja dengan " .. kanji, sort = (lang:makeSortKey(reading))}) insert(parents, 2, {name = "Perkataan dieja dengan kanji dibaca sebagai " .. reading, sort = Hani_sort(kanji)}) yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " .. require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) .. " reading" .. (#yomi_types > 1 and "s" or "") local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_reading = get_tagged_reading(reading, lang) return { description = "{{{langname}}} terms spelled with {{l|{{{langcode}}}|" .. kanji .. "}} with " .. yomi_types .. " of " .. get_reading_link(reading, lang) .. ".", displaytitle = "{{{langname}}} terms spelled with " .. tagged_kanji .. " dibaca sebagai " .. tagged_reading, breadcrumb = "dibaca sebagai " .. tagged_reading, parents = parents, }, true end) insert(handlers, function(data) local affix, kanji, reading = data.label:match("^Perkataan dengan ([a-z]) (.+) dibaca sebagai " .. kana_capture .. "$") if not affix or not kanji or not reading then return nil end local args = require("Module:parameters").process(data.args, { [1] = {list = true}, }) local lang = data.lang if #args[1] == 0 then error("For categories of the form \"" .. lang:getCanonicalName() .. " terms AFFIXed with KANJI dibaca sebagai READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.") end local yomi_types = {} for _, yomi, category in ipairs(args[1]) do local yomi_data = yomi_data[yomi] if not yomi_data then error("The yomi type \"" .. yomi .. "\" is not recognized.") end category = yomi_data.kanji_category if not category then error("The yomi type \"" .. yomi .. "\" is not valid for this type of category.") end insert(yomi_types, yomi_data.link) end yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " .. require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) .. " reading" .. (#yomi_types > 1 and "s" or "") local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_reading = get_tagged_reading(reading, lang) return { description = "{{{langname}}} terms " .. affix .. "ed with {{l|{{{langcode}}}|" .. kanji .. "}} with " .. yomi_types .. " of " .. get_reading_link(reading, lang) .. ".", displaytitle = "{{{langname}}} terms " .. affix .. "ed with " .. tagged_kanji .. " dibaca sebagai " .. tagged_reading, breadcrumb = "dibaca sebagai " .. reading, parents = { {name = "terms " .. affix .. "ed with " .. kanji, sort = (lang:makeSortKey(reading))}, --{name = "Perkataan dieja dengan " .. kanji .. " dibaca sebagai " .. reading, sort = (lang:makeSortKey(reading)), args=data.args} }, }, true end) insert(handlers, function(data) local kanji, daiyoji = match(data.label, "^Perkataan dengan (.) digantikan oleh daiyōji (.)$") if not kanji then return nil end local args = require("Module:parameters").process(data.args, { ["sort"] = true, }) local lang = data.lang if not args.sort then error("For categories of the form \"" .. lang:getCanonicalName() .. " terms with KANJI replaced by daiyōji DAIYOJI\", the sort key must be specified using sort=") end local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_daiyoji = get_tagged_reading(daiyoji, lang) return { description = "{{{langname}}} terms with {{l|{{{langcode}}}|" .. kanji .. "}} replaced by [[Appendix:Japanese glossary#daiyouji|daiyōji]] {{l|{{{langcode}}}|" .. daiyoji .. "}}.", displaytitle = "{{{langname}}} terms with " .. tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji, breadcrumb = tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji, parents = {{name = "Perkataan dieja dengan daiyōji", sort = args.sort}}, }, true end) return {LABELS = labels, HANDLERS = handlers} e4da8b691jmwdc8le9dh77il747bk54 342766 342756 2026-05-16T04:39:16Z Hakimi97 2668 342766 Scribunto text/plain local labels = {} local handlers = {} local m_str_utils = require("Module:string utilities") local concat = table.concat local full_link = require("Module:links").full_link local insert = table.insert local Hani_sort = require("Module:Hani-sortkey").makeSortKey local match = m_str_utils.match local sort = table.sort local tag_text = require("Module:script_utilities").tag_text local ucfirst = m_str_utils.ucfirst local Hira = require("Module:scripts").getByCode("Hira") local Jpan = require("Module:scripts").getByCode("Jpan") local kana_to_romaji = require("Module:Hrkt-translit").tr local m_numeric = require("Module:ConvertNumeric") local kana_capture = "([-" .. require("Module:ja/data/range").kana .. "・]+)" local yomi_data = require("Module:kanjitab/data") labels["adnominals"] = { description = "{{{langname}}} adnominals, or {{ja-r|連%体%詞|れん%たい%し}}, which modify nouns, and do not conjugate or [[predicate#Verb|predicate]].", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Hiragana"] = { description = "{{{langname}}} terms with hiragana {{mdash}} {{ja-r|平%仮%名|ひら%が%な}} {{mdash}} forms, sorted by conventional hiragana sequence. The hiragana form is a [[phonetic]] representation of that word. " .. "Wiktionary represents {{{langname}}}-language segments in three ways: in normal form (with [[kanji]], if appropriate), in [[hiragana]] " .. "form (this differs from kanji form only when the segment contains kanji), and in [[romaji]] form.", additional = "''Lihat juga'' [[:Kategori:Katakana bahasa {{{langname}}}]]", toc_template = "categoryTOC-hiragana", parents = { {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Hiragana", } } labels["historical hiragana"] = { description = "{{{langname}}} historical [[hiragana]].", additional = "''See also'' [[:Category:{{{langname}}} historical katakana]].", toc_template = "categoryTOC-hiragana", parents = { "Hiragana", {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Hiragana", } } labels["Katakana"] = { description = "{{{langname}}} terms with katakana {{mdash}} {{ja-r|片%仮%名|かた%か%な}} {{mdash}} forms, sorted by conventional katakana sequence. Katakana is used primarily for transliterations of foreign words, including old Chinese hanzi not used in [[shinjitai]].", additional = "''Lihat juga'' [[:Kategori:Hiragana bahasa {{{langname}}}]]", toc_template = "categoryTOC-katakana", parents = { {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Katakana", } } labels["historical katakana"] = { description = "{{{langname}}} historical [[katakana]].", additional = "''See also'' [[:Category:{{{langname}}} historical hiragana]].", toc_template = "categoryTOC-katakana", parents = { "Katakana", {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Katakana", } } labels["Perkataan dieja dengan kana campuran"] = { description = "{{{langname}}} terms which combine [[hiragana]] and [[katakana]] characters, potentially with [[kanji]] too.", parents = { {name = "{{{langcat}}}", raw = true}, "Hiragana", "Katakana", }, } labels["Kanji"] = { topright = "{{wp|Kanji}}", description = "Simbol bahasa {{{langname}}} yang merupakan sebahagian daripada tulisan logogram Han, yang boleh mewakili bunyi atau menyampaikan makna secara langsung.", toc_template = "Hani-categoryTOC", umbrella = "Aksara Han", parents = "Logogram", } labels["Kanji mengikut bacaan"] = { description = "Kanji bahasa {{{langname}}} yang dikategorikan mengikut bacaan.", parents = {{name = "Kanji", sort = "bacaan"}}, } labels["Makurakotoba"] = { topright = "{{wp|Makurakotoba}}", description = "{{{langname}}} idioms used in poetry to introduce specific words.", parents = {"Peribahasa"}, } labels["Perkataan mengikut bacaan kanji"] = { description = "Kategori bahasa {{{langname}}} yang dikumpulkan berdasarkan bacaan kanji yang dieja dengannya.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan mengikut pola bacaan"] = { description = "Kategori bahasa {{{langname}}} dengan perkataan yang dikumpulkan berdasarkan corak bacaannya.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan mengikut bilangan aksara kanji"] = { description = "Perkataan bahasa {{{langname}}} dikategorikan mengikut bilangan aksara kanji.", parents = {"Perkataan mengikut sifat ortografi"}, } local function handle_onyomi_list(category, category_type, cat_yomi_type) local onyomi, seen = {}, {} for _, yomi in pairs(yomi_data) do if not seen[yomi] and yomi.onyomi then local yomi_catname = yomi[category_type] if yomi_catname ~= false then local yomi_type = yomi.type if yomi_type ~= "on'yomi" and yomi_type ~= cat_yomi_type then insert(onyomi, "[[:Kategori:" .. category:gsub("{{{yomi_catname}}}", yomi_catname) .. " bahasa {{{langname}}}]]") end end end seen[yomi] = true end sort(onyomi) return onyomi end local function add_yomi_category(category, category_type, parent, description) for _, yomi in pairs(yomi_data) do local yomi_catname = yomi[category_type] if yomi_catname ~= false then local yomi_type = yomi.type local yomi_desc = yomi.link or yomi_catname if yomi.description then yomi_desc = yomi_desc .. "; " .. yomi.description end local label = { description = description .. " " .. yomi_desc .. ".", breadcrumb = yomi_type, parents = {{name = parent, sort = yomi_catname}}, } if yomi.onyomi then local onyomi = handle_onyomi_list(category, category_type, yomi_type) label.additional = "Kategori untuk perkataan dengan " .. (yomi_type == "on'yomi" and "pelbagai lagi" or "lain-lain") .. " jenis spesifik bacaan on'yomi boleh ditemukan pada kategori berikut:\n* " .. concat(onyomi, "\n* ") if yomi_type ~= "on'yomi" then insert(label.parents, 1, { name = (category:gsub("{{{yomi_catname}}}", yomi_data.on[category_type])), sort = yomi_catname }) end end labels[category:gsub("{{{yomi_catname}}}", yomi_catname)] = label end end end add_yomi_category( "Perkataan dengan bacaan {{{yomi_catname}}}", "reading_category", "Perkataan mengikut pola bacaan", "Perkataan bahasa {{{langname}}} dengan bacaan" ) add_yomi_category( "Perkataan dieja dengan kanji dengan bacaan {{{yomi_catname}}}", "kanji_category", "Perkataan mengikut jenis bacaan kanji", "Kategori bahasa {{{langname}}} dengan perkataan yang dieja dengan satu atau lebih banyak aksara kanji dengan bacaan" ) labels["Perkataan kehilangan yomi"] = { description = "Perkataan bahasa {{{langname}}} yang kehilangan satu atau lebih [[Lampiran:Glosari bahasa Jepun#yomi|yomi]] dalam {{tl|{{{langcode}}}-kanjitab}}.", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["terms with IPA pronunciation with pitch accent"] = { description = "{{{langname}}} terms with pronunciations that have {{w|Japanese pitch accent|pitch accent}} specified.", additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.", can_be_empty = true, parents = {"Penyelenggaraan entri", "pitch accent"}, } labels["terms with IPA pronunciation missing pitch accent"] = { description = "{{{langname}}} terms with pronunciations that do not have a {{w|Japanese pitch accent|pitch accent}} specified.", additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["pitch accent"] = { description = "{{{langname}}} terms regarding {{w|Japanese pitch accent|pitch accent}} pronunciation.", can_be_empty = true, parents = {{name = "{{{langcat}}}", raw = true}}, } labels["terms with Heiban pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[平板型|Heiban]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Atamadaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[頭高型|Atamadaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Nakadaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Odaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["pitch accent deaccenting before の"] = { description = "{{{langname}}} terms with {{w|Japanese pitch accent|pitch accent}} pronunciations that have exceptional deaccenting or lack thereof before の ({{ja-deaccenting-before-no}}).", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Odaka pitch accent not deaccented before の (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}} and do not become deaccented before の ({{ja-deaccenting-before-no}}).", can_be_empty = true, parents = {"pitch accent deaccenting before の"} } labels["terms with Nakadaka pitch accent deaccented before の (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}} and become deaccented before の ({{ja-deaccenting-before-no}}).", can_be_empty = true, parents = {"pitch accent deaccenting before の"} } labels["Perkataan mengikut jenis bacaan kanji"] = { description = "{{{langname}}} categories with terms grouped with regard to the types of readings of the kanji with which " .. "they are spelled; broadly, those of Chinese origin, {{ja-r|音|おん}} readings, and those of non-Chinese origin, {{ja-r|訓|くん}} readings.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan dieja dengan ateji"] = { topright = "{{wp|Ateji}}", description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#ateji|ateji]] {{mdash}} {{ja-r|当て字|あてじ}} {{mdash}} which are [[kanji]] used to represent sounds rather than meanings (though meaning may have some influence on which kanji are chosen).", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan dieja dengan daiyōji"] = { description = "Japanese terms spelled using [[Appendix:Japanese glossary#daiyouji|daiyōji]], categorized using {{temp|ja-daiyouji}}.", parents = {"Perkataan mengikut etimologi"}, } labels["Perkataan dieja dengan jukujikun"] = { description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#jukujikun|jukujikun]] {{mdash}} {{ja-r|熟%字%訓|じゅく%じ%くん}} {{mdash}} which are [[kanji]] used to represent meanings rather than sounds.", parents = {{name = "{{{langcat}}}", raw = true}}, } local function add_grade_categories(grade, desc, wp, only_one, parent, sort) local grade_kanji = "Kanji " .. grade local topright = wp and ("{{wp|%s}}"):format(ucfirst(grade_kanji)) or nil labels[grade_kanji] = { topright = topright, description = "Kanji bahasa {{{langname}}} " .. desc, toc_template = "Hani-categoryTOC", parents = {{ name = parent and ("Kanji " .. parent) or "Kanji", sort = sort or grade }}, } labels["Perkataan dieja dengan " .. grade_kanji:lower()] = { topright = topright, description = "Perkataan bahasa {{{langname}}} yang dieja dengan " .. (only_one and "sekurang-kurangnya satu " or "") .. " aksara kanji " .. desc, parents = {{ name = parent and ("Perkataan dieja dengan kanji " .. parent) or "Perkataan mengikut sifat ortografi", sort = sort or grade }}, } end for i = 1, 6 do local ord = m_numeric.ones_position_ord[i] add_grade_categories( "gred " .. ord, "diajar dalam gred " .. ord .. " sekolah rendah, seperti yang ditetapkan oleh senarai rasmi {{ja-r|教%育 漢%字|きょう%いく かん%じ|sukatan pendidikan kanji}}.", false, false, "kyōiku", i ) end add_grade_categories( "kyōiku", "pada senarai rasmi {{ja-r|教%育 漢%字|きょう%いく かん%じ|sukatan pendidikan kanji}}.", true, false, "jōyō" ) add_grade_categories( "sekolah menengah", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}} yang secara umumnya diajar pada peringkat sekolah menengah.", false, false, "jōyō" ) add_grade_categories( "jōyō", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}.", true, false ) add_grade_categories( "tōyō", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}, yang digunakan pada sekitar tahun 1946{{ndash}}1981 sehingga penerbitan senarai {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}.", true, false ) add_grade_categories( "jinmeiyō", "pada senarai rasmi {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji untuk kegunaan nama peribadi}}.", true, true ) add_grade_categories( "hyōgai", "tidak termasuk pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara kegunaan kerap}} atau {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji untuk kegunaan nama peribadi}}, yang dikenali sebagai {{ja-r|表%外 漢%字|ひょう%がい かん%じ}} atau {{ja-r|表%外%字|ひょう%がい%じ|aksara tidak tersenarai}}.", true, true ) labels["Perkataan dengan berbilang bacaan"] = { description = "Perkataan bahasa {{{langname}}} dengan berbilang cara sebutan (maka juga sama dengan berbilang ejaan [[kana]]).", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Bacaan kanji mengikut bilangan mora"] = { description = "Kategori-kategori bahasa {{{langname}}} dikumpulkan berdasarkan bilangan mora dalam bacaan kanji.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan kanji tunggal"] = { description = "Perkataan {{{langname}}} yang ditulis dengan kanji tunggal.", parents = { "Perkataan mengikut sifat ortografi", {name = "Perkataan dengan 1 aksara kanji", sort = " "}, }, } labels["kanji with kun readings missing okurigana designation"] = { breadcrumb = "Kanji missing okurigana designation", description = "{{{langname}}} kanji entries in which one or more kun readings entered into {{tl|{{{langcode}}}-readings}} is missing a hyphen denoting okurigana.", toc_template = "Hani-categoryTOC", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["Perkataan mengikut aksara individu dalam ejaan sejarah"] = { breadcrumb = "Bersejarah", description = "{{{langname}}} terms categorized by whether their spellings in the {{w|historical kana orthography}} included certain individual characters.", parents = {{name = "Perkataan mengikut aksara individu", sort = " "}}, } labels["Kata kerja tanpa ketransitifan"] = { description = "{{{langname}}} verbs missing the {{code|=tr=}} parameter from their headword templates.", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["Yojijukugo"] = { topright = "{{wp|Yojijukugo}}", description = "{{{langname}}} four-[[kanji]] compound terms, {{ja-r|四%字 熟%語|よ%じ じゅく%ご}}, with idiomatic meanings; typically derived from Classical Chinese, Buddhist scripture or traditional Japanese proverbs.", additional = "Compare Chinese {{w|chengyu}} and Korean {{w|sajaseong-eo}}.", umbrella = "peribahasa empat aksara", parents = {"Peribahasa"}, } -- FIXME: Only works for 0 through 19. local word_to_number = {} for k, v in pairs(m_numeric.ones_position) do word_to_number[v] = k end local periods = { lama = true, kuno = true, } local function get_period_text_and_reading_type_link(period, reading_type) if period and not periods[period] then return nil end local period_text = period and " " .. period or nil -- Allow periods (historical or ancient) by themselves; they will parse as reading types. if not period and periods[reading_type] then return nil, reading_type end local reading_type_link = "[[Lampiran:Glosari bahasa Jepun#" .. reading_type .. "|" .. reading_type .. "]]" return period_text, reading_type_link end local function get_sc(str) return match(str:gsub("[%s%p]+", ""), "[^" .. Hira:getCharacters() .. "]") and Jpan or Hira end local function get_tagged_reading(reading, lang) return tag_text(reading, lang, get_sc(reading)) end local function get_reading_link(reading, lang, period, link) local hist = periods[period] reading = reading:gsub("[%.%-%s]+", "") return full_link({ lang = lang, sc = get_sc(reading), term = link or reading:gsub("・", ""), -- If we have okurigana, demarcate furigana. alt = reading:gsub("^(.-)・", "<span style=\"border-top:1px solid;position:relative;padding:1px;\">%1<span style=\"position:absolute;top:0;bottom:67%%;right:0%%;border-right:1px solid;\"></span></span>"), tr = kana_to_romaji((reading:gsub("・", ".")), lang:getCode(), nil, {keep_dot = true, hist = hist}) :gsub("^(.-)%.", "<u>%1</u>"), pos = reading:find("・", 1, true) and get_tagged_reading((reading:gsub("^.-・", "~")), lang) or nil }, "term") end local function is_on_subtype(reading_type) return reading_type:find(".on$") end insert(handlers, function(data) local n =data.label:match("Perkataan dengan ([1-9]%d*) aksara kanji$") if not n then return end local sortkey = require("Module:category tree").numeral_sortkey(n, 2097152) return { breadcrumb = n, description = ("Perkataan bahasa {{{langname}}} yang mengandungi tepat %d aksara kanji."):format(n), -- TODO: implement this using the same mechanism used to implement parents (i.e. avoiding the need for raw categories). -- umbrella = { -- breadcrumb = ("%d kanji"):format(n), -- parents = {{name = "terms by number of kanji subcategories by language", sort = sortkey}}, -- }, parents = {{name = ("Perkataan mengikut bilangan aksara kanji"), sort = sortkey}} } end) insert(handlers, function(data) local label_pref, kana = data.label:match("^([Pp]erkataan yang mengikut sejarah dieja dengan )" .. kana_capture .. "$") if not kana then return end local lang = data.lang return { description = "Perkataan bahasa {{{langname}}} yang dieja dengan " .. get_reading_link(kana, lang, "bersejarah") .. " dalam {{w|ortografi kana sejarawi}}.", displaytitle = label_pref .. get_tagged_reading(kana, lang) .. " bahasa {{{langname}}}", breadcrumb = "sejarah", parents = { {name = "Perkataan dieja dengan " .. kana, sort = " "}, {name = "Perkataan mengikut aksara individu dalam ejaan sejarah", sort = lang:makeSortKey(kana)} }, } end) insert(handlers, function(data) local count, plural = data.label:match("^[Bb]acaan kanji dengan (.+) mora$") local num = word_to_number[count] if not num then return nil end return { description = "Bacaan kanji bahasa {{{langname}}} yang mengandungi " .. count .. " mora.", breadcrumb = num, parents = {{name = "Bacaan kanji mengikut bilangan mora", sort = num}}, } end) insert(handlers, function(data) local label_pref, period, reading_type, reading = match(data.label, "^([Kk]anji dengan bacaan ([a-z]-) ?([%a']+) )" .. kana_capture .. "$") if not period then return end period = period ~= "" and period or nil local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type) if not reading_type_link then return end local lang = data.lang -- Compute parents. local parents, breadcrumb = {} if reading:find("・", 1, true) then local okurigana = reading:match("・(.*)") insert(parents, { name = "Kanji dengan bacaan" .. (period_text or "") .. " ".. reading_type .. " " .. reading:match("(.-)・"), -- Sort by okurigana, since all coordinate categories will have the same furigana. sort = (lang:makeSortKey(okurigana)) }) breadcrumb = "~" .. okurigana else insert(parents, { name = "Kanji mengikut bacaan" .. (period_text or "") .. " " .. reading_type, sort = (lang:makeSortKey(reading)) }) breadcrumb = reading end if is_on_subtype(reading_type) then insert(parents, {name = "Kanji dengan bacaan" .. (period_text or "") .. " on " .. reading, sort = reading_type}) elseif period_text then insert(parents, {name = "Kanji dengan bacaan" .. period_text .. " " .. reading, sort = reading_type}) end if not period_text then insert(parents, {name = "Kanji dibaca sebagai " .. reading, sort = reading_type}) end return { description = "Aksara [[kanji]] bahasa {{{langname}}} dengan bacaan " .. reading_type_link .. " " .. get_reading_link(reading, lang, period or reading_type) .. ".", displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(reading, lang), breadcrumb = get_tagged_reading(breadcrumb, lang), parents = parents, } end) insert(handlers, function(data) local period, reading_type = match(data.label, "^[Kk]anji mengikut bacaan ([a-z]-) ?([%a']+)$") if not period then return end period = period ~= "" and period or nil local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type) if not reading_type_link then return nil end -- Compute parents. local parents = { is_on_subtype(reading_type) and {name = "Kanji mengikut bacaan" .. (period_text or "") .. " on", sort = reading_type} or period_text and {name = "Kanji mengikut bacaan " .. reading_type, sort = period} or {name = "Kanji mengikut bacaan", sort = reading_type} } if period_text then insert(parents, {name = "Kanji mengikut bacaan" .. period_text, sort = reading_type}) end -- Compute description. local description = "[[kanji|Kanji]] bahasa {{{langname}}} dikategorikan mengikat bacaan " .. (period_text or "") .. reading_type_link .. "." return { description = description, breadcrumb = reading_type .. (period_text or ""), parents = parents, } end) insert(handlers, function(data) local label_pref, reading = match(data.label, "^([Kk]anji dibaca sebagai )" .. kana_capture .. "$") if not reading then return end local args = require("Module:parameters").process(data.args, { ["histconsol"] = true, }) local lang = data.lang local parents, breadcrumb = {} if reading:find("・", 1, true) then local okurigana = reading:match("・(.*)") insert(parents, { name = "Kanji dibaca sebagai " .. reading:match("(.-)・"), -- Sort by okurigana, since all coordinate categories will have the same furigana. sort = (lang:makeSortKey(okurigana)) }) breadcrumb = "~" .. okurigana else insert(parents, { name = "Kanji mengikut bacaan", sort = (lang:makeSortKey(reading)) }) breadcrumb = reading end local addl local period_text if args.histconsol then period_text = "lama" addl = ("This is a [[Wikipedia:Historical kana orthography|historical]] [[Wikipedia:Kanazukai|reading]], now " .. "consolidated with the [[Wikipedia:Modern kana usage|modern reading]] of " .. get_reading_link(args.histconsol, lang, nil, ("Kategori:Kanji dibaca sebagai %s bahasa Jepun"):format(args.histconsol)) .. ".") end return { description = "[[kanji|Kanji]] bahasa {{{langname}}} dibaca sebagai " .. get_reading_link(reading, lang, period_text) .. ".", additional = addl, displaytitle = label_pref .. get_tagged_reading(reading, lang) .. " bahasa {{{langname}}}" , breadcrumb = get_tagged_reading(breadcrumb, lang), parents = parents, }, true end) insert(handlers, function(data) local label_pref, reading = match(data.label, "^([Pp]erkataan dieja dengan kanji dibaca sebagai )" .. kana_capture .. "$") if not reading then return end -- Compute parents. local lang = data.lang local sort_key = (lang:makeSortKey(reading)) local mora_count = require("Module:ja").count_morae(reading) local mora_count_words = m_numeric.spell_number(tostring(mora_count)) local parents = { {name = "Perkataan mengikut bacaan kanji", sort = sort_key}, {name = "Bacaan kanji dengan " .. mora_count_words .. " mora", sort = sort_key}, {name = "Kanji dibaca sebagai " .. reading, sort = " "}, } local tagged_reading = get_tagged_reading(reading, lang) return { description = "{{{langname}}} terms that contain kanji that exhibit a reading of " .. get_reading_link(reading, lang) .. " in those terms prior to any sound changes.", displaytitle = "{{{langname}}} " .. label_pref .. tagged_reading, breadcrumb = tagged_reading, parents = parents, } end) insert(handlers, function(data) local kanji, reading = match(data.label, "^[Pp]erkataan dieja dengan (.) dibaca sebagai " .. kana_capture .. "$") if not kanji then return nil end local args = require("Module:parameters").process(data.args, { [1] = {list = true}, }) local lang = data.lang if #args[1] == 0 then error("Bagi kategori dalam bentuk \"" .. lang:getCanonicalName() .. " terms spelled with KANJI dibaca sebagai READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.") end local yomi_types, parents = {}, {} for _, yomi, category in ipairs(args[1]) do local yomi_data = yomi_data[yomi] if not yomi_data then error("Jenis yomi \"" .. yomi .. "\" tidak sah.") end category = yomi_data.kanji_category if not category then error("Jenis yomi \"" .. yomi .. "\" tidak sah bagi jenis kategori ini.") end insert(yomi_types, yomi_data.link) insert(parents, { name = "Perkataan dieja dengan kanji dengan bacaan " .. category, sort = (lang:makeSortKey(reading)) }) end insert(parents, 1, {name = "Perkataan dieja dengan " .. kanji, sort = (lang:makeSortKey(reading))}) insert(parents, 2, {name = "Perkataan dieja dengan kanji dibaca sebagai " .. reading, sort = Hani_sort(kanji)}) yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " .. require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) .. " reading" .. (#yomi_types > 1 and "s" or "") local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_reading = get_tagged_reading(reading, lang) return { description = "{{{langname}}} terms spelled with {{l|{{{langcode}}}|" .. kanji .. "}} with " .. yomi_types .. " of " .. get_reading_link(reading, lang) .. ".", displaytitle = "{{{langname}}} terms spelled with " .. tagged_kanji .. " dibaca sebagai " .. tagged_reading, breadcrumb = "dibaca sebagai " .. tagged_reading, parents = parents, }, true end) insert(handlers, function(data) local affix, kanji, reading = data.label:match("^[Pp]erkataan dengan ([a-z]) (.+) dibaca sebagai " .. kana_capture .. "$") if not affix or not kanji or not reading then return nil end local args = require("Module:parameters").process(data.args, { [1] = {list = true}, }) local lang = data.lang if #args[1] == 0 then error("For categories of the form \"" .. lang:getCanonicalName() .. " terms AFFIXed with KANJI dibaca sebagai READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.") end local yomi_types = {} for _, yomi, category in ipairs(args[1]) do local yomi_data = yomi_data[yomi] if not yomi_data then error("The yomi type \"" .. yomi .. "\" is not recognized.") end category = yomi_data.kanji_category if not category then error("The yomi type \"" .. yomi .. "\" is not valid for this type of category.") end insert(yomi_types, yomi_data.link) end yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " .. require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) .. " reading" .. (#yomi_types > 1 and "s" or "") local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_reading = get_tagged_reading(reading, lang) return { description = "{{{langname}}} terms " .. affix .. "ed with {{l|{{{langcode}}}|" .. kanji .. "}} with " .. yomi_types .. " of " .. get_reading_link(reading, lang) .. ".", displaytitle = "{{{langname}}} terms " .. affix .. "ed with " .. tagged_kanji .. " dibaca sebagai " .. tagged_reading, breadcrumb = "dibaca sebagai " .. reading, parents = { {name = "terms " .. affix .. "ed with " .. kanji, sort = (lang:makeSortKey(reading))}, --{name = "Perkataan dieja dengan " .. kanji .. " dibaca sebagai " .. reading, sort = (lang:makeSortKey(reading)), args=data.args} }, }, true end) insert(handlers, function(data) local kanji, daiyoji = match(data.label, "^[Pp]erkataan dengan (.) digantikan oleh daiyōji (.)$") if not kanji then return nil end local args = require("Module:parameters").process(data.args, { ["sort"] = true, }) local lang = data.lang if not args.sort then error("For categories of the form \"" .. lang:getCanonicalName() .. " terms with KANJI replaced by daiyōji DAIYOJI\", the sort key must be specified using sort=") end local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_daiyoji = get_tagged_reading(daiyoji, lang) return { description = "{{{langname}}} terms with {{l|{{{langcode}}}|" .. kanji .. "}} replaced by [[Appendix:Japanese glossary#daiyouji|daiyōji]] {{l|{{{langcode}}}|" .. daiyoji .. "}}.", displaytitle = "{{{langname}}} terms with " .. tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji, breadcrumb = tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji, parents = {{name = "Perkataan dieja dengan daiyōji", sort = args.sort}}, }, true end) return {LABELS = labels, HANDLERS = handlers} 7h0jisnzry3hhyetwxu8uf9z2feq5t3 342767 342766 2026-05-16T04:40:21Z Hakimi97 2668 Membatalkan semakan [[Special:Diff/342766|342766]] oleh [[Special:Contributions/Hakimi97|Hakimi97]] ([[User talk:Hakimi97|bincang]]) 342767 Scribunto text/plain local labels = {} local handlers = {} local m_str_utils = require("Module:string utilities") local concat = table.concat local full_link = require("Module:links").full_link local insert = table.insert local Hani_sort = require("Module:Hani-sortkey").makeSortKey local match = m_str_utils.match local sort = table.sort local tag_text = require("Module:script_utilities").tag_text local ucfirst = m_str_utils.ucfirst local Hira = require("Module:scripts").getByCode("Hira") local Jpan = require("Module:scripts").getByCode("Jpan") local kana_to_romaji = require("Module:Hrkt-translit").tr local m_numeric = require("Module:ConvertNumeric") local kana_capture = "([-" .. require("Module:ja/data/range").kana .. "・]+)" local yomi_data = require("Module:kanjitab/data") labels["adnominals"] = { description = "{{{langname}}} adnominals, or {{ja-r|連%体%詞|れん%たい%し}}, which modify nouns, and do not conjugate or [[predicate#Verb|predicate]].", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Hiragana"] = { description = "{{{langname}}} terms with hiragana {{mdash}} {{ja-r|平%仮%名|ひら%が%な}} {{mdash}} forms, sorted by conventional hiragana sequence. The hiragana form is a [[phonetic]] representation of that word. " .. "Wiktionary represents {{{langname}}}-language segments in three ways: in normal form (with [[kanji]], if appropriate), in [[hiragana]] " .. "form (this differs from kanji form only when the segment contains kanji), and in [[romaji]] form.", additional = "''Lihat juga'' [[:Kategori:Katakana bahasa {{{langname}}}]]", toc_template = "categoryTOC-hiragana", parents = { {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Hiragana", } } labels["historical hiragana"] = { description = "{{{langname}}} historical [[hiragana]].", additional = "''See also'' [[:Category:{{{langname}}} historical katakana]].", toc_template = "categoryTOC-hiragana", parents = { "Hiragana", {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Hiragana", } } labels["Katakana"] = { description = "{{{langname}}} terms with katakana {{mdash}} {{ja-r|片%仮%名|かた%か%な}} {{mdash}} forms, sorted by conventional katakana sequence. Katakana is used primarily for transliterations of foreign words, including old Chinese hanzi not used in [[shinjitai]].", additional = "''Lihat juga'' [[:Kategori:Hiragana bahasa {{{langname}}}]]", toc_template = "categoryTOC-katakana", parents = { {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Katakana", } } labels["historical katakana"] = { description = "{{{langname}}} historical [[katakana]].", additional = "''See also'' [[:Category:{{{langname}}} historical hiragana]].", toc_template = "categoryTOC-katakana", parents = { "Katakana", {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Katakana", } } labels["Perkataan dieja dengan kana campuran"] = { description = "{{{langname}}} terms which combine [[hiragana]] and [[katakana]] characters, potentially with [[kanji]] too.", parents = { {name = "{{{langcat}}}", raw = true}, "Hiragana", "Katakana", }, } labels["Kanji"] = { topright = "{{wp|Kanji}}", description = "Simbol bahasa {{{langname}}} yang merupakan sebahagian daripada tulisan logogram Han, yang boleh mewakili bunyi atau menyampaikan makna secara langsung.", toc_template = "Hani-categoryTOC", umbrella = "Aksara Han", parents = "Logogram", } labels["Kanji mengikut bacaan"] = { description = "Kanji bahasa {{{langname}}} yang dikategorikan mengikut bacaan.", parents = {{name = "Kanji", sort = "bacaan"}}, } labels["Makurakotoba"] = { topright = "{{wp|Makurakotoba}}", description = "{{{langname}}} idioms used in poetry to introduce specific words.", parents = {"Peribahasa"}, } labels["Perkataan mengikut bacaan kanji"] = { description = "Kategori bahasa {{{langname}}} yang dikumpulkan berdasarkan bacaan kanji yang dieja dengannya.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan mengikut pola bacaan"] = { description = "Kategori bahasa {{{langname}}} dengan perkataan yang dikumpulkan berdasarkan corak bacaannya.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan mengikut bilangan aksara kanji"] = { description = "Perkataan bahasa {{{langname}}} dikategorikan mengikut bilangan aksara kanji.", parents = {"Perkataan mengikut sifat ortografi"}, } local function handle_onyomi_list(category, category_type, cat_yomi_type) local onyomi, seen = {}, {} for _, yomi in pairs(yomi_data) do if not seen[yomi] and yomi.onyomi then local yomi_catname = yomi[category_type] if yomi_catname ~= false then local yomi_type = yomi.type if yomi_type ~= "on'yomi" and yomi_type ~= cat_yomi_type then insert(onyomi, "[[:Kategori:" .. category:gsub("{{{yomi_catname}}}", yomi_catname) .. " bahasa {{{langname}}}]]") end end end seen[yomi] = true end sort(onyomi) return onyomi end local function add_yomi_category(category, category_type, parent, description) for _, yomi in pairs(yomi_data) do local yomi_catname = yomi[category_type] if yomi_catname ~= false then local yomi_type = yomi.type local yomi_desc = yomi.link or yomi_catname if yomi.description then yomi_desc = yomi_desc .. "; " .. yomi.description end local label = { description = description .. " " .. yomi_desc .. ".", breadcrumb = yomi_type, parents = {{name = parent, sort = yomi_catname}}, } if yomi.onyomi then local onyomi = handle_onyomi_list(category, category_type, yomi_type) label.additional = "Kategori untuk perkataan dengan " .. (yomi_type == "on'yomi" and "pelbagai lagi" or "lain-lain") .. " jenis spesifik bacaan on'yomi boleh ditemukan pada kategori berikut:\n* " .. concat(onyomi, "\n* ") if yomi_type ~= "on'yomi" then insert(label.parents, 1, { name = (category:gsub("{{{yomi_catname}}}", yomi_data.on[category_type])), sort = yomi_catname }) end end labels[category:gsub("{{{yomi_catname}}}", yomi_catname)] = label end end end add_yomi_category( "Perkataan dengan bacaan {{{yomi_catname}}}", "reading_category", "Perkataan mengikut pola bacaan", "Perkataan bahasa {{{langname}}} dengan bacaan" ) add_yomi_category( "Perkataan dieja dengan kanji dengan bacaan {{{yomi_catname}}}", "kanji_category", "Perkataan mengikut jenis bacaan kanji", "Kategori bahasa {{{langname}}} dengan perkataan yang dieja dengan satu atau lebih banyak aksara kanji dengan bacaan" ) labels["Perkataan kehilangan yomi"] = { description = "Perkataan bahasa {{{langname}}} yang kehilangan satu atau lebih [[Lampiran:Glosari bahasa Jepun#yomi|yomi]] dalam {{tl|{{{langcode}}}-kanjitab}}.", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["terms with IPA pronunciation with pitch accent"] = { description = "{{{langname}}} terms with pronunciations that have {{w|Japanese pitch accent|pitch accent}} specified.", additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.", can_be_empty = true, parents = {"Penyelenggaraan entri", "pitch accent"}, } labels["terms with IPA pronunciation missing pitch accent"] = { description = "{{{langname}}} terms with pronunciations that do not have a {{w|Japanese pitch accent|pitch accent}} specified.", additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["pitch accent"] = { description = "{{{langname}}} terms regarding {{w|Japanese pitch accent|pitch accent}} pronunciation.", can_be_empty = true, parents = {{name = "{{{langcat}}}", raw = true}}, } labels["terms with Heiban pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[平板型|Heiban]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Atamadaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[頭高型|Atamadaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Nakadaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Odaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["pitch accent deaccenting before の"] = { description = "{{{langname}}} terms with {{w|Japanese pitch accent|pitch accent}} pronunciations that have exceptional deaccenting or lack thereof before の ({{ja-deaccenting-before-no}}).", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Odaka pitch accent not deaccented before の (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}} and do not become deaccented before の ({{ja-deaccenting-before-no}}).", can_be_empty = true, parents = {"pitch accent deaccenting before の"} } labels["terms with Nakadaka pitch accent deaccented before の (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}} and become deaccented before の ({{ja-deaccenting-before-no}}).", can_be_empty = true, parents = {"pitch accent deaccenting before の"} } labels["Perkataan mengikut jenis bacaan kanji"] = { description = "{{{langname}}} categories with terms grouped with regard to the types of readings of the kanji with which " .. "they are spelled; broadly, those of Chinese origin, {{ja-r|音|おん}} readings, and those of non-Chinese origin, {{ja-r|訓|くん}} readings.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan dieja dengan ateji"] = { topright = "{{wp|Ateji}}", description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#ateji|ateji]] {{mdash}} {{ja-r|当て字|あてじ}} {{mdash}} which are [[kanji]] used to represent sounds rather than meanings (though meaning may have some influence on which kanji are chosen).", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan dieja dengan daiyōji"] = { description = "Japanese terms spelled using [[Appendix:Japanese glossary#daiyouji|daiyōji]], categorized using {{temp|ja-daiyouji}}.", parents = {"Perkataan mengikut etimologi"}, } labels["Perkataan dieja dengan jukujikun"] = { description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#jukujikun|jukujikun]] {{mdash}} {{ja-r|熟%字%訓|じゅく%じ%くん}} {{mdash}} which are [[kanji]] used to represent meanings rather than sounds.", parents = {{name = "{{{langcat}}}", raw = true}}, } local function add_grade_categories(grade, desc, wp, only_one, parent, sort) local grade_kanji = "Kanji " .. grade local topright = wp and ("{{wp|%s}}"):format(ucfirst(grade_kanji)) or nil labels[grade_kanji] = { topright = topright, description = "Kanji bahasa {{{langname}}} " .. desc, toc_template = "Hani-categoryTOC", parents = {{ name = parent and ("Kanji " .. parent) or "Kanji", sort = sort or grade }}, } labels["Perkataan dieja dengan " .. grade_kanji:lower()] = { topright = topright, description = "Perkataan bahasa {{{langname}}} yang dieja dengan " .. (only_one and "sekurang-kurangnya satu " or "") .. " aksara kanji " .. desc, parents = {{ name = parent and ("Perkataan dieja dengan kanji " .. parent) or "Perkataan mengikut sifat ortografi", sort = sort or grade }}, } end for i = 1, 6 do local ord = m_numeric.ones_position_ord[i] add_grade_categories( "gred " .. ord, "diajar dalam gred " .. ord .. " sekolah rendah, seperti yang ditetapkan oleh senarai rasmi {{ja-r|教%育 漢%字|きょう%いく かん%じ|sukatan pendidikan kanji}}.", false, false, "kyōiku", i ) end add_grade_categories( "kyōiku", "pada senarai rasmi {{ja-r|教%育 漢%字|きょう%いく かん%じ|sukatan pendidikan kanji}}.", true, false, "jōyō" ) add_grade_categories( "sekolah menengah", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}} yang secara umumnya diajar pada peringkat sekolah menengah.", false, false, "jōyō" ) add_grade_categories( "jōyō", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}.", true, false ) add_grade_categories( "tōyō", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}, yang digunakan pada sekitar tahun 1946{{ndash}}1981 sehingga penerbitan senarai {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}.", true, false ) add_grade_categories( "jinmeiyō", "pada senarai rasmi {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji untuk kegunaan nama peribadi}}.", true, true ) add_grade_categories( "hyōgai", "tidak termasuk pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara kegunaan kerap}} atau {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji untuk kegunaan nama peribadi}}, yang dikenali sebagai {{ja-r|表%外 漢%字|ひょう%がい かん%じ}} atau {{ja-r|表%外%字|ひょう%がい%じ|aksara tidak tersenarai}}.", true, true ) labels["Perkataan dengan berbilang bacaan"] = { description = "Perkataan bahasa {{{langname}}} dengan berbilang cara sebutan (maka juga sama dengan berbilang ejaan [[kana]]).", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Bacaan kanji mengikut bilangan mora"] = { description = "Kategori-kategori bahasa {{{langname}}} dikumpulkan berdasarkan bilangan mora dalam bacaan kanji.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan kanji tunggal"] = { description = "Perkataan {{{langname}}} yang ditulis dengan kanji tunggal.", parents = { "Perkataan mengikut sifat ortografi", {name = "Perkataan dengan 1 aksara kanji", sort = " "}, }, } labels["kanji with kun readings missing okurigana designation"] = { breadcrumb = "Kanji missing okurigana designation", description = "{{{langname}}} kanji entries in which one or more kun readings entered into {{tl|{{{langcode}}}-readings}} is missing a hyphen denoting okurigana.", toc_template = "Hani-categoryTOC", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["Perkataan mengikut aksara individu dalam ejaan sejarah"] = { breadcrumb = "Bersejarah", description = "{{{langname}}} terms categorized by whether their spellings in the {{w|historical kana orthography}} included certain individual characters.", parents = {{name = "Perkataan mengikut aksara individu", sort = " "}}, } labels["Kata kerja tanpa ketransitifan"] = { description = "{{{langname}}} verbs missing the {{code|=tr=}} parameter from their headword templates.", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["Yojijukugo"] = { topright = "{{wp|Yojijukugo}}", description = "{{{langname}}} four-[[kanji]] compound terms, {{ja-r|四%字 熟%語|よ%じ じゅく%ご}}, with idiomatic meanings; typically derived from Classical Chinese, Buddhist scripture or traditional Japanese proverbs.", additional = "Compare Chinese {{w|chengyu}} and Korean {{w|sajaseong-eo}}.", umbrella = "peribahasa empat aksara", parents = {"Peribahasa"}, } -- FIXME: Only works for 0 through 19. local word_to_number = {} for k, v in pairs(m_numeric.ones_position) do word_to_number[v] = k end local periods = { lama = true, kuno = true, } local function get_period_text_and_reading_type_link(period, reading_type) if period and not periods[period] then return nil end local period_text = period and " " .. period or nil -- Allow periods (historical or ancient) by themselves; they will parse as reading types. if not period and periods[reading_type] then return nil, reading_type end local reading_type_link = "[[Lampiran:Glosari bahasa Jepun#" .. reading_type .. "|" .. reading_type .. "]]" return period_text, reading_type_link end local function get_sc(str) return match(str:gsub("[%s%p]+", ""), "[^" .. Hira:getCharacters() .. "]") and Jpan or Hira end local function get_tagged_reading(reading, lang) return tag_text(reading, lang, get_sc(reading)) end local function get_reading_link(reading, lang, period, link) local hist = periods[period] reading = reading:gsub("[%.%-%s]+", "") return full_link({ lang = lang, sc = get_sc(reading), term = link or reading:gsub("・", ""), -- If we have okurigana, demarcate furigana. alt = reading:gsub("^(.-)・", "<span style=\"border-top:1px solid;position:relative;padding:1px;\">%1<span style=\"position:absolute;top:0;bottom:67%%;right:0%%;border-right:1px solid;\"></span></span>"), tr = kana_to_romaji((reading:gsub("・", ".")), lang:getCode(), nil, {keep_dot = true, hist = hist}) :gsub("^(.-)%.", "<u>%1</u>"), pos = reading:find("・", 1, true) and get_tagged_reading((reading:gsub("^.-・", "~")), lang) or nil }, "term") end local function is_on_subtype(reading_type) return reading_type:find(".on$") end insert(handlers, function(data) local n =data.label:match("^Perkataan dengan ([1-9]%d*) aksara kanji$") if not n then return end local sortkey = require("Module:category tree").numeral_sortkey(n, 2097152) return { breadcrumb = n, description = ("Perkataan bahasa {{{langname}}} yang mengandungi tepat %d aksara kanji."):format(n), -- TODO: implement this using the same mechanism used to implement parents (i.e. avoiding the need for raw categories). -- umbrella = { -- breadcrumb = ("%d kanji"):format(n), -- parents = {{name = "terms by number of kanji subcategories by language", sort = sortkey}}, -- }, parents = {{name = ("Perkataan mengikut bilangan aksara kanji"), sort = sortkey}} } end) insert(handlers, function(data) local label_pref, kana = data.label:match("^(Perkataan yang mengikut sejarah dieja dengan )" .. kana_capture .. "$") if not kana then return end local lang = data.lang return { description = "Perkataan bahasa {{{langname}}} yang dieja dengan " .. get_reading_link(kana, lang, "bersejarah") .. " dalam {{w|ortografi kana sejarawi}}.", displaytitle = label_pref .. get_tagged_reading(kana, lang) .. " bahasa {{{langname}}}", breadcrumb = "sejarah", parents = { {name = "Perkataan dieja dengan " .. kana, sort = " "}, {name = "Perkataan mengikut aksara individu dalam ejaan sejarah", sort = lang:makeSortKey(kana)} }, } end) insert(handlers, function(data) local count, plural = data.label:match("^Bacaan kanji dengan (.+) mora$") local num = word_to_number[count] if not num then return nil end return { description = "Bacaan kanji bahasa {{{langname}}} yang mengandungi " .. count .. " mora.", breadcrumb = num, parents = {{name = "Bacaan kanji mengikut bilangan mora", sort = num}}, } end) insert(handlers, function(data) local label_pref, period, reading_type, reading = match(data.label, "^(Kanji dengan bacaan ([a-z]-) ?([%a']+) )" .. kana_capture .. "$") if not period then return end period = period ~= "" and period or nil local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type) if not reading_type_link then return end local lang = data.lang -- Compute parents. local parents, breadcrumb = {} if reading:find("・", 1, true) then local okurigana = reading:match("・(.*)") insert(parents, { name = "Kanji dengan bacaan" .. (period_text or "") .. " ".. reading_type .. " " .. reading:match("(.-)・"), -- Sort by okurigana, since all coordinate categories will have the same furigana. sort = (lang:makeSortKey(okurigana)) }) breadcrumb = "~" .. okurigana else insert(parents, { name = "Kanji mengikut bacaan" .. (period_text or "") .. " " .. reading_type, sort = (lang:makeSortKey(reading)) }) breadcrumb = reading end if is_on_subtype(reading_type) then insert(parents, {name = "Kanji dengan bacaan" .. (period_text or "") .. " on " .. reading, sort = reading_type}) elseif period_text then insert(parents, {name = "Kanji dengan bacaan" .. period_text .. " " .. reading, sort = reading_type}) end if not period_text then insert(parents, {name = "Kanji dibaca sebagai " .. reading, sort = reading_type}) end return { description = "Aksara [[kanji]] bahasa {{{langname}}} dengan bacaan " .. reading_type_link .. " " .. get_reading_link(reading, lang, period or reading_type) .. ".", displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(reading, lang), breadcrumb = get_tagged_reading(breadcrumb, lang), parents = parents, } end) insert(handlers, function(data) local period, reading_type = match(data.label, "^Kanji mengikut bacaan ([a-z]-) ?([%a']+)$") if not period then return end period = period ~= "" and period or nil local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type) if not reading_type_link then return nil end -- Compute parents. local parents = { is_on_subtype(reading_type) and {name = "Kanji mengikut bacaan" .. (period_text or "") .. " on", sort = reading_type} or period_text and {name = "Kanji mengikut bacaan " .. reading_type, sort = period} or {name = "Kanji mengikut bacaan", sort = reading_type} } if period_text then insert(parents, {name = "Kanji mengikut bacaan" .. period_text, sort = reading_type}) end -- Compute description. local description = "[[kanji|Kanji]] bahasa {{{langname}}} dikategorikan mengikat bacaan " .. (period_text or "") .. reading_type_link .. "." return { description = description, breadcrumb = reading_type .. (period_text or ""), parents = parents, } end) insert(handlers, function(data) local label_pref, reading = match(data.label, "^(Kanji dibaca sebagai )" .. kana_capture .. "$") if not reading then return end local args = require("Module:parameters").process(data.args, { ["histconsol"] = true, }) local lang = data.lang local parents, breadcrumb = {} if reading:find("・", 1, true) then local okurigana = reading:match("・(.*)") insert(parents, { name = "Kanji dibaca sebagai " .. reading:match("(.-)・"), -- Sort by okurigana, since all coordinate categories will have the same furigana. sort = (lang:makeSortKey(okurigana)) }) breadcrumb = "~" .. okurigana else insert(parents, { name = "Kanji mengikut bacaan", sort = (lang:makeSortKey(reading)) }) breadcrumb = reading end local addl local period_text if args.histconsol then period_text = "lama" addl = ("This is a [[Wikipedia:Historical kana orthography|historical]] [[Wikipedia:Kanazukai|reading]], now " .. "consolidated with the [[Wikipedia:Modern kana usage|modern reading]] of " .. get_reading_link(args.histconsol, lang, nil, ("Kategori:Kanji dibaca sebagai %s bahasa Jepun"):format(args.histconsol)) .. ".") end return { description = "[[kanji|Kanji]] bahasa {{{langname}}} dibaca sebagai " .. get_reading_link(reading, lang, period_text) .. ".", additional = addl, displaytitle = label_pref .. get_tagged_reading(reading, lang) .. " bahasa {{{langname}}}" , breadcrumb = get_tagged_reading(breadcrumb, lang), parents = parents, }, true end) insert(handlers, function(data) local label_pref, reading = match(data.label, "^(Perkataan dieja dengan kanji dibaca sebagai )" .. kana_capture .. "$") if not reading then return end -- Compute parents. local lang = data.lang local sort_key = (lang:makeSortKey(reading)) local mora_count = require("Module:ja").count_morae(reading) local mora_count_words = m_numeric.spell_number(tostring(mora_count)) local parents = { {name = "Perkataan mengikut bacaan kanji", sort = sort_key}, {name = "Bacaan kanji dengan " .. mora_count_words .. " mora", sort = sort_key}, {name = "Kanji dibaca sebagai " .. reading, sort = " "}, } local tagged_reading = get_tagged_reading(reading, lang) return { description = "{{{langname}}} terms that contain kanji that exhibit a reading of " .. get_reading_link(reading, lang) .. " in those terms prior to any sound changes.", displaytitle = "{{{langname}}} " .. label_pref .. tagged_reading, breadcrumb = tagged_reading, parents = parents, } end) insert(handlers, function(data) local kanji, reading = match(data.label, "^Perkataan dieja dengan (.) dibaca sebagai " .. kana_capture .. "$") if not kanji then return nil end local args = require("Module:parameters").process(data.args, { [1] = {list = true}, }) local lang = data.lang if #args[1] == 0 then error("Bagi kategori dalam bentuk \"" .. lang:getCanonicalName() .. " terms spelled with KANJI dibaca sebagai READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.") end local yomi_types, parents = {}, {} for _, yomi, category in ipairs(args[1]) do local yomi_data = yomi_data[yomi] if not yomi_data then error("Jenis yomi \"" .. yomi .. "\" tidak sah.") end category = yomi_data.kanji_category if not category then error("Jenis yomi \"" .. yomi .. "\" tidak sah bagi jenis kategori ini.") end insert(yomi_types, yomi_data.link) insert(parents, { name = "Perkataan dieja dengan kanji dengan bacaan " .. category, sort = (lang:makeSortKey(reading)) }) end insert(parents, 1, {name = "Perkataan dieja dengan " .. kanji, sort = (lang:makeSortKey(reading))}) insert(parents, 2, {name = "Perkataan dieja dengan kanji dibaca sebagai " .. reading, sort = Hani_sort(kanji)}) yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " .. require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) .. " reading" .. (#yomi_types > 1 and "s" or "") local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_reading = get_tagged_reading(reading, lang) return { description = "{{{langname}}} terms spelled with {{l|{{{langcode}}}|" .. kanji .. "}} with " .. yomi_types .. " of " .. get_reading_link(reading, lang) .. ".", displaytitle = "{{{langname}}} terms spelled with " .. tagged_kanji .. " dibaca sebagai " .. tagged_reading, breadcrumb = "dibaca sebagai " .. tagged_reading, parents = parents, }, true end) insert(handlers, function(data) local affix, kanji, reading = data.label:match("^Perkataan dengan ([a-z]) (.+) dibaca sebagai " .. kana_capture .. "$") if not affix or not kanji or not reading then return nil end local args = require("Module:parameters").process(data.args, { [1] = {list = true}, }) local lang = data.lang if #args[1] == 0 then error("For categories of the form \"" .. lang:getCanonicalName() .. " terms AFFIXed with KANJI dibaca sebagai READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.") end local yomi_types = {} for _, yomi, category in ipairs(args[1]) do local yomi_data = yomi_data[yomi] if not yomi_data then error("The yomi type \"" .. yomi .. "\" is not recognized.") end category = yomi_data.kanji_category if not category then error("The yomi type \"" .. yomi .. "\" is not valid for this type of category.") end insert(yomi_types, yomi_data.link) end yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " .. require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) .. " reading" .. (#yomi_types > 1 and "s" or "") local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_reading = get_tagged_reading(reading, lang) return { description = "{{{langname}}} terms " .. affix .. "ed with {{l|{{{langcode}}}|" .. kanji .. "}} with " .. yomi_types .. " of " .. get_reading_link(reading, lang) .. ".", displaytitle = "{{{langname}}} terms " .. affix .. "ed with " .. tagged_kanji .. " dibaca sebagai " .. tagged_reading, breadcrumb = "dibaca sebagai " .. reading, parents = { {name = "terms " .. affix .. "ed with " .. kanji, sort = (lang:makeSortKey(reading))}, --{name = "Perkataan dieja dengan " .. kanji .. " dibaca sebagai " .. reading, sort = (lang:makeSortKey(reading)), args=data.args} }, }, true end) insert(handlers, function(data) local kanji, daiyoji = match(data.label, "^Perkataan dengan (.) digantikan oleh daiyōji (.)$") if not kanji then return nil end local args = require("Module:parameters").process(data.args, { ["sort"] = true, }) local lang = data.lang if not args.sort then error("For categories of the form \"" .. lang:getCanonicalName() .. " terms with KANJI replaced by daiyōji DAIYOJI\", the sort key must be specified using sort=") end local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_daiyoji = get_tagged_reading(daiyoji, lang) return { description = "{{{langname}}} terms with {{l|{{{langcode}}}|" .. kanji .. "}} replaced by [[Appendix:Japanese glossary#daiyouji|daiyōji]] {{l|{{{langcode}}}|" .. daiyoji .. "}}.", displaytitle = "{{{langname}}} terms with " .. tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji, breadcrumb = tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji, parents = {{name = "Perkataan dieja dengan daiyōji", sort = args.sort}}, }, true end) return {LABELS = labels, HANDLERS = handlers} e4da8b691jmwdc8le9dh77il747bk54 342769 342767 2026-05-16T06:03:15Z Hakimi97 2668 Mengemas kini mengikut padanan Wikikamus bahasa Inggeris (semakan [[en:Special:Diff/86828539|86828539]]) 342769 Scribunto text/plain local labels = {} local handlers = {} local m_str_utils = require("Module:string utilities") local concat = table.concat local full_link = require("Module:links").full_link local insert = table.insert local Hani_sort = require("Module:Hani-sortkey").makeSortKey local match = m_str_utils.match local sort = table.sort local tag_text = require("Module:script_utilities").tag_text local ucfirst = m_str_utils.ucfirst local Hira = require("Module:scripts").getByCode("Hira") local Jpan = require("Module:scripts").getByCode("Jpan") local kana_to_romaji = require("Module:Hrkt-translit").tr local m_numeric = require("Module:ConvertNumeric") local kana_capture = "([-" .. require("Module:ja/data/range").kana .. "・]+)" local yomi_data = require("Module:kanjitab/data") labels["adnominals"] = { description = "{{{langname}}} adnominals, or {{ja-r|連%体%詞|れん%たい%し}}, which modify nouns, and do not conjugate or [[predicate#Verb|predicate]].", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["hiragana"] = { description = "{{{langname}}} terms with hiragana {{mdash}} {{ja-r|平%仮%名|ひら%が%な}} {{mdash}} forms, sorted by conventional hiragana sequence. The hiragana form is a [[phonetic]] representation of that word. " .. "Wiktionary represents {{{langname}}}-language segments in three ways: in normal form (with [[kanji]], if appropriate), in [[hiragana]] " .. "form (this differs from kanji form only when the segment contains kanji), and in [[romaji]] form.", additional = "''Lihat juga'' [[:Kategori:Katakana bahasa {{{langname}}}]]", toc_template = "Hira-categoryTOC", toc_template_full = "Hira-categoryTOC/full", parents = { {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Hiragana", } } labels["historical hiragana"] = { description = "{{{langname}}} historical [[hiragana]].", additional = "''See also'' [[:Category:{{{langname}}} historical katakana]].", toc_template = "Hira-categoryTOC", toc_template_full = "Hira-categoryTOC/full", parents = { "hiragana", {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Hiragana", } } labels["katakana"] = { description = "{{{langname}}} terms with katakana {{mdash}} {{ja-r|片%仮%名|かた%か%な}} {{mdash}} forms, sorted by conventional katakana sequence. Katakana is used primarily for transliterations of foreign words, including old Chinese hanzi not used in [[shinjitai]].", additional = "''Lihat juga'' [[:Kategori:Hiragana bahasa {{{langname}}}]]", toc_template = "Kana-categoryTOC", toc_template_full = "Kana-categoryTOC/full", parents = { {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Katakana", } } labels["historical katakana"] = { description = "{{{langname}}} historical [[katakana]].", additional = "''See also'' [[:Category:{{{langname}}} historical hiragana]].", toc_template = "Kana-categoryTOC", toc_template_full = "Kana-categoryTOC/full", parents = { "katakana", {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Katakana", } } labels["perkataan dieja dengan kana campuran"] = { description = "{{{langname}}} terms which combine [[hiragana]] and [[katakana]] characters, potentially with [[kanji]] too.", parents = { {name = "{{{langcat}}}", raw = true}, "hiragana", "katakana", }, } labels["kanji"] = { topright = "{{wp|Kanji}}", description = "Simbol bahasa {{{langname}}} yang merupakan sebahagian daripada tulisan logogram Han, yang boleh mewakili bunyi atau menyampaikan makna secara langsung.", toc_template = "Hani-categoryTOC", umbrella = "aksara Han", parents = "logogram", } labels["kanji mengikut bacaan"] = { description = "Kanji bahasa {{{langname}}} yang dikategorikan mengikut bacaan.", parents = {{name = "kanji", sort = "bacaan"}}, } labels["makurakotoba"] = { topright = "{{wp|Makurakotoba}}", description = "{{{langname}}} idioms used in poetry to introduce specific words.", parents = {"peribahasa"}, } labels["perkataan mengikut bacaan kanji"] = { description = "Kategori bahasa {{{langname}}} yang dikumpulkan berdasarkan bacaan kanji yang dieja dengannya.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["perkataan mengikut pola bacaan"] = { description = "Kategori bahasa {{{langname}}} dengan perkataan yang dikumpulkan berdasarkan corak bacaannya.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["perkataan mengikut bilangan aksara kanji"] = { description = "Perkataan bahasa {{{langname}}} dikategorikan mengikut bilangan aksara kanji.", parents = {"perkataan mengikut sifat ortografi"}, } local function handle_onyomi_list(category, category_type, cat_yomi_type) local onyomi, seen = {}, {} for _, yomi in pairs(yomi_data) do if not seen[yomi] and yomi.onyomi then local yomi_catname = yomi[category_type] if yomi_catname ~= false then local yomi_type = yomi.type if yomi_type ~= "on'yomi" and yomi_type ~= cat_yomi_type then insert(onyomi, "[[:Kategori:" .. category:gsub("{{{yomi_catname}}}", yomi_catname) .. " bahasa {{{langname}}}]]") end end end seen[yomi] = true end sort(onyomi) return onyomi end local function add_yomi_category(category, category_type, parent, description) for _, yomi in pairs(yomi_data) do local yomi_catname = yomi[category_type] if yomi_catname ~= false then local yomi_type = yomi.type local yomi_desc = yomi.link or yomi_catname if yomi.description then yomi_desc = yomi_desc .. "; " .. yomi.description end local label = { description = description .. " " .. yomi_desc .. ".", breadcrumb = yomi_type, parents = {{name = parent, sort = yomi_catname}}, } if yomi.onyomi then local onyomi = handle_onyomi_list(category, category_type, yomi_type) label.additional = "Kategori untuk perkataan dengan " .. (yomi_type == "on'yomi" and "pelbagai lagi" or "lain-lain") .. " jenis spesifik bacaan on'yomi boleh ditemukan pada kategori berikut:\n* " .. concat(onyomi, "\n* ") if yomi_type ~= "on'yomi" then insert(label.parents, 1, { name = (category:gsub("{{{yomi_catname}}}", yomi_data.on[category_type])), sort = yomi_catname }) end end labels[category:gsub("{{{yomi_catname}}}", yomi_catname)] = label end end end add_yomi_category( "perkataan dengan bacaan {{{yomi_catname}}}", "reading_category", "perkataan mengikut pola bacaan", "Perkataan bahasa {{{langname}}} dengan bacaan" ) add_yomi_category( "perkataan dieja dengan kanji dengan bacaan {{{yomi_catname}}}", "kanji_category", "perkataan mengikut jenis bacaan kanji", "Kategori bahasa {{{langname}}} dengan perkataan yang dieja dengan satu atau lebih banyak aksara kanji dengan bacaan" ) labels["perkataan kehilangan yomi"] = { description = "Perkataan bahasa {{{langname}}} yang kehilangan satu atau lebih [[Lampiran:Glosari bahasa Jepun#yomi|yomi]] dalam {{tl|{{{langcode}}}-kanjitab}}.", hidden = true, can_be_empty = true, parents = {"penyelenggaraan entri"}, } labels["terms with IPA pronunciation with pitch accent"] = { description = "{{{langname}}} terms with pronunciations that have {{w|Japanese pitch accent|pitch accent}} specified.", additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.", can_be_empty = true, parents = {"penyelenggaraan entri", "pitch accent"}, } labels["terms with IPA pronunciation missing pitch accent"] = { description = "{{{langname}}} terms with pronunciations that do not have a {{w|Japanese pitch accent|pitch accent}} specified.", additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.", hidden = true, can_be_empty = true, parents = {"penyelenggaraan entri"}, } labels["pitch accent"] = { description = "{{{langname}}} terms regarding {{w|Japanese pitch accent|pitch accent}} pronunciation.", can_be_empty = true, parents = {{name = "{{{langcat}}}", raw = true}}, } labels["terms with Heiban pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[平板型|Heiban]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Atamadaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[頭高型|Atamadaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Nakadaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Odaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with complex pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) complex {{w|Japanese pitch accent|pitch accent}}, as in having more than one {{m|ja|アクセント句}}.", can_be_empty = true, parents = {"pitch accent"} } labels["pitch accent deaccenting before の"] = { description = "{{{langname}}} terms with {{w|Japanese pitch accent|pitch accent}} pronunciations that have exceptional deaccenting or lack thereof before の ({{ja-deaccenting-before-no}}).", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Odaka pitch accent not deaccented before の (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}} and do not become deaccented before の ({{ja-deaccenting-before-no}}).\n\nTerms are placed in this category using {{tl|ja-odaka-deaccent-exception}}.", can_be_empty = true, parents = {"pitch accent deaccenting before の"} } labels["terms with Nakadaka pitch accent deaccented before の (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}} and become deaccented before の ({{ja-deaccenting-before-no}}).\n\nTerms are placed in this category using {{tl|ja-nakadaka-deaccent}}.", can_be_empty = true, parents = {"pitch accent deaccenting before の"} } labels["perkataan mengikut jenis bacaan kanji"] = { description = "{{{langname}}} categories with terms grouped with regard to the types of readings of the kanji with which " .. "they are spelled; broadly, those of Chinese origin, {{ja-r|音|おん}} readings, and those of non-Chinese origin, {{ja-r|訓|くん}} readings.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["perkataan dieja dengan ateji"] = { topright = "{{wp|Ateji}}", description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#ateji|ateji]] {{mdash}} {{ja-r|当て字|あてじ}} {{mdash}} which are [[kanji]] used to represent sounds rather than meanings (though meaning may have some influence on which kanji are chosen).", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["perkataan dieja dengan daiyōji"] = { description = "Japanese terms spelled using [[Appendix:Japanese glossary#daiyouji|daiyōji]], categorized using {{temp|ja-daiyouji}}.", parents = {"perkataan mengikut etimologi"}, } labels["perkataan dieja dengan jukujikun"] = { description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#jukujikun|jukujikun]] {{mdash}} {{ja-r|熟%字%訓|じゅく%じ%くん}} {{mdash}} which are [[kanji]] used to represent meanings rather than sounds.", parents = {{name = "{{{langcat}}}", raw = true}}, } local function add_grade_categories(grade, desc, wp, only_one, parent, sort) local grade_kanji = "kanji " .. grade local topright = wp and ("{{wp|%s}}"):format(ucfirst(grade_kanji)) or nil labels[grade_kanji] = { topright = topright, description = "Kanji bahasa {{{langname}}} " .. desc, toc_template = "Hani-categoryTOC", parents = {{ name = parent and ("kanji " .. parent) or "kanji", sort = sort or grade }}, } labels["perkataan dieja dengan " .. grade_kanji:lower()] = { topright = topright, description = "Perkataan bahasa {{{langname}}} yang dieja dengan " .. (only_one and "sekurang-kurangnya satu " or "") .. " aksara kanji " .. desc, parents = {{ name = parent and ("perkataan dieja dengan kanji " .. parent) or "perkataan mengikut sifat ortografi", sort = sort or grade }}, } end for i = 1, 6 do local ord = m_numeric.ones_position_ord[i] add_grade_categories( "gred " .. ord, "diajar dalam gred " .. ord .. " sekolah rendah, seperti yang ditetapkan oleh senarai rasmi {{ja-r|教%育 漢%字|きょう%いく かん%じ|sukatan pendidikan kanji}}.", false, false, "kyōiku", i ) end add_grade_categories( "kyōiku", "pada senarai rasmi {{ja-r|教%育 漢%字|きょう%いく かん%じ|sukatan pendidikan kanji}}.", true, false, "jōyō" ) add_grade_categories( "sekolah menengah", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}} yang secara umumnya diajar pada peringkat sekolah menengah.", false, false, "jōyō" ) add_grade_categories( "jōyō", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}.", true, false ) add_grade_categories( "tōyō", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}, yang digunakan pada sekitar tahun 1946{{ndash}}1981 sehingga penerbitan senarai {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}.", true, false ) add_grade_categories( "jinmeiyō", "pada senarai rasmi {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji untuk kegunaan nama peribadi}}.", true, true ) add_grade_categories( "hyōgai", "tidak termasuk pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara kegunaan kerap}} atau {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji untuk kegunaan nama peribadi}}, yang dikenali sebagai {{ja-r|表%外 漢%字|ひょう%がい かん%じ}} atau {{ja-r|表%外%字|ひょう%がい%じ|aksara tidak tersenarai}}.", true, true ) labels["perkataan dengan berbilang bacaan"] = { description = "Perkataan bahasa {{{langname}}} dengan berbilang cara sebutan (maka juga sama dengan berbilang ejaan [[kana]]).", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["bacaan kanji mengikut bilangan mora"] = { description = "Kategori-kategori bahasa {{{langname}}} dikumpulkan berdasarkan bilangan mora dalam bacaan kanji.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["perkataan kanji tunggal"] = { description = "Perkataan {{{langname}}} yang ditulis dengan kanji tunggal.", parents = { "perkataan mengikut sifat ortografi", {name = "perkataan dengan 1 aksara kanji", sort = " "}, }, } labels["kanji with kun readings missing okurigana designation"] = { breadcrumb = "Kanji missing okurigana designation", description = "{{{langname}}} kanji entries in which one or more kun readings entered into {{tl|{{{langcode}}}-readings}} is missing a hyphen denoting okurigana.", toc_template = "Hani-categoryTOC", hidden = true, can_be_empty = true, parents = {"penyelenggaraan entri"}, } labels["perkataan mengikut aksara individu dalam ejaan sejarah"] = { breadcrumb = "Bersejarah", description = "{{{langname}}} terms categorized by whether their spellings in the {{w|historical kana orthography}} included certain individual characters.", parents = {{name = "perkataan mengikut aksara individu", sort = " "}}, } labels["kata kerja tanpa ketransitifan"] = { description = "{{{langname}}} verbs missing the {{code|=tr=}} parameter from their headword templates.", hidden = true, can_be_empty = true, parents = {"penyelenggaraan entri"}, } labels["yojijukugo"] = { topright = "{{wp|Yojijukugo}}", description = "{{{langname}}} four-[[kanji]] compound terms, {{ja-r|四%字 熟%語|よ%じ じゅく%ご}}, with idiomatic meanings; typically derived from Classical Chinese, Buddhist scripture or traditional Japanese proverbs.", additional = "Compare Chinese {{w|chengyu}} and Korean {{w|sajaseong-eo}}.", umbrella = "peribahasa empat aksara", parents = {"peribahasa"}, } -- FIXME: Only works for 0 through 19. local word_to_number = {} for k, v in pairs(m_numeric.ones_position) do word_to_number[v] = k end local periods = { lama = true, kuno = true, } local function get_period_text_and_reading_type_link(period, reading_type) if period and not periods[period] then return nil end local period_text = period and " " .. period or nil -- Allow periods (historical or ancient) by themselves; they will parse as reading types. if not period and periods[reading_type] then return nil, reading_type end local reading_type_link = "[[Lampiran:Glosari bahasa Jepun#" .. reading_type .. "|" .. reading_type .. "]]" return period_text, reading_type_link end local function get_sc(str) return match(str:gsub("[%s%p]+", ""), "[^" .. Hira:getCharacters() .. "]") and Jpan or Hira end local function get_tagged_reading(reading, lang) return tag_text(reading, lang, get_sc(reading)) end local function get_reading_link(reading, lang, period, link) local hist = periods[period] reading = reading:gsub("[%.%-%s]+", "") return full_link({ lang = lang, sc = get_sc(reading), term = link or reading:gsub("・", ""), -- If we have okurigana, demarcate furigana. alt = reading:gsub("^(.-)・", "<span style=\"border-top:1px solid;position:relative;padding:1px;\">%1<span style=\"position:absolute;top:0;bottom:67%%;right:0%%;border-right:1px solid;\"></span></span>"), tr = kana_to_romaji((reading:gsub("・", ".")), lang:getCode(), nil, {keep_dot = true, hist = hist}) :gsub("^(.-)%.", "<u>%1</u>"), pos = reading:find("・", 1, true) and get_tagged_reading((reading:gsub("^.-・", "~")), lang) or nil }, "term") end local function is_on_subtype(reading_type) return reading_type:find(".on$") end insert(handlers, function(data) local n =data.label:match("^perkataan dengan ([1-9]%d*) aksara kanji$") if not n then return end local sortkey = require("Module:category tree").numeral_sortkey(n, 2097152) return { breadcrumb = n, description = ("Perkataan bahasa {{{langname}}} yang mengandungi tepat %d aksara kanji."):format(n), -- TODO: implement this using the same mechanism used to implement parents (i.e. avoiding the need for raw categories). -- umbrella = { -- breadcrumb = ("%d kanji"):format(n), -- parents = {{name = "terms by number of kanji subcategories by language", sort = sortkey}}, -- }, parents = {{name = ("perkataan mengikut bilangan aksara kanji"), sort = sortkey}} } end) insert(handlers, function(data) local label_pref, kana = data.label:match("^(perkataan yang mengikut sejarah dieja dengan )" .. kana_capture .. "$") if not kana then return end local lang = data.lang return { description = "Perkataan bahasa {{{langname}}} yang dieja dengan " .. get_reading_link(kana, lang, "bersejarah") .. " dalam {{w|ortografi kana sejarawi}}.", displaytitle = label_pref .. get_tagged_reading(kana, lang) .. " bahasa {{{langname}}}", breadcrumb = "sejarah", parents = { {name = "perkataan dieja dengan " .. kana, sort = " "}, {name = "perkataan mengikut aksara individu dalam ejaan sejarah", sort = lang:makeSortKey(kana)} }, umbrella = false, } end) insert(handlers, function(data) local count, plural = data.label:match("^bacaan kanji dengan (.+) mora$") local num = word_to_number[count] if not num then return nil end return { description = "Bacaan kanji bahasa {{{langname}}} yang mengandungi " .. count .. " mora.", breadcrumb = num, parents = {{name = "bacaan kanji mengikut bilangan mora", sort = num}}, umbrella = false, } end) insert(handlers, function(data) local label_pref, period, reading_type, reading = match(data.label, "^(kanji dengan bacaan ([a-z]-) ?([%a']+) )" .. kana_capture .. "$") if not period then return end period = period ~= "" and period or nil local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type) if not reading_type_link then return end local lang = data.lang -- Compute parents. local parents, breadcrumb = {} if reading:find("・", 1, true) then local okurigana = reading:match("・(.*)") insert(parents, { name = "kanji dengan bacaan" .. (period_text or "") .. " ".. reading_type .. " " .. reading:match("(.-)・"), -- Sort by okurigana, since all coordinate categories will have the same furigana. sort = (lang:makeSortKey(okurigana)) }) breadcrumb = "~" .. okurigana else insert(parents, { name = "kanji mengikut bacaan" .. (period_text or "") .. " " .. reading_type, sort = (lang:makeSortKey(reading)) }) breadcrumb = reading end if is_on_subtype(reading_type) then insert(parents, {name = "kanji dengan bacaan" .. (period_text or "") .. " on " .. reading, sort = reading_type}) elseif period_text then insert(parents, {name = "kanji dengan bacaan" .. period_text .. " " .. reading, sort = reading_type}) end if not period_text then insert(parents, {name = "kanji dibaca sebagai " .. reading, sort = reading_type}) end return { description = "Aksara [[kanji]] bahasa {{{langname}}} dengan bacaan " .. reading_type_link .. " " .. get_reading_link(reading, lang, period or reading_type) .. ".", displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(reading, lang), breadcrumb = get_tagged_reading(breadcrumb, lang), parents = parents, umbrella = false, } end) insert(handlers, function(data) local period, reading_type = match(data.label, "^kanji mengikut bacaan ([a-z]-) ?([%a']+)$") if not period then return end period = period ~= "" and period or nil local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type) if not reading_type_link then return nil end -- Compute parents. local parents = { is_on_subtype(reading_type) and {name = "kanji mengikut bacaan" .. (period_text or "") .. " on", sort = reading_type} or period_text and {name = "kanji mengikut bacaan " .. reading_type, sort = period} or {name = "kanji mengikut bacaan", sort = reading_type} } if period_text then insert(parents, {name = "kanji mengikut bacaan" .. period_text, sort = reading_type}) end -- Compute description. local description = "[[kanji|Kanji]] bahasa {{{langname}}} dikategorikan mengikat bacaan " .. (period_text or "") .. reading_type_link .. "." return { description = description, breadcrumb = reading_type .. (period_text or ""), parents = parents, umbrella = false, } end) insert(handlers, function(data) local label_pref, reading = match(data.label, "^(kanji dibaca sebagai )" .. kana_capture .. "$") if not reading then return end local args = require("Module:parameters").process(data.args, { ["histconsol"] = true, }) local lang = data.lang local parents, breadcrumb = {} if reading:find("・", 1, true) then local okurigana = reading:match("・(.*)") insert(parents, { name = "kanji dibaca sebagai " .. reading:match("(.-)・"), -- Sort by okurigana, since all coordinate categories will have the same furigana. sort = (lang:makeSortKey(okurigana)) }) breadcrumb = "~" .. okurigana else insert(parents, { name = "kanji mengikut bacaan", sort = (lang:makeSortKey(reading)) }) breadcrumb = reading end local addl local period_text if args.histconsol then period_text = "lama" addl = ("This is a [[Wikipedia:Historical kana orthography|historical]] [[Wikipedia:Kanazukai|reading]], now " .. "consolidated with the [[Wikipedia:Modern kana usage|modern reading]] of " .. get_reading_link(args.histconsol, lang, nil, ("Kategori:Kanji dibaca sebagai %s bahasa Jepun"):format(args.histconsol)) .. ".") end return { description = "[[kanji|Kanji]] bahasa {{{langname}}} dibaca sebagai " .. get_reading_link(reading, lang, period_text) .. ".", additional = addl, displaytitle = label_pref .. get_tagged_reading(reading, lang) .. " bahasa {{{langname}}}" , breadcrumb = get_tagged_reading(breadcrumb, lang), parents = parents, umbrella = false, }, true end) insert(handlers, function(data) local label_pref, reading = match(data.label, "^(perkataan dieja dengan kanji dibaca sebagai )" .. kana_capture .. "$") if not reading then return end -- Compute parents. local lang = data.lang local sort_key = (lang:makeSortKey(reading)) local mora_count = require("Module:ja").count_morae(reading) local mora_count_words = m_numeric.spell_number(tostring(mora_count)) local parents = { {name = "perkataan mengikut bacaan kanji", sort = sort_key}, {name = "bacaan kanji dengan " .. mora_count_words .. " mora", sort = sort_key}, {name = "kanji dibaca sebagai " .. reading, sort = " "}, } local tagged_reading = get_tagged_reading(reading, lang) return { description = "{{{langname}}} terms that contain kanji that exhibit a reading of " .. get_reading_link(reading, lang) .. " in those terms prior to any sound changes.", displaytitle = "{{{langname}}} " .. label_pref .. tagged_reading, breadcrumb = tagged_reading, parents = parents, umbrella = false, } end) insert(handlers, function(data) local kanji, reading = match(data.label, "^perkataan dieja dengan (.) dibaca sebagai " .. kana_capture .. "$") if not kanji then return nil end local args = require("Module:parameters").process(data.args, { [1] = {list = true}, }) local lang = data.lang if #args[1] == 0 then error("Bagi kategori dalam bentuk \"" .. lang:getCanonicalName() .. " terms spelled with KANJI dibaca sebagai READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.") end local yomi_types, parents = {}, {} for _, yomi, category in ipairs(args[1]) do local yomi_data = yomi_data[yomi] if not yomi_data then error("Jenis yomi \"" .. yomi .. "\" tidak sah.") end category = yomi_data.kanji_category if not category then error("Jenis yomi \"" .. yomi .. "\" tidak sah bagi jenis kategori ini.") end insert(yomi_types, yomi_data.link) insert(parents, { name = "perkataan dieja dengan kanji dengan bacaan " .. category, sort = (lang:makeSortKey(reading)) }) end insert(parents, 1, {name = "perkataan dieja dengan " .. kanji, sort = (lang:makeSortKey(reading))}) insert(parents, 2, {name = "perkataan dieja dengan kanji dibaca sebagai " .. reading, sort = Hani_sort(kanji)}) yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " .. require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) .. " reading" .. (#yomi_types > 1 and "s" or "") local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_reading = get_tagged_reading(reading, lang) return { description = "{{{langname}}} terms spelled with {{l|{{{langcode}}}|" .. kanji .. "}} with " .. yomi_types .. " of " .. get_reading_link(reading, lang) .. ".", displaytitle = "{{{langname}}} terms spelled with " .. tagged_kanji .. " dibaca sebagai " .. tagged_reading, breadcrumb = "dibaca sebagai " .. tagged_reading, parents = parents, umbrella = false, }, true end) insert(handlers, function(data) local affix, kanji, reading = data.label:match("^perkataan dengan ([a-z]+fix) (.+) dibaca sebagai " .. kana_capture .. "$") if not affix or not kanji or not reading then return nil end local args = require("Module:parameters").process(data.args, { [1] = {list = true}, }) local lang = data.lang if #args[1] == 0 then error("Bagi kategori dalam bentuk \"" .. lang:getCanonicalName() .. " perkataan dengan AFFIX KANJI dibaca sebagai READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.") end local yomi_types = {} for _, yomi, category in ipairs(args[1]) do local yomi_data = yomi_data[yomi] if not yomi_data then error("Jenis yomi \"" .. yomi .. "\" tidak sah.") end category = yomi_data.kanji_category if not category then error("Jenis yomi \"" .. yomi .. "\" tidak sah bagi jenis kategori ini.") end insert(yomi_types, yomi_data.link) end yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " .. require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) .. " reading" .. (#yomi_types > 1 and "s" or "") local description = "{{{langname}}} terms " .. affix .. "ed with {{l|{{{langcode}}}|" .. kanji .. "}} with " .. yomi_types .. " of " .. get_reading_link(reading, lang) .. "." local ok, what_categorizes = pcall(require, "Module:category tree/fam/jpx/what-categorizes-msg") if ok and what_categorizes.get_what_categorizes_msg then local what_categorizes_msg = what_categorizes.get_what_categorizes_msg(kanji, reading, affix) if what_categorizes_msg then description = description .. "\n\n" .. what_categorizes_msg end end local parents = {} table.insert(parents, {name = "perkataan dengan " .. affix .. " " .. kanji, sort = (lang:makeSortKey(reading))}) if mw.title.new("Kategori:perkataan dieja dengan " .. kanji .. " dibaca sebagai " .. reading .. " bahasa " .. lang:getCanonicalName()).exists then table.insert(parents, {name = "perkataan dieja dengan " .. kanji .. " dibaca sebagai " .. reading, sort = (lang:makeSortKey(reading)), args=data.args}) end local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_reading = get_tagged_reading(reading, lang) return { description = description, displaytitle = "{{{langname}}} terms " .. affix .. "ed with " .. tagged_kanji .. " dibaca sebagai " .. tagged_reading, breadcrumb = "dibaca sebagai " .. reading, parents = parents, umbrella = false, }, true end) insert(handlers, function(data) local kanji, daiyoji = match(data.label, "^perkataan dengan (.) digantikan oleh daiyōji (.)$") if not kanji then return nil end local args = require("Module:parameters").process(data.args, { ["sort"] = true, }) local lang = data.lang if not args.sort then error("For categories of the form \"" .. lang:getCanonicalName() .. " terms with KANJI replaced by daiyōji DAIYOJI\", the sort key must be specified using sort=") end local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_daiyoji = get_tagged_reading(daiyoji, lang) return { description = "{{{langname}}} terms with {{l|{{{langcode}}}|" .. kanji .. "}} replaced by [[Appendix:Japanese glossary#daiyouji|daiyōji]] {{l|{{{langcode}}}|" .. daiyoji .. "}}.", displaytitle = "{{{langname}}} terms with " .. tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji, breadcrumb = tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji, parents = {{name = "perkataan dieja dengan daiyōji", sort = args.sort}}, umbrella = false, }, true end) return {LABELS = labels, HANDLERS = handlers} kfuptjvwyd5aqs81giukji809i1cdns 342776 342769 2026-05-16T08:09:26Z Hakimi97 2668 342776 Scribunto text/plain local labels = {} local handlers = {} local m_str_utils = require("Module:string utilities") local concat = table.concat local full_link = require("Module:links").full_link local insert = table.insert local Hani_sort = require("Module:Hani-sortkey").makeSortKey local match = m_str_utils.match local sort = table.sort local tag_text = require("Module:script_utilities").tag_text local ucfirst = m_str_utils.ucfirst local Hira = require("Module:scripts").getByCode("Hira") local Jpan = require("Module:scripts").getByCode("Jpan") local kana_to_romaji = require("Module:Hrkt-translit").tr local m_numeric = require("Module:ConvertNumeric") local kana_capture = "([-" .. require("Module:ja/data/range").kana .. "・]+)" local yomi_data = require("Module:kanjitab/data") labels["adnominals"] = { description = "{{{langname}}} adnominals, or {{ja-r|連%体%詞|れん%たい%し}}, which modify nouns, and do not conjugate or [[predicate#Verb|predicate]].", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Hiragana"] = { description = "{{{langname}}} terms with hiragana {{mdash}} {{ja-r|平%仮%名|ひら%が%な}} {{mdash}} forms, sorted by conventional hiragana sequence. The hiragana form is a [[phonetic]] representation of that word. " .. "Wiktionary represents {{{langname}}}-language segments in three ways: in normal form (with [[kanji]], if appropriate), in [[hiragana]] " .. "form (this differs from kanji form only when the segment contains kanji), and in [[romaji]] form.", additional = "''Lihat juga'' [[:Kategori:Katakana bahasa {{{langname}}}]]", toc_template = "Hira-categoryTOC", toc_template_full = "Hira-categoryTOC/full", parents = { {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Hiragana", } } labels["historical hiragana"] = { description = "{{{langname}}} historical [[hiragana]].", additional = "''See also'' [[:Category:{{{langname}}} historical katakana]].", toc_template = "Hira-categoryTOC", toc_template_full = "Hira-categoryTOC/full", parents = { "Hiragana", {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Hiragana", } } labels["Katakana"] = { description = "{{{langname}}} terms with katakana {{mdash}} {{ja-r|片%仮%名|かた%か%な}} {{mdash}} forms, sorted by conventional katakana sequence. Katakana is used primarily for transliterations of foreign words, including old Chinese hanzi not used in [[shinjitai]].", additional = "''Lihat juga'' [[:Kategori:Hiragana bahasa {{{langname}}}]]", toc_template = "Kana-categoryTOC", toc_template_full = "Kana-categoryTOC/full", parents = { {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Katakana", } } labels["historical katakana"] = { description = "{{{langname}}} historical [[katakana]].", additional = "''See also'' [[:Category:{{{langname}}} historical hiragana]].", toc_template = "Kana-categoryTOC", toc_template_full = "Kana-categoryTOC/full", parents = { "Katakana", {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Katakana", } } labels["Perkataan dieja dengan kana campuran"] = { description = "{{{langname}}} terms which combine [[hiragana]] and [[katakana]] characters, potentially with [[kanji]] too.", parents = { {name = "{{{langcat}}}", raw = true}, "Hiragana", "Katakana", }, } labels["Kanji"] = { topright = "{{wp|Kanji}}", description = "Simbol bahasa {{{langname}}} yang merupakan sebahagian daripada tulisan logogram Han, yang boleh mewakili bunyi atau menyampaikan makna secara langsung.", toc_template = "Hani-categoryTOC", umbrella = "Aksara Han", parents = "Logogram", } labels["Kanji mengikut bacaan"] = { description = "Kanji bahasa {{{langname}}} yang dikategorikan mengikut bacaan.", parents = {{name = "Kanji", sort = "bacaan"}}, } labels["Makurakotoba"] = { topright = "{{wp|Makurakotoba}}", description = "{{{langname}}} idioms used in poetry to introduce specific words.", parents = {"Peribahasa"}, } labels["Perkataan mengikut bacaan kanji"] = { description = "Kategori bahasa {{{langname}}} yang dikumpulkan berdasarkan bacaan kanji yang dieja dengannya.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan mengikut pola bacaan"] = { description = "Kategori bahasa {{{langname}}} dengan perkataan yang dikumpulkan berdasarkan corak bacaannya.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan mengikut bilangan aksara kanji"] = { description = "Perkataan bahasa {{{langname}}} dikategorikan mengikut bilangan aksara kanji.", parents = {"Perkataan mengikut sifat ortografi"}, } local function handle_onyomi_list(category, category_type, cat_yomi_type) local onyomi, seen = {}, {} for _, yomi in pairs(yomi_data) do if not seen[yomi] and yomi.onyomi then local yomi_catname = yomi[category_type] if yomi_catname ~= false then local yomi_type = yomi.type if yomi_type ~= "on'yomi" and yomi_type ~= cat_yomi_type then insert(onyomi, "[[:Kategori:" .. category:gsub("{{{yomi_catname}}}", yomi_catname) .. " bahasa {{{langname}}}]]") end end end seen[yomi] = true end sort(onyomi) return onyomi end local function add_yomi_category(category, category_type, parent, description) for _, yomi in pairs(yomi_data) do local yomi_catname = yomi[category_type] if yomi_catname ~= false then local yomi_type = yomi.type local yomi_desc = yomi.link or yomi_catname if yomi.description then yomi_desc = yomi_desc .. "; " .. yomi.description end local label = { description = description .. " " .. yomi_desc .. ".", breadcrumb = yomi_type, parents = {{name = parent, sort = yomi_catname}}, } if yomi.onyomi then local onyomi = handle_onyomi_list(category, category_type, yomi_type) label.additional = "Kategori untuk perkataan dengan " .. (yomi_type == "on'yomi" and "pelbagai lagi" or "lain-lain") .. " jenis spesifik bacaan on'yomi boleh ditemukan pada kategori berikut:\n* " .. concat(onyomi, "\n* ") if yomi_type ~= "on'yomi" then insert(label.parents, 1, { name = (category:gsub("{{{yomi_catname}}}", yomi_data.on[category_type])), sort = yomi_catname }) end end labels[category:gsub("{{{yomi_catname}}}", yomi_catname)] = label end end end add_yomi_category( "Perkataan dengan bacaan {{{yomi_catname}}}", "reading_category", "Perkataan mengikut pola bacaan", "Perkataan bahasa {{{langname}}} dengan bacaan" ) add_yomi_category( "Perkataan dieja dengan kanji dengan bacaan {{{yomi_catname}}}", "kanji_category", "Perkataan mengikut jenis bacaan kanji", "Kategori bahasa {{{langname}}} dengan perkataan yang dieja dengan satu atau lebih banyak aksara kanji dengan bacaan" ) labels["Perkataan kehilangan yomi"] = { description = "Perkataan bahasa {{{langname}}} yang kehilangan satu atau lebih [[Lampiran:Glosari bahasa Jepun#yomi|yomi]] dalam {{tl|{{{langcode}}}-kanjitab}}.", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["terms with IPA pronunciation with pitch accent"] = { description = "{{{langname}}} terms with pronunciations that have {{w|Japanese pitch accent|pitch accent}} specified.", additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.", can_be_empty = true, parents = {"Penyelenggaraan entri", "pitch accent"}, } labels["terms with IPA pronunciation missing pitch accent"] = { description = "{{{langname}}} terms with pronunciations that do not have a {{w|Japanese pitch accent|pitch accent}} specified.", additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["pitch accent"] = { description = "{{{langname}}} terms regarding {{w|Japanese pitch accent|pitch accent}} pronunciation.", can_be_empty = true, parents = {{name = "{{{langcat}}}", raw = true}}, } labels["terms with Heiban pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[平板型|Heiban]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Atamadaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[頭高型|Atamadaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Nakadaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Odaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with complex pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) complex {{w|Japanese pitch accent|pitch accent}}, as in having more than one {{m|ja|アクセント句}}.", can_be_empty = true, parents = {"pitch accent"} } labels["pitch accent deaccenting before の"] = { description = "{{{langname}}} terms with {{w|Japanese pitch accent|pitch accent}} pronunciations that have exceptional deaccenting or lack thereof before の ({{ja-deaccenting-before-no}}).", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Odaka pitch accent not deaccented before の (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}} and do not become deaccented before の ({{ja-deaccenting-before-no}}).\n\nTerms are placed in this category using {{tl|ja-odaka-deaccent-exception}}.", can_be_empty = true, parents = {"pitch accent deaccenting before の"} } labels["terms with Nakadaka pitch accent deaccented before の (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}} and become deaccented before の ({{ja-deaccenting-before-no}}).\n\nTerms are placed in this category using {{tl|ja-nakadaka-deaccent}}.", can_be_empty = true, parents = {"pitch accent deaccenting before の"} } labels["Perkataan mengikut jenis bacaan kanji"] = { description = "{{{langname}}} categories with terms grouped with regard to the types of readings of the kanji with which " .. "they are spelled; broadly, those of Chinese origin, {{ja-r|音|おん}} readings, and those of non-Chinese origin, {{ja-r|訓|くん}} readings.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan dieja dengan ateji"] = { topright = "{{wp|Ateji}}", description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#ateji|ateji]] {{mdash}} {{ja-r|当て字|あてじ}} {{mdash}} which are [[kanji]] used to represent sounds rather than meanings (though meaning may have some influence on which kanji are chosen).", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan dieja dengan daiyōji"] = { description = "Japanese terms spelled using [[Appendix:Japanese glossary#daiyouji|daiyōji]], categorized using {{temp|ja-daiyouji}}.", parents = {"Perkataan mengikut etimologi"}, } labels["Perkataan dieja dengan jukujikun"] = { description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#jukujikun|jukujikun]] {{mdash}} {{ja-r|熟%字%訓|じゅく%じ%くん}} {{mdash}} which are [[kanji]] used to represent meanings rather than sounds.", parents = {{name = "{{{langcat}}}", raw = true}}, } local function add_grade_categories(grade, desc, wp, only_one, parent, sort) local grade_kanji = "Kanji " .. grade local topright = wp and ("{{wp|%s}}"):format(ucfirst(grade_kanji)) or nil labels[grade_kanji] = { topright = topright, description = "Kanji bahasa {{{langname}}} " .. desc, toc_template = "Hani-categoryTOC", parents = {{ name = parent and ("Kanji " .. parent) or "Kanji", sort = sort or grade }}, } labels["Perkataan dieja dengan " .. grade_kanji:lower()] = { topright = topright, description = "Perkataan bahasa {{{langname}}} yang dieja dengan " .. (only_one and "sekurang-kurangnya satu " or "") .. " aksara kanji " .. desc, parents = {{ name = parent and ("Perkataan dieja dengan kanji " .. parent) or "Perkataan mengikut sifat ortografi", sort = sort or grade }}, } end for i = 1, 6 do local ord = m_numeric.ones_position_ord[i] add_grade_categories( "gred " .. ord, "diajar dalam gred " .. ord .. " sekolah rendah, seperti yang ditetapkan oleh senarai rasmi {{ja-r|教%育 漢%字|きょう%いく かん%じ|sukatan pendidikan kanji}}.", false, false, "kyōiku", i ) end add_grade_categories( "kyōiku", "pada senarai rasmi {{ja-r|教%育 漢%字|きょう%いく かん%じ|sukatan pendidikan kanji}}.", true, false, "jōyō" ) add_grade_categories( "sekolah menengah", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}} yang secara umumnya diajar pada peringkat sekolah menengah.", false, false, "jōyō" ) add_grade_categories( "jōyō", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}.", true, false ) add_grade_categories( "tōyō", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}, yang digunakan pada sekitar tahun 1946{{ndash}}1981 sehingga penerbitan senarai {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}.", true, false ) add_grade_categories( "jinmeiyō", "pada senarai rasmi {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji untuk kegunaan nama peribadi}}.", true, true ) add_grade_categories( "hyōgai", "tidak termasuk pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara kegunaan kerap}} atau {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji untuk kegunaan nama peribadi}}, yang dikenali sebagai {{ja-r|表%外 漢%字|ひょう%がい かん%じ}} atau {{ja-r|表%外%字|ひょう%がい%じ|aksara tidak tersenarai}}.", true, true ) labels["Perkataan dengan berbilang bacaan"] = { description = "Perkataan bahasa {{{langname}}} dengan berbilang cara sebutan (maka juga sama dengan berbilang ejaan [[kana]]).", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Bacaan kanji mengikut bilangan mora"] = { description = "Kategori-kategori bahasa {{{langname}}} dikumpulkan berdasarkan bilangan mora dalam bacaan kanji.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan kanji tunggal"] = { description = "Perkataan {{{langname}}} yang ditulis dengan kanji tunggal.", parents = { "Perkataan mengikut sifat ortografi", {name = "Perkataan dengan 1 aksara kanji", sort = " "}, }, } labels["kanji with kun readings missing okurigana designation"] = { breadcrumb = "Kanji missing okurigana designation", description = "{{{langname}}} kanji entries in which one or more kun readings entered into {{tl|{{{langcode}}}-readings}} is missing a hyphen denoting okurigana.", toc_template = "Hani-categoryTOC", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["Perkataan mengikut aksara individu dalam ejaan sejarah"] = { breadcrumb = "Bersejarah", description = "{{{langname}}} terms categorized by whether their spellings in the {{w|historical kana orthography}} included certain individual characters.", parents = {{name = "Perkataan mengikut aksara individu", sort = " "}}, } labels["Kata kerja tanpa ketransitifan"] = { description = "{{{langname}}} verbs missing the {{code|=tr=}} parameter from their headword templates.", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["Yojijukugo"] = { topright = "{{wp|Yojijukugo}}", description = "{{{langname}}} four-[[kanji]] compound terms, {{ja-r|四%字 熟%語|よ%じ じゅく%ご}}, with idiomatic meanings; typically derived from Classical Chinese, Buddhist scripture or traditional Japanese proverbs.", additional = "Compare Chinese {{w|chengyu}} and Korean {{w|sajaseong-eo}}.", umbrella = "peribahasa empat aksara", parents = {"Peribahasa"}, } -- FIXME: Only works for 0 through 19. local word_to_number = {} for k, v in pairs(m_numeric.ones_position) do word_to_number[v] = k end local periods = { lama = true, kuno = true, } local function get_period_text_and_reading_type_link(period, reading_type) if period and not periods[period] then return nil end local period_text = period and " " .. period or nil -- Allow periods (historical or ancient) by themselves; they will parse as reading types. if not period and periods[reading_type] then return nil, reading_type end local reading_type_link = "[[Lampiran:Glosari bahasa Jepun#" .. reading_type .. "|" .. reading_type .. "]]" return period_text, reading_type_link end local function get_sc(str) return match(str:gsub("[%s%p]+", ""), "[^" .. Hira:getCharacters() .. "]") and Jpan or Hira end local function get_tagged_reading(reading, lang) return tag_text(reading, lang, get_sc(reading)) end local function get_reading_link(reading, lang, period, link) local hist = periods[period] reading = reading:gsub("[%.%-%s]+", "") return full_link({ lang = lang, sc = get_sc(reading), term = link or reading:gsub("・", ""), -- If we have okurigana, demarcate furigana. alt = reading:gsub("^(.-)・", "<span style=\"border-top:1px solid;position:relative;padding:1px;\">%1<span style=\"position:absolute;top:0;bottom:67%%;right:0%%;border-right:1px solid;\"></span></span>"), tr = kana_to_romaji((reading:gsub("・", ".")), lang:getCode(), nil, {keep_dot = true, hist = hist}) :gsub("^(.-)%.", "<u>%1</u>"), pos = reading:find("・", 1, true) and get_tagged_reading((reading:gsub("^.-・", "~")), lang) or nil }, "term") end local function is_on_subtype(reading_type) return reading_type:find(".on$") end insert(handlers, function(data) local n =data.label:match("^Perkataan dengan ([1-9]%d*) aksara kanji$") if not n then return end local sortkey = require("Module:category tree").numeral_sortkey(n, 2097152) return { breadcrumb = n, description = ("Perkataan bahasa {{{langname}}} yang mengandungi tepat %d aksara kanji."):format(n), -- TODO: implement this using the same mechanism used to implement parents (i.e. avoiding the need for raw categories). -- umbrella = { -- breadcrumb = ("%d kanji"):format(n), -- parents = {{name = "terms by number of kanji subcategories by language", sort = sortkey}}, -- }, parents = {{name = ("Perkataan mengikut bilangan aksara kanji"), sort = sortkey}} } end) insert(handlers, function(data) local label_pref, kana = data.label:match("^(Perkataan yang mengikut sejarah dieja dengan )" .. kana_capture .. "$") if not kana then return end local lang = data.lang return { description = "Perkataan bahasa {{{langname}}} yang dieja dengan " .. get_reading_link(kana, lang, "bersejarah") .. " dalam {{w|ortografi kana sejarawi}}.", displaytitle = label_pref .. get_tagged_reading(kana, lang) .. " bahasa {{{langname}}}", breadcrumb = "sejarah", parents = { {name = "Perkataan dieja dengan " .. kana, sort = " "}, {name = "Perkataan mengikut aksara individu dalam ejaan sejarah", sort = lang:makeSortKey(kana)} }, } end) insert(handlers, function(data) local count, plural = data.label:match("^Bacaan kanji dengan (.+) mora$") local num = word_to_number[count] if not num then return nil end return { description = "Bacaan kanji bahasa {{{langname}}} yang mengandungi " .. count .. " mora.", breadcrumb = num, parents = {{name = "Bacaan kanji mengikut bilangan mora", sort = num}}, } end) insert(handlers, function(data) local label_pref, period, reading_type, reading = match(data.label, "^(Kanji dengan bacaan ([a-z]-) ?([%a']+) )" .. kana_capture .. "$") if not period then return end period = period ~= "" and period or nil local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type) if not reading_type_link then return end local lang = data.lang -- Compute parents. local parents, breadcrumb = {} if reading:find("・", 1, true) then local okurigana = reading:match("・(.*)") insert(parents, { name = "Kanji dengan bacaan" .. (period_text or "") .. " ".. reading_type .. " " .. reading:match("(.-)・"), -- Sort by okurigana, since all coordinate categories will have the same furigana. sort = (lang:makeSortKey(okurigana)) }) breadcrumb = "~" .. okurigana else insert(parents, { name = "Kanji mengikut bacaan" .. (period_text or "") .. " " .. reading_type, sort = (lang:makeSortKey(reading)) }) breadcrumb = reading end if is_on_subtype(reading_type) then insert(parents, {name = "Kanji dengan bacaan" .. (period_text or "") .. " on " .. reading, sort = reading_type}) elseif period_text then insert(parents, {name = "Kanji dengan bacaan" .. period_text .. " " .. reading, sort = reading_type}) end if not period_text then insert(parents, {name = "Kanji dibaca sebagai " .. reading, sort = reading_type}) end return { description = "Aksara [[kanji]] bahasa {{{langname}}} dengan bacaan " .. reading_type_link .. " " .. get_reading_link(reading, lang, period or reading_type) .. ".", displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(reading, lang), breadcrumb = get_tagged_reading(breadcrumb, lang), parents = parents, } end) insert(handlers, function(data) local period, reading_type = match(data.label, "^Kanji mengikut bacaan ([a-z]-) ?([%a']+)$") if not period then return end period = period ~= "" and period or nil local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type) if not reading_type_link then return nil end -- Compute parents. local parents = { is_on_subtype(reading_type) and {name = "Kanji mengikut bacaan" .. (period_text or "") .. " on", sort = reading_type} or period_text and {name = "Kanji mengikut bacaan " .. reading_type, sort = period} or {name = "Kanji mengikut bacaan", sort = reading_type} } if period_text then insert(parents, {name = "Kanji mengikut bacaan" .. period_text, sort = reading_type}) end -- Compute description. local description = "[[kanji|Kanji]] bahasa {{{langname}}} dikategorikan mengikat bacaan " .. (period_text or "") .. reading_type_link .. "." return { description = description, breadcrumb = reading_type .. (period_text or ""), parents = parents, umbrella = false, } end) insert(handlers, function(data) local label_pref, reading = match(data.label, "^(Kanji dibaca sebagai )" .. kana_capture .. "$") if not reading then return end local args = require("Module:parameters").process(data.args, { ["histconsol"] = true, }) local lang = data.lang local parents, breadcrumb = {} if reading:find("・", 1, true) then local okurigana = reading:match("・(.*)") insert(parents, { name = "Kanji dibaca sebagai " .. reading:match("(.-)・"), -- Sort by okurigana, since all coordinate categories will have the same furigana. sort = (lang:makeSortKey(okurigana)) }) breadcrumb = "~" .. okurigana else insert(parents, { name = "Kanji mengikut bacaan", sort = (lang:makeSortKey(reading)) }) breadcrumb = reading end local addl local period_text if args.histconsol then period_text = "lama" addl = ("This is a [[Wikipedia:Historical kana orthography|historical]] [[Wikipedia:Kanazukai|reading]], now " .. "consolidated with the [[Wikipedia:Modern kana usage|modern reading]] of " .. get_reading_link(args.histconsol, lang, nil, ("Kategori:Kanji dibaca sebagai %s bahasa Jepun"):format(args.histconsol)) .. ".") end return { description = "[[kanji|Kanji]] bahasa {{{langname}}} dibaca sebagai " .. get_reading_link(reading, lang, period_text) .. ".", additional = addl, displaytitle = label_pref .. get_tagged_reading(reading, lang) .. " bahasa {{{langname}}}" , breadcrumb = get_tagged_reading(breadcrumb, lang), parents = parents, }, true end) insert(handlers, function(data) local label_pref, reading = match(data.label, "^(Perkataan dieja dengan kanji dibaca sebagai )" .. kana_capture .. "$") if not reading then return end -- Compute parents. local lang = data.lang local sort_key = (lang:makeSortKey(reading)) local mora_count = require("Module:ja").count_morae(reading) local mora_count_words = m_numeric.spell_number(tostring(mora_count)) local parents = { {name = "Perkataan mengikut bacaan kanji", sort = sort_key}, {name = "Bacaan kanji dengan " .. mora_count_words .. " mora", sort = sort_key}, {name = "Kanji dibaca sebagai " .. reading, sort = " "}, } local tagged_reading = get_tagged_reading(reading, lang) return { description = "{{{langname}}} terms that contain kanji that exhibit a reading of " .. get_reading_link(reading, lang) .. " in those terms prior to any sound changes.", displaytitle = "{{{langname}}} " .. label_pref .. tagged_reading, breadcrumb = tagged_reading, parents = parents, } end) insert(handlers, function(data) local kanji, reading = match(data.label, "^Perkataan dieja dengan (.) dibaca sebagai " .. kana_capture .. "$") if not kanji then return nil end local args = require("Module:parameters").process(data.args, { [1] = {list = true}, }) local lang = data.lang if #args[1] == 0 then error("Bagi kategori dalam bentuk \"" .. lang:getCanonicalName() .. " terms spelled with KANJI dibaca sebagai READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.") end local yomi_types, parents = {}, {} for _, yomi, category in ipairs(args[1]) do local yomi_data = yomi_data[yomi] if not yomi_data then error("Jenis yomi \"" .. yomi .. "\" tidak sah.") end category = yomi_data.kanji_category if not category then error("Jenis yomi \"" .. yomi .. "\" tidak sah bagi jenis kategori ini.") end insert(yomi_types, yomi_data.link) insert(parents, { name = "Perkataan dieja dengan kanji dengan bacaan " .. category, sort = (lang:makeSortKey(reading)) }) end insert(parents, 1, {name = "Perkataan dieja dengan " .. kanji, sort = (lang:makeSortKey(reading))}) insert(parents, 2, {name = "Perkataan dieja dengan kanji dibaca sebagai " .. reading, sort = Hani_sort(kanji)}) yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " .. require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) .. " reading" .. (#yomi_types > 1 and "s" or "") local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_reading = get_tagged_reading(reading, lang) return { description = "{{{langname}}} terms spelled with {{l|{{{langcode}}}|" .. kanji .. "}} with " .. yomi_types .. " of " .. get_reading_link(reading, lang) .. ".", displaytitle = "{{{langname}}} terms spelled with " .. tagged_kanji .. " dibaca sebagai " .. tagged_reading, breadcrumb = "dibaca sebagai " .. tagged_reading, parents = parents, umbrella = false, }, true end) insert(handlers, function(data) local affix, kanji, reading = data.label:match("^Perkataan dengan ([a-z]) (.+) dibaca sebagai " .. kana_capture .. "$") if not affix or not kanji or not reading then return nil end local args = require("Module:parameters").process(data.args, { [1] = {list = true}, }) local lang = data.lang if #args[1] == 0 then error("Bagi kategori dalam bentuk \"" .. lang:getCanonicalName() .. " perkataan dengan AFFIX KANJI dibaca sebagai READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.") end local yomi_types = {} for _, yomi, category in ipairs(args[1]) do local yomi_data = yomi_data[yomi] if not yomi_data then error("Jenis yomi \"" .. yomi .. "\" tidak sah.") end category = yomi_data.kanji_category if not category then error("Jenis yomi \"" .. yomi .. "\" tidak sah bagi jenis kategori ini.") end insert(yomi_types, yomi_data.link) end yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " .. require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) .. " reading" .. (#yomi_types > 1 and "s" or "") local description = "{{{langname}}} terms " .. affix .. "ed with {{l|{{{langcode}}}|" .. kanji .. "}} with " .. yomi_types .. " of " .. get_reading_link(reading, lang) .. "." local ok, what_categorizes = pcall(require, "Module:category tree/fam/jpx/what-categorizes-msg") if ok and what_categorizes.get_what_categorizes_msg then local what_categorizes_msg = what_categorizes.get_what_categorizes_msg(kanji, reading, affix) if what_categorizes_msg then description = description .. "\n\n" .. what_categorizes_msg end end local parents = {} table.insert(parents, {name = "Perkataan dengan " .. affix .. " " .. kanji, sort = (lang:makeSortKey(reading))}) if mw.title.new("Kategori:Perkataan dieja dengan " .. kanji .. " dibaca sebagai " .. reading .. " bahasa " .. lang:getCanonicalName()).exists then table.insert(parents, {name = "Perkataan dieja dengan " .. kanji .. " dibaca sebagai " .. reading, sort = (lang:makeSortKey(reading)), args=data.args}) end local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_reading = get_tagged_reading(reading, lang) return { description = description, displaytitle = "{{{langname}}} terms " .. affix .. "ed with " .. tagged_kanji .. " dibaca sebagai " .. tagged_reading, breadcrumb = "dibaca sebagai " .. reading, parents = parents, umbrella = false, }, true end) insert(handlers, function(data) local kanji, daiyoji = match(data.label, "^Perkataan dengan (.) digantikan oleh daiyōji (.)$") if not kanji then return nil end local args = require("Module:parameters").process(data.args, { ["sort"] = true, }) local lang = data.lang if not args.sort then error("For categories of the form \"" .. lang:getCanonicalName() .. " terms with KANJI replaced by daiyōji DAIYOJI\", the sort key must be specified using sort=") end local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_daiyoji = get_tagged_reading(daiyoji, lang) return { description = "{{{langname}}} terms with {{l|{{{langcode}}}|" .. kanji .. "}} replaced by [[Appendix:Japanese glossary#daiyouji|daiyōji]] {{l|{{{langcode}}}|" .. daiyoji .. "}}.", displaytitle = "{{{langname}}} terms with " .. tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji, breadcrumb = tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji, parents = {{name = "Perkataan dieja dengan daiyōji", sort = args.sort}}, umbrella = false, }, true end) return {LABELS = labels, HANDLERS = handlers} curgfjitjzlxo27fqvyp2ynjc72u7gj 342784 342776 2026-05-16T09:38:41Z Hakimi97 2668 342784 Scribunto text/plain local labels = {} local handlers = {} local m_str_utils = require("Module:string utilities") local concat = table.concat local full_link = require("Module:links").full_link local insert = table.insert local Hani_sort = require("Module:Hani-sortkey").makeSortKey local match = m_str_utils.match local sort = table.sort local tag_text = require("Module:script_utilities").tag_text local ucfirst = m_str_utils.ucfirst local Hira = require("Module:scripts").getByCode("Hira") local Jpan = require("Module:scripts").getByCode("Jpan") local kana_to_romaji = require("Module:Hrkt-translit").tr local m_numeric = require("Module:ConvertNumeric") local kana_capture = "([-" .. require("Module:ja/data/range").kana .. "・]+)" local yomi_data = require("Module:kanjitab/data") labels["adnominals"] = { description = "{{{langname}}} adnominals, or {{ja-r|連%体%詞|れん%たい%し}}, which modify nouns, and do not conjugate or [[predicate#Verb|predicate]].", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Hiragana"] = { description = "{{{langname}}} terms with hiragana {{mdash}} {{ja-r|平%仮%名|ひら%が%な}} {{mdash}} forms, sorted by conventional hiragana sequence. The hiragana form is a [[phonetic]] representation of that word. " .. "Wiktionary represents {{{langname}}}-language segments in three ways: in normal form (with [[kanji]], if appropriate), in [[hiragana]] " .. "form (this differs from kanji form only when the segment contains kanji), and in [[romaji]] form.", additional = "''Lihat juga'' [[:Kategori:Katakana bahasa {{{langname}}}]]", toc_template = "Hira-categoryTOC", toc_template_full = "Hira-categoryTOC/full", parents = { {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Hiragana", } } labels["historical hiragana"] = { description = "{{{langname}}} historical [[hiragana]].", additional = "''See also'' [[:Category:{{{langname}}} historical katakana]].", toc_template = "Hira-categoryTOC", toc_template_full = "Hira-categoryTOC/full", parents = { "Hiragana", {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Hiragana", } } labels["Katakana"] = { description = "{{{langname}}} terms with katakana {{mdash}} {{ja-r|片%仮%名|かた%か%な}} {{mdash}} forms, sorted by conventional katakana sequence. Katakana is used primarily for transliterations of foreign words, including old Chinese hanzi not used in [[shinjitai]].", additional = "''Lihat juga'' [[:Kategori:Hiragana bahasa {{{langname}}}]]", toc_template = "Kana-categoryTOC", toc_template_full = "Kana-categoryTOC/full", parents = { {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Katakana", } } labels["historical katakana"] = { description = "{{{langname}}} historical [[katakana]].", additional = "''See also'' [[:Category:{{{langname}}} historical hiragana]].", toc_template = "Kana-categoryTOC", toc_template_full = "Kana-categoryTOC/full", parents = { "Katakana", {name = "{{{langcat}}}", raw = true}, "Kategori:Aksara Tulisan Katakana", } } labels["Perkataan dieja dengan kana campuran"] = { description = "{{{langname}}} terms which combine [[hiragana]] and [[katakana]] characters, potentially with [[kanji]] too.", parents = { {name = "{{{langcat}}}", raw = true}, "Hiragana", "Katakana", }, } labels["Kanji"] = { topright = "{{wp|Kanji}}", description = "Simbol bahasa {{{langname}}} yang merupakan sebahagian daripada tulisan logogram Han, yang boleh mewakili bunyi atau menyampaikan makna secara langsung.", toc_template = "Hani-categoryTOC", umbrella = "Aksara Han", parents = "Logogram", } labels["Kanji mengikut bacaan"] = { description = "Kanji bahasa {{{langname}}} yang dikategorikan mengikut bacaan.", parents = {{name = "Kanji", sort = "bacaan"}}, } labels["Makurakotoba"] = { topright = "{{wp|Makurakotoba}}", description = "{{{langname}}} idioms used in poetry to introduce specific words.", parents = {"Peribahasa"}, } labels["Perkataan mengikut bacaan kanji"] = { description = "Kategori bahasa {{{langname}}} yang dikumpulkan berdasarkan bacaan kanji yang dieja dengannya.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan mengikut pola bacaan"] = { description = "Kategori bahasa {{{langname}}} dengan perkataan yang dikumpulkan berdasarkan corak bacaannya.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan mengikut bilangan aksara kanji"] = { description = "Perkataan bahasa {{{langname}}} dikategorikan mengikut bilangan aksara kanji.", parents = {"Perkataan mengikut sifat ortografi"}, } local function handle_onyomi_list(category, category_type, cat_yomi_type) local onyomi, seen = {}, {} for _, yomi in pairs(yomi_data) do if not seen[yomi] and yomi.onyomi then local yomi_catname = yomi[category_type] if yomi_catname ~= false then local yomi_type = yomi.type if yomi_type ~= "on'yomi" and yomi_type ~= cat_yomi_type then insert(onyomi, "[[:Kategori:" .. category:gsub("{{{yomi_catname}}}", yomi_catname) .. " bahasa {{{langname}}}]]") end end end seen[yomi] = true end sort(onyomi) return onyomi end local function add_yomi_category(category, category_type, parent, description) for _, yomi in pairs(yomi_data) do local yomi_catname = yomi[category_type] if yomi_catname ~= false then local yomi_type = yomi.type local yomi_desc = yomi.link or yomi_catname if yomi.description then yomi_desc = yomi_desc .. "; " .. yomi.description end local label = { description = description .. " " .. yomi_desc .. ".", breadcrumb = yomi_type, parents = {{name = parent, sort = yomi_catname}}, } if yomi.onyomi then local onyomi = handle_onyomi_list(category, category_type, yomi_type) label.additional = "Kategori untuk perkataan dengan " .. (yomi_type == "on'yomi" and "pelbagai lagi" or "lain-lain") .. " jenis spesifik bacaan on'yomi boleh ditemukan pada kategori berikut:\n* " .. concat(onyomi, "\n* ") if yomi_type ~= "on'yomi" then insert(label.parents, 1, { name = (category:gsub("{{{yomi_catname}}}", yomi_data.on[category_type])), sort = yomi_catname }) end end labels[category:gsub("{{{yomi_catname}}}", yomi_catname)] = label end end end add_yomi_category( "Perkataan dengan bacaan {{{yomi_catname}}}", "reading_category", "Perkataan mengikut pola bacaan", "Perkataan bahasa {{{langname}}} dengan bacaan" ) add_yomi_category( "Perkataan dieja dengan kanji dengan bacaan {{{yomi_catname}}}", "kanji_category", "Perkataan mengikut jenis bacaan kanji", "Kategori bahasa {{{langname}}} dengan perkataan yang dieja dengan satu atau lebih banyak aksara kanji dengan bacaan" ) labels["Perkataan kehilangan yomi"] = { description = "Perkataan bahasa {{{langname}}} yang kehilangan satu atau lebih [[Lampiran:Glosari bahasa Jepun#yomi|yomi]] dalam {{tl|{{{langcode}}}-kanjitab}}.", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["terms with IPA pronunciation with pitch accent"] = { description = "{{{langname}}} terms with pronunciations that have {{w|Japanese pitch accent|pitch accent}} specified.", additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.", can_be_empty = true, parents = {"Penyelenggaraan entri", "pitch accent"}, } labels["terms with IPA pronunciation missing pitch accent"] = { description = "{{{langname}}} terms with pronunciations that do not have a {{w|Japanese pitch accent|pitch accent}} specified.", additional = "Pitch accent can be specified in {{tl|{{{langcode}}}-pron}} with the {{code|=acc=}} parameter.", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["pitch accent"] = { description = "{{{langname}}} terms regarding {{w|Japanese pitch accent|pitch accent}} pronunciation.", can_be_empty = true, parents = {{name = "{{{langcat}}}", raw = true}}, } labels["terms with Heiban pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[平板型|Heiban]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Atamadaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[頭高型|Atamadaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Nakadaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Odaka pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}}.", can_be_empty = true, parents = {"pitch accent"} } labels["terms with complex pitch accent (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) complex {{w|Japanese pitch accent|pitch accent}}, as in having more than one {{m|ja|アクセント句}}.", can_be_empty = true, parents = {"pitch accent"} } labels["pitch accent deaccenting before の"] = { description = "{{{langname}}} terms with {{w|Japanese pitch accent|pitch accent}} pronunciations that have exceptional deaccenting or lack thereof before の ({{ja-deaccenting-before-no}}).", can_be_empty = true, parents = {"pitch accent"} } labels["terms with Odaka pitch accent not deaccented before の (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[尾高型|Odaka]] {{w|Japanese pitch accent|pitch accent}} and do not become deaccented before の ({{ja-deaccenting-before-no}}).\n\nTerms are placed in this category using {{tl|ja-odaka-deaccent-exception}}.", can_be_empty = true, parents = {"pitch accent deaccenting before の"} } labels["terms with Nakadaka pitch accent deaccented before の (Tōkyō)"] = { description = "{{{langname}}} terms with pronunciations that are (Tōkyō) [[中高型|Nakadaka]] {{w|Japanese pitch accent|pitch accent}} and become deaccented before の ({{ja-deaccenting-before-no}}).\n\nTerms are placed in this category using {{tl|ja-nakadaka-deaccent}}.", can_be_empty = true, parents = {"pitch accent deaccenting before の"} } labels["Perkataan mengikut jenis bacaan kanji"] = { description = "{{{langname}}} categories with terms grouped with regard to the types of readings of the kanji with which " .. "they are spelled; broadly, those of Chinese origin, {{ja-r|音|おん}} readings, and those of non-Chinese origin, {{ja-r|訓|くん}} readings.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan dieja dengan ateji"] = { topright = "{{wp|Ateji}}", description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#ateji|ateji]] {{mdash}} {{ja-r|当て字|あてじ}} {{mdash}} which are [[kanji]] used to represent sounds rather than meanings (though meaning may have some influence on which kanji are chosen).", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan dieja dengan daiyōji"] = { description = "Japanese terms spelled using [[Appendix:Japanese glossary#daiyouji|daiyōji]], categorized using {{temp|ja-daiyouji}}.", parents = {"Perkataan mengikut etimologi"}, } labels["Perkataan dieja dengan jukujikun"] = { description = "{{{langname}}} terms containing one or more [[Appendix:Japanese glossary#jukujikun|jukujikun]] {{mdash}} {{ja-r|熟%字%訓|じゅく%じ%くん}} {{mdash}} which are [[kanji]] used to represent meanings rather than sounds.", parents = {{name = "{{{langcat}}}", raw = true}}, } local function add_grade_categories(grade, desc, wp, only_one, parent, sort) local grade_kanji = "Kanji " .. grade local topright = wp and ("{{wp|%s}}"):format(ucfirst(grade_kanji)) or nil labels[grade_kanji] = { topright = topright, description = "Kanji bahasa {{{langname}}} " .. desc, toc_template = "Hani-categoryTOC", parents = {{ name = parent and ("Kanji " .. parent) or "Kanji", sort = sort or grade }}, } labels["Perkataan dieja dengan " .. grade_kanji:lower()] = { topright = topright, description = "Perkataan bahasa {{{langname}}} yang dieja dengan " .. (only_one and "sekurang-kurangnya satu " or "") .. " aksara kanji " .. desc, parents = {{ name = parent and ("Perkataan dieja dengan kanji " .. parent) or "Perkataan mengikut sifat ortografi", sort = sort or grade }}, } end for i = 1, 6 do local ord = m_numeric.ones_position_ord[i] add_grade_categories( "gred " .. ord, "diajar dalam gred " .. ord .. " sekolah rendah, seperti yang ditetapkan oleh senarai rasmi {{ja-r|教%育 漢%字|きょう%いく かん%じ|sukatan pendidikan kanji}}.", false, false, "kyōiku", i ) end add_grade_categories( "kyōiku", "pada senarai rasmi {{ja-r|教%育 漢%字|きょう%いく かん%じ|sukatan pendidikan kanji}}.", true, false, "jōyō" ) add_grade_categories( "sekolah menengah", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}} yang secara umumnya diajar pada peringkat sekolah menengah.", false, false, "jōyō" ) add_grade_categories( "jōyō", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}.", true, false ) add_grade_categories( "tōyō", "pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}, yang digunakan pada sekitar tahun 1946{{ndash}}1981 sehingga penerbitan senarai {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara penggunaan biasa}}.", true, false ) add_grade_categories( "jinmeiyō", "pada senarai rasmi {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji untuk kegunaan nama peribadi}}.", true, true ) add_grade_categories( "hyōgai", "tidak termasuk pada senarai rasmi {{ja-r|常%用 漢%字|じょう%よう かん%じ|aksara kegunaan kerap}} atau {{ja-r|人%名%用 漢%字|じん%めい%-よう かん%じ|kanji untuk kegunaan nama peribadi}}, yang dikenali sebagai {{ja-r|表%外 漢%字|ひょう%がい かん%じ}} atau {{ja-r|表%外%字|ひょう%がい%じ|aksara tidak tersenarai}}.", true, true ) labels["Perkataan dengan berbilang bacaan"] = { description = "Perkataan bahasa {{{langname}}} dengan berbilang cara sebutan (maka juga sama dengan berbilang ejaan [[kana]]).", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Bacaan kanji mengikut bilangan mora"] = { description = "Kategori-kategori bahasa {{{langname}}} dikumpulkan berdasarkan bilangan mora dalam bacaan kanji.", parents = {{name = "{{{langcat}}}", raw = true}}, } labels["Perkataan kanji tunggal"] = { description = "Perkataan {{{langname}}} yang ditulis dengan kanji tunggal.", parents = { "Perkataan mengikut sifat ortografi", {name = "Perkataan dengan 1 aksara kanji", sort = " "}, }, } labels["kanji with kun readings missing okurigana designation"] = { breadcrumb = "Kanji missing okurigana designation", description = "{{{langname}}} kanji entries in which one or more kun readings entered into {{tl|{{{langcode}}}-readings}} is missing a hyphen denoting okurigana.", toc_template = "Hani-categoryTOC", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["Perkataan mengikut aksara individu dalam ejaan sejarah"] = { breadcrumb = "Bersejarah", description = "{{{langname}}} terms categorized by whether their spellings in the {{w|historical kana orthography}} included certain individual characters.", parents = {{name = "Perkataan mengikut aksara individu", sort = " "}}, } labels["Kata kerja tanpa ketransitifan"] = { description = "{{{langname}}} verbs missing the {{code|=tr=}} parameter from their headword templates.", hidden = true, can_be_empty = true, parents = {"Penyelenggaraan entri"}, } labels["Yojijukugo"] = { topright = "{{wp|Yojijukugo}}", description = "{{{langname}}} four-[[kanji]] compound terms, {{ja-r|四%字 熟%語|よ%じ じゅく%ご}}, with idiomatic meanings; typically derived from Classical Chinese, Buddhist scripture or traditional Japanese proverbs.", additional = "Compare Chinese {{w|chengyu}} and Korean {{w|sajaseong-eo}}.", umbrella = "peribahasa empat aksara", parents = {"Peribahasa"}, } -- FIXME: Only works for 0 through 19. local word_to_number = {} for k, v in pairs(m_numeric.ones_position) do word_to_number[v] = k end local periods = { lama = true, kuno = true, } local function get_period_text_and_reading_type_link(period, reading_type) if period and not periods[period] then return nil end local period_text = period and " " .. period or nil -- Allow periods (historical or ancient) by themselves; they will parse as reading types. if not period and periods[reading_type] then return nil, reading_type end local reading_type_link = "[[Lampiran:Glosari bahasa Jepun#" .. reading_type .. "|" .. reading_type .. "]]" return period_text, reading_type_link end local function get_sc(str) return match(str:gsub("[%s%p]+", ""), "[^" .. Hira:getCharacters() .. "]") and Jpan or Hira end local function get_tagged_reading(reading, lang) return tag_text(reading, lang, get_sc(reading)) end local function get_reading_link(reading, lang, period, link) local hist = periods[period] reading = reading:gsub("[%.%-%s]+", "") return full_link({ lang = lang, sc = get_sc(reading), term = link or reading:gsub("・", ""), -- If we have okurigana, demarcate furigana. alt = reading:gsub("^(.-)・", "<span style=\"border-top:1px solid;position:relative;padding:1px;\">%1<span style=\"position:absolute;top:0;bottom:67%%;right:0%%;border-right:1px solid;\"></span></span>"), tr = kana_to_romaji((reading:gsub("・", ".")), lang:getCode(), nil, {keep_dot = true, hist = hist}) :gsub("^(.-)%.", "<u>%1</u>"), pos = reading:find("・", 1, true) and get_tagged_reading((reading:gsub("^.-・", "~")), lang) or nil }, "term") end local function is_on_subtype(reading_type) return reading_type:find(".on$") end insert(handlers, function(data) local n =data.label:match("^Perkataan dengan ([1-9]%d*) aksara kanji$") if not n then return end local sortkey = require("Module:category tree").numeral_sortkey(n, 2097152) return { breadcrumb = n, description = ("Perkataan bahasa {{{langname}}} yang mengandungi tepat %d aksara kanji."):format(n), -- TODO: implement this using the same mechanism used to implement parents (i.e. avoiding the need for raw categories). -- umbrella = { -- breadcrumb = ("%d kanji"):format(n), -- parents = {{name = "terms by number of kanji subcategories by language", sort = sortkey}}, -- }, parents = {{name = ("Perkataan mengikut bilangan aksara kanji"), sort = sortkey}} } end) insert(handlers, function(data) local label_pref, kana = data.label:match("^(Perkataan yang mengikut sejarah dieja dengan )" .. kana_capture .. "$") if not kana then return end local lang = data.lang return { description = "Perkataan bahasa {{{langname}}} yang dieja dengan " .. get_reading_link(kana, lang, "bersejarah") .. " dalam {{w|ortografi kana sejarawi}}.", displaytitle = label_pref .. get_tagged_reading(kana, lang) .. " bahasa {{{langname}}}", breadcrumb = "sejarah", parents = { {name = "Perkataan dieja dengan " .. kana, sort = " "}, {name = "Perkataan mengikut aksara individu dalam ejaan sejarah", sort = lang:makeSortKey(kana)} }, umbrella = false, } end) insert(handlers, function(data) local count, plural = data.label:match("^Bacaan kanji dengan (.+) mora$") local num = word_to_number[count] if not num then return nil end return { description = "Bacaan kanji bahasa {{{langname}}} yang mengandungi " .. count .. " mora.", breadcrumb = num, parents = {{name = "Bacaan kanji mengikut bilangan mora", sort = num}}, umbrella = false, } end) insert(handlers, function(data) local label_pref, period, reading_type, reading = match(data.label, "^(Kanji dengan bacaan ([a-z]-) ?([%a']+) )" .. kana_capture .. "$") if not period then return end period = period ~= "" and period or nil local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type) if not reading_type_link then return end local lang = data.lang -- Compute parents. local parents, breadcrumb = {} if reading:find("・", 1, true) then local okurigana = reading:match("・(.*)") insert(parents, { name = "Kanji dengan bacaan" .. (period_text or "") .. " ".. reading_type .. " " .. reading:match("(.-)・"), -- Sort by okurigana, since all coordinate categories will have the same furigana. sort = (lang:makeSortKey(okurigana)) }) breadcrumb = "~" .. okurigana else insert(parents, { name = "Kanji mengikut bacaan" .. (period_text or "") .. " " .. reading_type, sort = (lang:makeSortKey(reading)) }) breadcrumb = reading end if is_on_subtype(reading_type) then insert(parents, {name = "Kanji dengan bacaan" .. (period_text or "") .. " on " .. reading, sort = reading_type}) elseif period_text then insert(parents, {name = "Kanji dengan bacaan" .. period_text .. " " .. reading, sort = reading_type}) end if not period_text then insert(parents, {name = "Kanji dibaca sebagai " .. reading, sort = reading_type}) end return { description = "Aksara [[kanji]] bahasa {{{langname}}} dengan bacaan " .. reading_type_link .. " " .. get_reading_link(reading, lang, period or reading_type) .. ".", displaytitle = "{{{langname}}} " .. label_pref .. get_tagged_reading(reading, lang), breadcrumb = get_tagged_reading(breadcrumb, lang), parents = parents, umbrella = false, } end) insert(handlers, function(data) local period, reading_type = match(data.label, "^Kanji mengikut bacaan ([a-z]-) ?([%a']+)$") if not period then return end period = period ~= "" and period or nil local period_text, reading_type_link = get_period_text_and_reading_type_link(period, reading_type) if not reading_type_link then return nil end -- Compute parents. local parents = { is_on_subtype(reading_type) and {name = "Kanji mengikut bacaan" .. (period_text or "") .. " on", sort = reading_type} or period_text and {name = "Kanji mengikut bacaan " .. reading_type, sort = period} or {name = "Kanji mengikut bacaan", sort = reading_type} } if period_text then insert(parents, {name = "Kanji mengikut bacaan" .. period_text, sort = reading_type}) end -- Compute description. local description = "[[kanji|Kanji]] bahasa {{{langname}}} dikategorikan mengikat bacaan " .. (period_text or "") .. reading_type_link .. "." return { description = description, breadcrumb = reading_type .. (period_text or ""), parents = parents, umbrella = false, } end) insert(handlers, function(data) local label_pref, reading = match(data.label, "^(Kanji dibaca sebagai )" .. kana_capture .. "$") if not reading then return end local args = require("Module:parameters").process(data.args, { ["histconsol"] = true, }) local lang = data.lang local parents, breadcrumb = {} if reading:find("・", 1, true) then local okurigana = reading:match("・(.*)") insert(parents, { name = "Kanji dibaca sebagai " .. reading:match("(.-)・"), -- Sort by okurigana, since all coordinate categories will have the same furigana. sort = (lang:makeSortKey(okurigana)) }) breadcrumb = "~" .. okurigana else insert(parents, { name = "Kanji mengikut bacaan", sort = (lang:makeSortKey(reading)) }) breadcrumb = reading end local addl local period_text if args.histconsol then period_text = "lama" addl = ("This is a [[Wikipedia:Historical kana orthography|historical]] [[Wikipedia:Kanazukai|reading]], now " .. "consolidated with the [[Wikipedia:Modern kana usage|modern reading]] of " .. get_reading_link(args.histconsol, lang, nil, ("Kategori:Kanji dibaca sebagai %s bahasa Jepun"):format(args.histconsol)) .. ".") end return { description = "[[kanji|Kanji]] bahasa {{{langname}}} dibaca sebagai " .. get_reading_link(reading, lang, period_text) .. ".", additional = addl, displaytitle = label_pref .. get_tagged_reading(reading, lang) .. " bahasa {{{langname}}}" , breadcrumb = get_tagged_reading(breadcrumb, lang), parents = parents, umbrella = false, }, true end) insert(handlers, function(data) local label_pref, reading = match(data.label, "^(Perkataan dieja dengan kanji dibaca sebagai )" .. kana_capture .. "$") if not reading then return end -- Compute parents. local lang = data.lang local sort_key = (lang:makeSortKey(reading)) local mora_count = require("Module:ja").count_morae(reading) local mora_count_words = m_numeric.spell_number(tostring(mora_count)) local parents = { {name = "Perkataan mengikut bacaan kanji", sort = sort_key}, {name = "Bacaan kanji dengan " .. mora_count_words .. " mora", sort = sort_key}, {name = "Kanji dibaca sebagai " .. reading, sort = " "}, } local tagged_reading = get_tagged_reading(reading, lang) return { description = "{{{langname}}} terms that contain kanji that exhibit a reading of " .. get_reading_link(reading, lang) .. " in those terms prior to any sound changes.", displaytitle = "{{{langname}}} " .. label_pref .. tagged_reading, breadcrumb = tagged_reading, parents = parents, umbrella = false, } end) insert(handlers, function(data) local kanji, reading = match(data.label, "^Perkataan dieja dengan (.) dibaca sebagai " .. kana_capture .. "$") if not kanji then return nil end local args = require("Module:parameters").process(data.args, { [1] = {list = true}, }) local lang = data.lang if #args[1] == 0 then error("Bagi kategori dalam bentuk \"" .. lang:getCanonicalName() .. " terms spelled with KANJI dibaca sebagai READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.") end local yomi_types, parents = {}, {} for _, yomi, category in ipairs(args[1]) do local yomi_data = yomi_data[yomi] if not yomi_data then error("Jenis yomi \"" .. yomi .. "\" tidak sah.") end category = yomi_data.kanji_category if not category then error("Jenis yomi \"" .. yomi .. "\" tidak sah bagi jenis kategori ini.") end insert(yomi_types, yomi_data.link) insert(parents, { name = "Perkataan dieja dengan kanji dengan bacaan " .. category, sort = (lang:makeSortKey(reading)) }) end insert(parents, 1, {name = "Perkataan dieja dengan " .. kanji, sort = (lang:makeSortKey(reading))}) insert(parents, 2, {name = "Perkataan dieja dengan kanji dibaca sebagai " .. reading, sort = Hani_sort(kanji)}) yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " .. require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) .. " reading" .. (#yomi_types > 1 and "s" or "") local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_reading = get_tagged_reading(reading, lang) return { description = "{{{langname}}} terms spelled with {{l|{{{langcode}}}|" .. kanji .. "}} with " .. yomi_types .. " of " .. get_reading_link(reading, lang) .. ".", displaytitle = "{{{langname}}} terms spelled with " .. tagged_kanji .. " dibaca sebagai " .. tagged_reading, breadcrumb = "dibaca sebagai " .. tagged_reading, parents = parents, umbrella = false, }, true end) insert(handlers, function(data) local affix, kanji, reading = data.label:match("^Perkataan dengan ([a-z]) (.+) dibaca sebagai " .. kana_capture .. "$") if not affix or not kanji or not reading then return nil end local args = require("Module:parameters").process(data.args, { [1] = {list = true}, }) local lang = data.lang if #args[1] == 0 then error("Bagi kategori dalam bentuk \"" .. lang:getCanonicalName() .. " perkataan dengan AFFIX KANJI dibaca sebagai READING\", at least one reading type (e.g. <code>kun</code> or <code>on</code>) must be specified using <code>1=</code>, <code>2=</code>, <code>3=</code>, etc.") end local yomi_types = {} for _, yomi, category in ipairs(args[1]) do local yomi_data = yomi_data[yomi] if not yomi_data then error("Jenis yomi \"" .. yomi .. "\" tidak sah.") end category = yomi_data.kanji_category if not category then error("Jenis yomi \"" .. yomi .. "\" tidak sah bagi jenis kategori ini.") end insert(yomi_types, yomi_data.link) end yomi_types = (#yomi_types > 1 and "one of " or "") .. "its " .. require("Module:table").serialCommaJoin(yomi_types, {conj = "or"}) .. " reading" .. (#yomi_types > 1 and "s" or "") local description = "{{{langname}}} terms " .. affix .. "ed with {{l|{{{langcode}}}|" .. kanji .. "}} with " .. yomi_types .. " of " .. get_reading_link(reading, lang) .. "." local ok, what_categorizes = pcall(require, "Module:category tree/fam/jpx/what-categorizes-msg") if ok and what_categorizes.get_what_categorizes_msg then local what_categorizes_msg = what_categorizes.get_what_categorizes_msg(kanji, reading, affix) if what_categorizes_msg then description = description .. "\n\n" .. what_categorizes_msg end end local parents = {} table.insert(parents, {name = "Perkataan dengan " .. affix .. " " .. kanji, sort = (lang:makeSortKey(reading))}) if mw.title.new("Kategori:Perkataan dieja dengan " .. kanji .. " dibaca sebagai " .. reading .. " bahasa " .. lang:getCanonicalName()).exists then table.insert(parents, {name = "Perkataan dieja dengan " .. kanji .. " dibaca sebagai " .. reading, sort = (lang:makeSortKey(reading)), args=data.args}) end local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_reading = get_tagged_reading(reading, lang) return { description = description, displaytitle = "{{{langname}}} terms " .. affix .. "ed with " .. tagged_kanji .. " dibaca sebagai " .. tagged_reading, breadcrumb = "dibaca sebagai " .. reading, parents = parents, umbrella = false, }, true end) insert(handlers, function(data) local kanji, daiyoji = match(data.label, "^Perkataan dengan (.) digantikan oleh daiyōji (.)$") if not kanji then return nil end local args = require("Module:parameters").process(data.args, { ["sort"] = true, }) local lang = data.lang if not args.sort then error("For categories of the form \"" .. lang:getCanonicalName() .. " terms with KANJI replaced by daiyōji DAIYOJI\", the sort key must be specified using sort=") end local tagged_kanji = get_tagged_reading(kanji, lang) local tagged_daiyoji = get_tagged_reading(daiyoji, lang) return { description = "{{{langname}}} terms with {{l|{{{langcode}}}|" .. kanji .. "}} replaced by [[Appendix:Japanese glossary#daiyouji|daiyōji]] {{l|{{{langcode}}}|" .. daiyoji .. "}}.", displaytitle = "{{{langname}}} terms with " .. tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji, breadcrumb = tagged_kanji .. " replaced by daiyōji " .. tagged_daiyoji, parents = {{name = "Perkataan dieja dengan daiyōji", sort = args.sort}}, umbrella = false, }, true end) return {LABELS = labels, HANDLERS = handlers} 3pf46mymnl7rvosl7uej3qsgorh94nu Modul:category tree/fam/zhx 828 57727 342748 247474 2026-05-16T04:09:16Z Hakimi97 2668 Hakimi97 telah memindahkan laman [[Modul:category tree/lang/zhx]] ke [[Modul:category tree/fam/zhx]] 247474 Scribunto text/plain local labels = {} local handlers = {} labels["Hanzi"] = { topright = "{{wp|Aksara Cina}}", description = "{{{langname}}} symbols of the Han logographic script, which can represent sounds or convey meanings directly.", umbrella = "Aksara Han", parents = "Logogram", } labels["Chengyu"] = { topright = "{{wp|Chengyu}}", description = "{{{langname}}} traditional idiomatic expressions, usually consisting of four [[hanzi]]; typically derived from [[Classical Chinese]].", additional = "Compare Japanese {{w|yojijukugo}} and Korean {{w|sajaseong-eo}}.", umbrella = "four-character idioms", parents = "Peribahasa", } for _, source in ipairs { "Mencius", "the Analects", "the Book of Documents", "the Book of Rites", "the Classic of Poetry", "the Han Feizi", "the I Ching", "the Zhuangzi", "the Zuo Zhuan", } do local book = source:match("^the (.*)$") local sort_key = book or source local italicized = book and "the ''" .. book .. "''" or source labels["terms derived from " .. source] = { displaytitle = book and "{{{langname}}} terms derived from " .. italicized or nil, parents = {{name = "terms attributed to a specific source", sort = sort_key}}, description = "{{{langname}}} terms derived from " .. italicized .. ".", breadcrumb = italicized, } labels["chengyu derived from " .. source] = { displaytitle = book and "{{{langname}}} chengyu derived from " .. italicized or nil, parents = {{name = "chengyu", sort = sort_key}, "terms derived from " .. source}, description = "{{{langname}}} chengyu ([[chengyu]]) derived from " .. italicized .. ".", breadcrumb = "derived from " .. italicized, } end return {LABELS = labels, HANDLERS = handlers} i5uq139ci5ilsd259tljagktez7y3w6 مالو 0 58114 342038 185392 2026-05-15T13:59:06Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342038 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # malu fsvm2931bl7mcogifl6ko3bn8jrntfx ما س 0 58115 342032 185393 2026-05-15T13:58:52Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342032 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # masa pjwrayhjude081a4xk4tjuhrogn4org کسليساءن 0 58116 342253 185394 2026-05-15T14:06:22Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342253 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # keselesaan 1dl19pujk8wmnu4tl8yq4dzoap8s1ld لمبت 0 58117 342020 185395 2026-05-15T13:58:26Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata Adverba==== → ===Kata Adverba=== menggunakan [[Project:AWB|AWB]] 342020 wikitext text/x-wiki ==Bahasa Melayu== ===Kata Adverba=== {{inti|ms|kata nama}} # لمبت slac5q0ptvryraic51leiglu8kwcqxl چينچين 0 58118 342147 185396 2026-05-15T14:02:46Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342147 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # cincin 9334sfcxlifne4px894gdt3cktb0vn2 کتاوا 0 58119 342241 185398 2026-05-15T14:05:58Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342241 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[ketawa]] gcmv9uxip1gc8lza5ryd3cpni2lcoy1 راج 0 58120 341938 185618 2026-05-15T13:55:43Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341938 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|raja}} rw3jwm0ghe48p3zc9crqvs6upp9cs69 مانيس 0 58122 342040 185401 2026-05-15T13:59:10Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342040 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # manis g5ykyw0drgfhdc5y3hspm209c4ldab2 ڤکن 0 58123 342232 185402 2026-05-15T14:05:40Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342232 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # ڤکن 2ueizfpn2f4vkrx18ikw47wl8tnrinp ماسين 0 58125 342037 185404 2026-05-15T13:59:03Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342037 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # masin ao1necc6jck9jx4kmv6084x3abcdqbk دودوق 0 58126 341928 185405 2026-05-15T13:55:22Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 341928 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[duduk]] 5lw15w81sgutayzf2ay953nrkg2xzlk لمه 0 58128 342021 185407 2026-05-15T13:58:28Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342021 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # لمه kg431q8x5mzu4b9ck5g5kbnxjhbt3kc ڤرݢولقن 0 58129 342182 185408 2026-05-15T14:03:58Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342182 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # pergolakan gyy3dy1fpzl2623gkrkjoi589iniudt ڤاهيت 0 58130 342156 185409 2026-05-15T14:03:04Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342156 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # pahit mbhfdna0z4u4o8fiu0nn72g5e5vpwv1 هيدوڤ 0 58131 342133 185410 2026-05-15T14:02:18Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342133 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[hidup]] 4ehnx03bdtxw21c6p9fe354uy9d8gbw مڽيمڤن 0 58132 342114 185411 2026-05-15T14:01:39Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342114 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # Menyimpan 8fwhngmz4oawufytxsg0dzicc58go2l ڤدس 0 58133 342159 185412 2026-05-15T14:03:10Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342159 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # pedas 93kbaj39ka60qqf75p55itfd1jheuq4 مليهت 0 58134 342054 185413 2026-05-15T13:59:44Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342054 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # Melihat 23ff8cg6lh2kpu2a2g5gcyzzqwzafse ماتي 0 58135 342035 185414 2026-05-15T13:58:58Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342035 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[mati]] jc4o13oayu3hrshhpbatvkaqei945fa ݢرق 0 58136 342291 202090 2026-05-15T14:07:38Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342291 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # {{ms-jawi|gerak}} ===Bacaan lanjut=== * {{R:PRPM}} 7idd09n13u9kknvnxa0jgndxl4l9u3y مان 0 58138 342039 185417 2026-05-15T13:59:08Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342039 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # مان hwogmrh18c527028fu07wyfmg7ht11o ماءوڠ 0 58140 342034 185419 2026-05-15T13:58:56Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342034 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # maung s7fx46c0aiyi2nts30r3z2wopbtrgqg ملابور 0 58141 342051 185420 2026-05-15T13:59:36Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342051 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[melabur]] cb72z13ca6sxhwwcxyb7fxv00471ko5 واجه 0 58142 342134 185421 2026-05-15T14:02:20Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342134 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # واجه enwqye391athtaxvi30q0izwlt4ex78 مڽرتاءي 0 58143 342109 185423 2026-05-15T14:01:29Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342109 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # Menyertai fustiovrnhy3qsp5i09244oq4c0fie2 کمس 0 58144 342261 185424 2026-05-15T14:06:38Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342261 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # kemas 4bgxdlahkml7eg3ta14s860sgsm4hu2 ڤروسيديڠ 0 58145 342172 185425 2026-05-15T14:03:38Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342172 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # prosiding qpz1d10c4gts0eh15xsllgcz0x08bp7 مڠڤيت 0 58148 342104 185428 2026-05-15T14:01:19Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342104 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # Mengepit 6sxl22q7b0ahe1sgkbwkioes86zy6cr سمبرونو 0 58150 341973 185430 2026-05-15T13:56:54Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 341973 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # sembrono kqaxb5aotrkyq0c7s9f17m0awqpgmbu ݢاسيغ 0 58151 342288 185431 2026-05-15T14:07:34Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342288 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # ݢاسيغ ktskbfk3jqlhf4w1psmmmmiypu2kx8v موک 0 58154 342091 185434 2026-05-15T14:00:55Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342091 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # muka czs1dym2mixenaoppsz80e4lk4gg2p8 چاري 0 58155 342142 185435 2026-05-15T14:02:36Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342142 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[cari]] j4cm36y1v9ues2ok38x69zlymrcifr5 چڤت 0 58157 342149 185437 2026-05-15T14:02:50Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342149 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[cepat]] scfwy2zkooirzayd7n5ysv71z83llxf مڠهولورکن 0 58159 342100 185441 2026-05-15T14:01:13Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342100 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # Menghulurkan cyz0hnn6g1ffs0vmrog1ayotnkqzkh6 کاموس 0 58160 342237 185442 2026-05-15T14:05:50Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342237 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # کاموس krxopu4ki30fbxka7mloon1xhol4c2z کولتوس 0 58161 342270 185443 2026-05-15T14:06:57Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342270 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # kultus qm87m9dg409g2tfi1umbesmehmmveso کنل 0 58162 342263 185444 2026-05-15T14:06:42Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342263 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # kenal ddf9hu6xdzsojiv3kbtkz2vjfjplqjd ڤادت 0 58163 342152 185445 2026-05-15T14:02:56Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata Adjektif==== → ===Kata Adjektif===, Kata Adjektif → kata sifat, =kata sifat= menggunakan [[Project:AWB|AWB]] 342152 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata nama}} # ڤادت dovvn7f3h8pzc435cnvb5tdt8kfft9g مندالم 0 58164 342076 185446 2026-05-15T14:00:25Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342076 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[mendalam]] 82t4a225vmfqwt95jsgfdv9zqmpaobz ککورڠن 0 58165 342277 185447 2026-05-15T14:07:11Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342277 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[kekurangan]] 0gdttxfhftixswt348dg2oogsc549y7 مڽقسيکن 0 58166 342111 185448 2026-05-15T14:01:33Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342111 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # Menyaksikan bnh8tmcb9tmzcjaztylcnocik3pcfib سوده 0 58167 341982 185449 2026-05-15T13:57:08Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 341982 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # sudah gh0dutxppvad1pa69w1axkw7tvoxwof ماءنسياوي 0 58168 342033 185450 2026-05-15T13:58:54Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342033 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # manusiawi nna0gs4z6gt9c5be6yl29sdxaenl7ez کورڠ 0 58169 342268 185451 2026-05-15T14:06:52Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342268 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[kurang]] qlbux626jbj2inb5iy5bv57qx5cqdl5 رسه 0 58170 341943 185454 2026-05-15T13:55:53Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata Adjektif==== → ===Kata Adjektif===, Kata Adjektif → kata sifat, =kata sifat= menggunakan [[Project:AWB|AWB]] 341943 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata nama}} # resah qlwo181tlhp201dlmnsq314lcant92m کسن 0 58173 342254 185456 2026-05-15T14:06:24Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342254 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # kesan q325ddjoovjdqe65hbsltxbvi0d0xhw ساتو ڤڤر ساتو 0 58175 341955 185458 2026-05-15T13:56:18Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341955 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # satu per satu isnm9zctl5e8v13g4dzdav5yinwny2a مرانچڠ 0 58176 342044 185459 2026-05-15T13:59:18Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342044 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # Merancang j0vldsel637d13m0rxjbklh6m5qx8oi ݢڠݢوان 0 58177 342297 185460 2026-05-15T14:07:51Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342297 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[gangguan]] bq9hkfoq45ky1ftcp1o987n5ufemfmk کباکرن 0 58179 342240 185462 2026-05-15T14:05:56Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342240 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[kebakaran]] ta1ft28o2gbvo6dsrgyz2a9azr3ubsa ڠنتيق 0 58180 342151 185463 2026-05-15T14:02:54Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342151 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # cantik pjr823ldenc51v1rcz32s4fkfdhmkaj ممڤرتاهنکن 0 58182 342071 185465 2026-05-15T14:00:15Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342071 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # Mempertahankan lrqt0q6gd2wpfcxotx7jg7i8l88ziai سکلي ݢوس 0 58183 341996 185466 2026-05-15T13:57:40Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341996 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # sekali gus ja2kh0bl7ggbslub6uonx3iq678fg6z هودوه 0 58184 342131 185467 2026-05-15T14:02:14Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342131 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # hodoh l43922is8w9xa67vay1yv4mx9lp9fyz رعيت 0 58185 341944 185468 2026-05-15T13:55:55Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341944 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[rakyat]] hlubdr9k54ettfl3f9z1p2m2cbmi3s7 سماڠت 0 58186 341972 185469 2026-05-15T13:56:52Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341972 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # semangat سماڠت nf1tu6afaz2budxom5rr37kf5iz8v7y کونفليک 0 58187 342274 185470 2026-05-15T14:07:05Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342274 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # konflik 861uvo9ba7b0lqt75m5ycyb26024awe سمڠك 0 58188 341977 185471 2026-05-15T13:57:00Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341977 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # semangka سمڠك egjlu9mcbclthyphk0ru1kkjxaxst74 دکت 0 58189 341933 185472 2026-05-15T13:55:33Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 341933 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # dekat mgec602kiuktw87ymbyrk23x1l4su30 جاءوه 0 58190 341893 185474 2026-05-15T13:54:07Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 341893 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # jauh 74jklwji62st3y38jkfsg6394e7qar7 ڤنربڠن 0 58191 342206 185475 2026-05-15T14:04:46Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342206 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # penerbangan 1abbckn19gzdy3x2gqdjt44s28guic7 ورتاون 0 58193 342137 185477 2026-05-15T14:02:26Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342137 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # wartawan cyxvx63jbrbc3at6gg1jxn6zwb1aqm5 سليسا 0 58194 341969 185478 2026-05-15T13:56:46Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 341969 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # selesa gac6qh8qjt1s2o9lsoga97rnjfiv9ia لاکر 0 58195 342015 185479 2026-05-15T13:58:16Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342015 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata nama}} # لاکر lakar fd4w2y8t6vegl2ikafvmxks0in9iu0b کتيک 0 58196 342244 185480 2026-05-15T14:06:04Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342244 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # ketika r2oz3y3pqz71rjipubtd3d6ahnals2h ديموکراسي 0 58197 341930 185482 2026-05-15T13:55:26Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341930 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[demokrasi]] dn8b5c8n2qpeei4auqwm01lo069xag7 ممڤڠاروهي 0 58198 342073 185483 2026-05-15T14:00:19Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342073 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata kerja}} # mempengaruhi 6kyjn3iuvnkv8m3z4d6t9qcpe0e0sgc سيڠکت 0 58199 341993 185484 2026-05-15T13:57:33Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 341993 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # singkat fsxf89hwbyzlur1215zattqclab45xs ڤيليهن 0 58200 342213 185485 2026-05-15T14:05:02Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342213 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[pilihan]] npv831vsupre35bmv7skefjepq8168n ديوان 0 58204 341931 185489 2026-05-15T13:55:28Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341931 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[dewan]] l7yd6mb3h6siv010vtvpck6ffry0vg1 مليريت 0 58205 342053 185490 2026-05-15T13:59:42Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342053 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # meleret iepkix9w0wa3sal6ar5qu3rye8le5a5 ديڤلوماتيک 0 58206 341932 185491 2026-05-15T13:55:30Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama===, kata adjektif → kata sifat menggunakan [[Project:AWB|AWB]] 341932 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata sifat}} # diplomatik b3pxhqifxom38jbiti4rlb4hi2ehj2x هلامن 0 58207 342128 185492 2026-05-15T14:02:08Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342128 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[halaman]] hityc3nfir357c7iuxpwn99cuirslnj مڽيمڤولکن 0 58208 342115 185493 2026-05-15T14:01:41Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342115 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # Menyimpulkan fnj4fabbqw2gw9vwn9wutf2t9wiuruv ليسن 0 58211 342029 185496 2026-05-15T13:58:44Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342029 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # lisan 1myewcrcblxhjcg6wstvapv75dipwrb لوت 0 58213 342026 185498 2026-05-15T13:58:38Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342026 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # لوت {{ms-jawi|lewat}} lh26uorsf7qzpghph5wghxhyi5co86b مڠوݢوت 0 58215 342101 185500 2026-05-15T14:01:15Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342101 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata kerja}} # mengugut 7mfh645usy60uzvaoclkgywmkxf2baz ݢدوڠ 0 58216 342290 185501 2026-05-15T14:07:36Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342290 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[gedung]] pw80630l64nyufpgbri6mw2549m216v لاوت 0 58217 342012 185556 2026-05-15T13:58:10Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342012 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata nama}} # {{ms-jawi|lawat}} 1hkvhrsrbg8a6rmwko05vibwopzct70 موزيوم 0 58220 342089 185505 2026-05-15T14:00:51Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342089 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[muzium]] pf5ghg55qi10bm6mmrdsvkgt2gkntr9 کنڠ 0 58221 342266 185507 2026-05-15T14:06:48Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342266 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # kenang ckmx3288fi30s8lrvgqt5xubfustu99 کريتا 0 58222 342250 185508 2026-05-15T14:06:16Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342250 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[kereta]] 7wip89sx9rhz6ggbnglz5zo00ipxy27 صلةالرهمي 0 58223 342000 185509 2026-05-15T13:57:48Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342000 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # silaturahmi a6576z5tkjduihzv5ysxdcgla69c2fp کرباو 0 58224 342246 185510 2026-05-15T14:06:08Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342246 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[kerbau]] jl9xx40c0enruq1sohxli84pjubka5q ڤسن 0 58225 342184 185511 2026-05-15T14:04:02Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342184 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata nama}} # ڤسن {{ms-jawi|pesan}} jo5t1gil93j9qzhkhk11udx4006ty4i کنيڠ 0 58226 342264 185512 2026-05-15T14:06:44Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342264 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # kening lskhj5do2wtcl0k5c7c71leiyanqw4l ڤسچنيلاي 0 58227 342185 185513 2026-05-15T14:04:04Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342185 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # pascanilai 8k5vugttpy6fzn30ru4w3f69bu00r88 لندق 0 58229 342025 185515 2026-05-15T13:58:36Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342025 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # landak sl75vj4qewwv3orbvochjtdczfrwnpt مودا 0 58230 342084 185516 2026-05-15T14:00:42Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342084 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[muda]] p6hvfsdioqq0oyfc74ziixbldbohbic چوڤيڠ 0 58231 342146 185517 2026-05-15T14:02:44Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342146 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # cuping ioqw9k74oqreytrjetqys680en1vnyy ناسيونل 0 58235 342117 185521 2026-05-15T14:01:46Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342117 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} nasional a278y41wzurtzqfdu1mgkrazd2kpu19 کتورونن 0 58237 342243 185524 2026-05-15T14:06:02Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342243 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[keturunan]] eyi2zycy5voapendujha5gahnmvfxwm ريرواي 0 58238 341948 185526 2026-05-15T13:56:04Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341948 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # reruai 19in67kjjgjp0vcu92hx3ikrqoiax47 ممڤرکنلکن 0 58239 342072 185527 2026-05-15T14:00:17Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342072 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata kerja}} # memperkenalkan aukw1mj0wbakygdsrbshbao6weyg6is ڤروجيک 0 58240 342171 185528 2026-05-15T14:03:36Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342171 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[projek]] i9jqmmqulnx1v3gk5xl07rmdvcrwfcp ڤڠالمن 0 58241 342217 185529 2026-05-15T14:05:10Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342217 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[pengalaman]] 79a97s7c6yc5qw6njax9cqkw0ni47mg ڤرنياݢاءن 0 58243 342169 185666 2026-05-15T14:03:30Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342169 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[perniagaan]] k74rdbjk8j3an0aczongstzhm4fuh0t کافي سيبير 0 58244 342236 185532 2026-05-15T14:05:48Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342236 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # kafe siber 9c7w8baa48pq4ludjvpeedz2zwqiz1m ڤکرجان 0 58245 342231 185533 2026-05-15T14:05:38Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342231 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # pekerjaan rqtoa7wdl399yj4chahu7xhrj6cq4zt کراجاءن 0 58247 342245 185535 2026-05-15T14:06:06Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342245 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[kerajaan]] qy7yg2of06vv0r6eauhvfyj74qob99j سليويڠ 0 58249 341970 185537 2026-05-15T13:56:48Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341970 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata kerja}} # seleweng pbdz8paa37esb9v5mqvjozrk8lthkpd نݢري 0 58250 342122 185538 2026-05-15T14:01:56Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342122 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[negeri]] 7hknsrr0jhnyaxczwo9jrmverrw7c82 داءيره 0 58251 341917 185539 2026-05-15T13:54:55Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341917 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[daerah]] kpevbcq9bt8ghswn1z832z87ibl1b47 ولايه 0 58252 342139 185540 2026-05-15T14:02:30Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342139 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[wilayah]] gupuynzw0wytgyy8rlnavb1j29van7b رومڤون 0 58253 341946 185541 2026-05-15T13:55:59Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341946 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # rumpun 82mfbbsv6z3skr2u3kz8jkhyx1p6y0v حاصيل 0 58255 341913 185543 2026-05-15T13:54:47Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341913 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[hasil]] snf5svd33w1gyalww62i4aqqtk9jkbp ڤنداڤتن 0 58256 342204 185544 2026-05-15T14:04:42Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342204 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[pendapatan]] rvgpa304n9zwt9utn5tclsoi6s853vm منمني 0 58257 342080 185545 2026-05-15T14:00:33Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342080 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata nama}} # منمني {{ms-jawi|menemani}} hoqpmnrt7gv418ty5fm1cvlgint23wj کليلي 0 58258 342258 185546 2026-05-15T14:06:32Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342258 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # kelili 2qf7mo66nw19wrmlkju2fd4pxm15nuy جومله 0 58259 341911 185547 2026-05-15T13:54:39Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341911 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[jumlah]] 0fva4h7gc6zmjrnv0o27n1x7x148uz5 کوسوت 0 58260 342269 185548 2026-05-15T14:06:55Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342269 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # kusut 9geflh6q9cgz5gx7day1kz9kswjgpe2 ڬاسيڠ 0 58261 342281 185549 2026-05-15T14:07:19Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342281 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # ڬاسيڠ 28i1bmyeji7zr5ztfluk4gciuy8m6ai کروسقن 0 58262 342248 185550 2026-05-15T14:06:12Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342248 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[kerosakan]] 1u49smz84aivauvzfr3maytatl2y4zt ممباوا 0 58263 342058 185551 2026-05-15T13:59:52Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342058 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[membawa]] lxn40s9a23jm0i5g4w73ijkji1n0czj مڠڠکوت 0 58264 342103 185552 2026-05-15T14:01:17Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342103 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[mengangkut]] 8vgxshre1pq6ojk8saeomjmjvgp6ayd ڤڠهالا 0 58265 342224 185553 2026-05-15T14:05:24Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342224 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # penghala 99xs0ibol0k2t1nlx8i07qguc5o6oap مسين 0 58312 342048 185615 2026-05-15T13:59:25Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342048 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|mesin}} crorkfs13fbh7jsyw5fgm7l6ptymwmk ڬاي 0 58313 342282 185616 2026-05-15T14:07:22Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342282 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|gaya}} psi32r50i4l54bznh8ry2shdap5j40c هاروم 0 58314 342125 185617 2026-05-15T14:02:02Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342125 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|harum}} 4hodn9owhdysqxvy4zp388zi7z4xz75 لاكر 0 58315 342008 185619 2026-05-15T13:58:02Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342008 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata nama}} # {{ms-jawi|lakar}} 5c6d1qfvouwrv6gky914eq16o4apniy منچاري 0 58319 342082 185623 2026-05-15T14:00:37Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342082 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|mencari}} ig3du2b929yzoenv1vzbl151txlmvdb منداڤت 0 58321 342077 185625 2026-05-15T14:00:27Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342077 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|mendapat}} 2uik7wg5ne0fb22po5afegl9whrvtdc ڬاري 0 58323 342280 185630 2026-05-15T14:07:17Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342280 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # {{ms-jawi|gari}} 0t8ybf43efyg4irndxprh53qj5hcg3w ڠري 0 58325 342150 185631 2026-05-15T14:02:52Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342150 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|ngeri}} 7pdie0xkh4q8kac0o1v4rtj208c4yjq صحابت 0 58326 341999 185632 2026-05-15T13:57:46Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341999 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|sahabat}} 0afi3t5wwzn64nxsu73954udz36r9sr سنيمن 0 58338 341978 185646 2026-05-15T13:57:02Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341978 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[seniman]] o6s8r3q6en7d7wz4l930uw8tlkl3gze سنيواتي 0 58339 341979 185647 2026-05-15T13:57:04Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341979 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[seniwati]] sthx9fr7cdd7jly2joo0xs0n918dy9p جورواءوديت 0 58344 341902 185652 2026-05-15T13:54:23Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341902 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[juruaudit]] 22bi0t2ntzsza6tclie5aahwckwfnif جوروهيبه 0 58345 341907 185653 2026-05-15T13:54:33Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341907 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[juruhebah]] 49o5te4xef7azam4ycsdn9udvdzybvh ڤلوکيس 0 58348 342189 185656 2026-05-15T14:04:12Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342189 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[pelukis]] lpq2z8fgqsj8ikcuxqxqqi4ci99dbf6 ڤنجاݢا 0 58350 342200 185658 2026-05-15T14:04:34Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342200 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[penjaga]] kn2tsc7r9m78q9bgkmingvjdq4pzi5q ڤمبوات 0 58351 342193 185659 2026-05-15T14:04:20Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342193 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[pembuat]] cf587oivitr8rfyqtldf7vu2or5a5z5 روتي 0 58352 341945 185660 2026-05-15T13:55:57Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341945 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[roti]] 4zb884nug2dhlipk4ykk9h98vbh5y42 ݢونتيڠ 0 58354 342295 185662 2026-05-15T14:07:47Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342295 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[gunting]] 8nkc4trv5djjxx10pwlbrrha8vpyvyb جوروسوليق 0 58355 341905 185663 2026-05-15T13:54:29Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341905 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[jurusolek]] hlxxtixzaui55vy5c1o1daidtekld6j ڤندايوڠ 0 58357 342203 185665 2026-05-15T14:04:40Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342203 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[pendayung]] k8dx2c8ijer8fc0e26tk5g261mn2jno ڤنجوال 0 58358 342201 185667 2026-05-15T14:04:36Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342201 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[penjual]] sqoivd2w9lu40btogfm809iaeki3rah داݢيڠ 0 58359 341922 185668 2026-05-15T13:55:10Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341922 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[daging]] 5cf0c7otje480xm34nxtkr2ee4thgid کايو 0 58360 342239 185669 2026-05-15T14:05:54Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342239 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[kayu]] b09qhere64kq4c3m0ey9xyzho454f2y جوروکاميرا 0 58361 341909 185670 2026-05-15T13:54:37Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341909 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[jurukamera]] 1q6qjt46g33aa5q4gxblg1pbvalvgim جوروواڠ 0 58362 341908 185671 2026-05-15T13:54:35Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341908 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[juruwang]] ntfp0t1rhnncbhxblwfssbywd5de79k چوچي 0 58363 342145 185672 2026-05-15T14:02:42Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342145 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[cuci]] i1h5qhrjrf22k0cay404iodramh7ng9 فيشن 0 58364 342004 185673 2026-05-15T13:57:54Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342004 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[fesyen]] 3r6xnf05ynls3q46dwpg7np88k28uvw کݢمرن 0 58365 342279 185674 2026-05-15T14:07:15Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342279 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[kegemaran]] 7b89zhdmf7djrypsorqjie23cossyhj ڤڠاره 0 58366 342216 185675 2026-05-15T14:05:08Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342216 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[pengarah]] 6n0r1um9x84ix6vqorwz61ndyj9e2bx موديل 0 58368 342086 185677 2026-05-15T14:00:46Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342086 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[model]] 3vbxzqswcwfa0uol2g8x9y6ku5kgpgs ڤݢاواي 0 58369 342233 185678 2026-05-15T14:05:42Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342233 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[pegawai]] 6ug4cnctziaz8wr4apm1x5ttg29dyf9 کستم 0 58370 342252 185679 2026-05-15T14:06:20Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342252 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[kastam]] 9356wxg3e1pc38ja770efxlneatzwlr ڤريک 0 58371 342177 185680 2026-05-15T14:03:48Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342177 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[pereka]] fsfw8f32bz3bu2nmcg9qrdllufl17nr ڤناري 0 58372 342196 185681 2026-05-15T14:04:26Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342196 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[penari]] 85zhre1rjlagnctiks1ngw5uiz2pl3k نلاين 0 58373 342119 185682 2026-05-15T14:01:50Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342119 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[nelayan]] 0nqhmzqtfgwzryaqqkn6vboae7jr239 جوروترا 0 58374 341903 185686 2026-05-15T13:54:25Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341903 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[jurutera]] korqkjger9atrh192vzo4htg4o63h26 جوروسلم 0 58375 341904 185687 2026-05-15T13:54:27Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341904 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[juruselam]] c2tfzqb2ajxvssq6kfwaabmmj82y0zr کاءونتر 0 58389 342234 185707 2026-05-15T14:05:44Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342234 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[kaunter]] 1laeze75gbsywh9zrdw04vwnvjghz4y ڤيل 0 58390 342212 185708 2026-05-15T14:05:00Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342212 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[pil]] 7oqjatz3st57jrnyje6v6aw8hae416e ڤريسکريڤسي 0 58391 342174 185709 2026-05-15T14:03:42Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342174 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[preskripsi]] 6v5997lk1s1kskbxxepqhqekomilms7 راوتن 0 58392 341940 185710 2026-05-15T13:55:47Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 341940 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[rawatan]] q0r7k3b3ofgsi82kv4eusbdexmfu630 لمڤين 0 58393 342023 185711 2026-05-15T13:58:32Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342023 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[lampin]] 6uxrc8gg1z3vvju9gdzxyr1richv2ij ستيتوسکوڤ 0 58396 341964 185714 2026-05-15T13:56:35Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341964 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[stetoskop]] tt6g8yg6r7s9l2uxlal7qrqkszgzqhr ڤلستر 0 58397 342188 185715 2026-05-15T14:04:10Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342188 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[plaster]] itrckp71kbzxtgz7jyielgyrao1vfln لاروتن 0 58398 342007 185716 2026-05-15T13:58:00Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342007 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[larutan]] agb3aob52yi16om1xf7elzt4ydv3a5j ڤڠوسوڠ 0 58399 342226 185717 2026-05-15T14:05:28Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342226 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[pengusung]] eg52jt7a5zpg5pv84zuoajb1c4zmk4g ججنتس 0 58401 341898 185719 2026-05-15T13:54:15Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341898 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[jejantas]] t29kmh2f6qn6yhibhaaz41tes1kfckm سيمين 0 58442 341992 185764 2026-05-15T13:57:30Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341992 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[simen]] 3aqjfsk7wjzkafz76ho9mp5l9ctz1fe ڤنيڠ 0 58444 342207 185766 2026-05-15T14:04:48Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342207 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[pening]] rv2kmue7iedy82ea1e12ddh2jmoc60i کڤالا 0 58445 342276 185767 2026-05-15T14:07:09Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342276 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[kepala]] pvss3f2p2xfddq7ajirrx6eettjbv3o ساون 0 58447 341959 185769 2026-05-15T13:56:24Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341959 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[sawan]] roqaog78vjvp6lvsfs797opco1xja3k چيچق 0 58455 342148 185777 2026-05-15T14:02:48Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342148 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[cicak]] ekh635lar2kwalop1yx119kqayula8w ريڤتيليا 0 58456 341952 185778 2026-05-15T13:56:12Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341952 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[reptilia]] lc4rmpfkz6y0wh1bgn6grp4yg6iaht2 ڤنجڠ 0 58457 342202 185779 2026-05-15T14:04:38Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342202 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[panjang]] 6235lvbof1x5lpsszvh6ludmsidiql4 ڤينديق 0 58460 342214 185782 2026-05-15T14:05:04Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342214 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[pendek]] mb7g4zhqu1bx605h0ujmd25z28lw1dk ريڠکس 0 58462 341951 185784 2026-05-15T13:56:10Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 341951 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[ringkas]] ls1g826mkbwkejg4duec08ph849weup تݢس 0 58466 341892 185788 2026-05-15T13:54:05Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 341892 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[tegas]] rj04l72buf1xdi8zaf7q99jycngx73c کومڤولن 0 58518 342273 185873 2026-05-15T14:07:03Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342273 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[kumpulan]] if34l1a0aonuylw0vd3vtoz1kezv0hd کلومڤوق 0 58519 342257 185874 2026-05-15T14:06:30Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342257 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[kelompok]] ornkrrrjl00hfgpoe0w3xsb339ilpib کتوا 0 58522 342242 185877 2026-05-15T14:06:00Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342242 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[ketua]] 7blwu4tykdajk68jgo9mtzay2t4gnne جوروماسق 0 58523 341906 185878 2026-05-15T13:54:31Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341906 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[jurumasak]] 0v2jg8hhh6sxz046gqyw1sf21htwdnc منواڠ 0 58525 342081 185880 2026-05-15T14:00:35Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342081 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[menuang]] o0ah5qsikise2ee251ej02y6u0zlqi1 ملبور 0 58526 342052 185881 2026-05-15T13:59:39Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342052 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[melebur]] imi5m95ecfmx82hipbc3om91sok42su ڤرومهن 0 58529 342173 185885 2026-05-15T14:03:40Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342173 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[perumahan]] 3tog1imfpl5dwgbdbhuegb6sp394b6e کامڤوڠ 0 58530 342238 185886 2026-05-15T14:05:52Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342238 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[kampung]] dn2dtjc611h3i8tgl33bokmq0izhorj ڤراموݢاري 0 58532 342162 185888 2026-05-15T14:03:16Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342162 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[pramugari]] 1a9ijy6xe1fn9j8tqyww9mn5ul0lpff ڤراموݢارا 0 58533 342161 185889 2026-05-15T14:03:14Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342161 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[pramugara]] 9qt0w06n5lm1n1zs4gfpad8liqduxnv ڤلاين 0 58534 342186 185890 2026-05-15T14:04:06Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342186 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[pelayan]] pjfuzc6tlpc6xk711knw87yzozh84v6 سکوله 0 58535 341997 185891 2026-05-15T13:57:42Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341997 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[sekolah]] 39tmzphybt7qx4i7cn620ck90nxunj3 موريد 0 58536 342088 185892 2026-05-15T14:00:48Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342088 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[murid]] a88d23zsfev08lbrxh94n1f8bvjum6x مکتب 0 58537 342107 185893 2026-05-15T14:01:25Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342107 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[maktab]] suco4u5udouorefwfsozc54418kjdph معلومت 0 58595 342049 186053 2026-05-15T13:59:27Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342049 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[maklumat]] pxhl2ss8e1ohl9reewzul6aeezxnkt0 چارين\ 0 58596 342143 186054 2026-05-15T14:02:38Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342143 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[carian]] ccgq9q4go1gdw9fchfz3c2erjv7fae7 کومونيتي 0 58597 342271 186055 2026-05-15T14:06:59Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342271 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[komuniti]] mz1d0khvv4izu98hhcy50p7pm7cpb67 علمون 0 58598 342002 186056 2026-05-15T13:57:52Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342002 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[ilmuwan]] b4upurs64jpj0hvgshdvek4r6tw1uhe تيڠݢي 0 58600 341889 186058 2026-05-15T13:53:59Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 341889 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[tinggi]] 1otfwrjmp0ljo0o8w44kgaozeuvvor5 لنتاي 0 58602 342024 186060 2026-05-15T13:58:34Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342024 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[lantai]] 1exi83hzla0xycewi166yefuf7qng2c ڤراهو 0 58603 342165 186061 2026-05-15T14:03:22Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342165 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[perahu]] ds97zin7dpuneon58phk9shvy6qnrs0 جاريڠ 0 58604 341895 186062 2026-05-15T13:54:09Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341895 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[jaring]] 7cprc14v1iod4olht6z8gevm1c8a2o8 لاما 0 58605 342009 186063 2026-05-15T13:58:04Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342009 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[lama]] d9lsnxb4tpgrfy1qzj4r76a7rf2r62o مودن 0 58606 342085 186064 2026-05-15T14:00:44Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342085 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[moden]] skmuo2x1fv6f8hrw3uuzoszocmogtkq عالم 0 58608 342001 186066 2026-05-15T13:57:50Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342001 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[alam]] 794w4xwyj635e5n5qe3ac976zxr121y سکيتر 0 58609 341998 186067 2026-05-15T13:57:44Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341998 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[sekitar]] 314ff87npyqarsvnnlggwpfws6zicjc ݢاجي 0 58610 342285 186068 2026-05-15T14:07:28Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342285 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[gaji]] 8tbb29axlodruk72r3hxo1l9dgve78c ممباير 0 58611 342059 186069 2026-05-15T13:59:54Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342059 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[membayar]] 0iw86vba1yegequpkq2dps5sn8lwiub ممبري 0 58612 342060 186070 2026-05-15T13:59:56Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342060 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[memberi]] 0qml96u69w0lo474h9o37egq4cenvi3 سونتيڠ 0 58614 341989 186072 2026-05-15T13:57:23Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 341989 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[sunting]] 1kk3rnz3eb3vgkxn451fobixtb8448y ڤرهياسن 0 58615 342170 186073 2026-05-15T14:03:33Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342170 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[perhiasan]] eqh2enmqjch2i72udip7txvow6qy281 جومڤا 0 58616 341912 186074 2026-05-15T13:54:43Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 341912 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[berjumpa]] 8qc4pp1jgwwsvghh9fpqbh0zxwzesrp داتڠ 0 58617 341918 186075 2026-05-15T13:54:58Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 341918 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[datang]] fel82jvp0q3k9p527wjfxkgui3dwcby ريڠن 0 58622 341950 186086 2026-05-15T13:56:08Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 341950 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[ringan]] pjtl1rstupmmqr5uswysaeeiynhon46 کربوهيدرت 0 58623 342247 186087 2026-05-15T14:06:10Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342247 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[karbohidrat]] 7kgi5pa5nw85k7cc9x66mnq05oqd2i3 نصيحت 0 58624 342118 186088 2026-05-15T14:01:48Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342118 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[nasihat]] ndxbh8c0k18rwjlotifhizeclt0yx4z جورنل 0 58625 341901 186095 2026-05-15T13:54:21Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341901 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[jurnal]] ietlyensybp1tu5dquy7eof2pip94z5 ميڠݢوان 0 58626 342094 186096 2026-05-15T14:01:01Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342094 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[mingguan]] r9d41k3k7y9iro9wozjbcvd4nucw38a هارين 0 58627 342126 186097 2026-05-15T14:02:04Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342126 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[harian]] 08o7jr99jy1ftvff71tz8dnsw1wp88k ڤنتاو 0 58629 342198 186099 2026-05-15T14:04:30Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342198 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[pantau]] hlbk8tn3y2nunrn0lmwaqlh5n9p1hhq لاءوتن 0 58630 342006 186100 2026-05-15T13:57:58Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342006 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[lautan]] oj8dtw1av4ih0n8xhqwikazmmhhoglt خط الاستواء 0 58632 341916 186103 2026-05-15T13:54:53Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341916 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[khatulistiwa]] hibjqzb9sr67k6gw25v8t35g2bryx37 ڤتا 0 58633 342157 186104 2026-05-15T14:03:06Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342157 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[peta]] n9ue842a16sbb0kxqw0nqkufw29k3hw ملڠکوڠ 0 58635 342055 186106 2026-05-15T13:59:46Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342055 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[melengkung]] k6xe3dv95zw8yaz486odtur1btme02g ممبيڠکوق 0 58636 342064 186107 2026-05-15T14:00:02Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342064 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[membengkok]] b2kovl1c67as43fu5ohx0itl86ah7pl لبت 0 58637 342016 186108 2026-05-15T13:58:18Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342016 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[lebat]] 34s01hmybqympg0ryaulfge23cv4i0l ڤماره 0 58638 342190 186109 2026-05-15T14:04:14Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342190 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[pemarah]] ihgz0sbpucnxgagxvjvbi5f3uzgbxy1 ڤمالو 0 58639 342191 186110 2026-05-15T14:04:16Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342191 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[pemalu]] pp0ll5g5ln9sj28le1pa7wm5ubzsmku سوليت 0 58644 341987 186115 2026-05-15T13:57:18Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 341987 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[sulit]] ptclohvkeula2a9fphicm3v7kgl59yt حرام 0 58645 341914 186116 2026-05-15T13:54:49Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 341914 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[haram]] pd492ybvhwr1qoyy9w24s0rr94htqr8 حکوم 0 58646 341915 186117 2026-05-15T13:54:51Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 341915 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[hukum]] n8kogu5yl08ky2g0tzgq7lyj6e7qk1j کواس 0 58647 342267 186119 2026-05-15T14:06:50Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342267 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[kuasa]] itfeqkzprpott5371ps9gw6vcmlbo39 مموتوڠ 0 58648 342069 186120 2026-05-15T14:00:11Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342069 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[memotong]] khpdahzgt39uepe6m4jyg1kscsi5epr ڤويسي 0 58659 342211 186248 2026-05-15T14:04:58Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342211 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[puisi]] hmngahig81c8yzgwtuluc31oid5kbu1 کارڠن 0 58660 342235 186249 2026-05-15T14:05:46Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342235 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[karangan]] l9utpypkjg7nqpnpfre9oiu3gl16dlq نوۏل 0 58661 342121 186250 2026-05-15T14:01:54Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342121 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[novel]] 3ihm07sggtxl2a7ljsn11fe321k88jf سوسيال 0 58662 341986 186251 2026-05-15T13:57:16Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341986 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[sosial]] 5aghkbovo9rr0li50vw2hz5ye2uz92u لامر 0 58721 342011 186406 2026-05-15T13:58:08Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342011 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # lamar sv6ckzlaj04wbmkqvyhmnh7c2aninmb ݢاريس 0 58723 342286 186408 2026-05-15T14:07:30Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342286 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # garis evv8ym4bnq8mjsqszu6as3y4fsay4zk سرومڤون 0 58724 341966 186409 2026-05-15T13:56:39Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341966 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # serumpun r2dzjpoir4fufxrd8zjanvao44ah5kv ڤرکاس 0 58725 342181 186410 2026-05-15T14:03:56Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342181 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # perkasa ndfgic8izn4j7i3qmt3uyvwotwz8z19 سامن 0 58726 341956 186411 2026-05-15T13:56:20Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341956 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # saman eelnk2s2pru5f9822w0eoalgtdkan0d سراي 0 58727 341965 186412 2026-05-15T13:56:37Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341965 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # serai 0te3milwh43ix3sjq2hncb66b99ygw4 سورقن 0 58728 341984 186413 2026-05-15T13:57:12Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341984 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # sorakan 1zl4t8es2qsmtsw7h7ys1jttxptqv1p وارس 0 58729 342135 186414 2026-05-15T14:02:22Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342135 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # waras 4melxszpyb46ghkkn20iq8kwyd6t97o ڤنت 0 58730 342197 186415 2026-05-15T14:04:28Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342197 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # penat cndmmqkhcxlwj0b1cxs4xz1b0nkghw7 دامڤق 0 58731 341921 186416 2026-05-15T13:55:08Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341921 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # dampak 8adu3sc5h8glgko4e6n9g6l8zazmrag دريا 0 58732 341925 186417 2026-05-15T13:55:16Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341925 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|deria}} pixlu7z5kudvhzx915zh3a9l6lfkihk ݢولا 0 58733 342293 186418 2026-05-15T14:07:42Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342293 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # gula pplxayqg99hj1tt57raboskoe336dnk ݢاريسن 0 58734 342287 186419 2026-05-15T14:07:32Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342287 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # garisan eahvl96apn24qgwh38i1jyr35puuxz4 محکمه 0 58781 342042 186669 2026-05-15T13:59:14Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342042 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[mahkamah]] b6tpqajo2ealn18yd7tb8ch32m7aug1 ڤرماتڠ 0 58782 342168 186670 2026-05-15T14:03:28Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342168 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[permatang]] 43rfubit1bi4w0gos4ku2tnv7szt56a ليريڠ 0 58783 342028 186671 2026-05-15T13:58:42Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342028 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[lereng]] p8k0ukn2ybwpenldiehrljze43go0wp جرم 0 58784 341899 186672 2026-05-15T13:54:17Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341899 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[jeram]] 6ddpj40c72catr4tllipw6800zm3kc0 ممبينچڠکن 0 58795 342063 186790 2026-05-15T14:00:00Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342063 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[membincangkan]] a9xllcbo7rd3vj7r4ar1ubivb4nnngf کروݢين 0 58796 342249 186792 2026-05-15T14:06:14Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342249 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[kerugian]] 66h73ff1aypa4xdbzywnd6lk6pevska مندريتا 0 58797 342078 186793 2026-05-15T14:00:29Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342078 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[menderita]] 5dcnups5a9ab6jt18vd0cgz56kawtvp کساکيتن 0 58798 342251 186794 2026-05-15T14:06:18Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342251 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[kesakitan]] 5kcsitjijlr6sj7cdkpnclcajg0s1jv کسوسهن 0 58799 342255 186796 2026-05-15T14:06:26Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342255 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[kesusahan]] t1zwndenpgsb3oqzkf2ryzv3t6ga91v کڽڠ 0 58802 342278 186800 2026-05-15T14:07:13Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342278 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[kenyang]] no3tzue6h274uo044yboa0hqnwx1maq مڽرڤ 0 58803 342110 186801 2026-05-15T14:01:31Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342110 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[menyerap]] twfmxolvv2c7nkjfoxz6l8e3v7mqgqw مڠاندوڠي 0 58804 342097 186802 2026-05-15T14:01:07Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342097 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[mengandungi]] 1s619algx556sgyv5nkjhyltgj3juxq مموات 0 58805 342067 186804 2026-05-15T14:00:09Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342067 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[memuat]] 8qj3m28k7th9z1lcqo0upafrfe0eoci مميکول 0 58806 342070 186806 2026-05-15T14:00:13Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342070 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[memikul]] 1qg6o6k95vyp93by650djbjb8oeyhh3 مڽمڤايکن 0 58838 342112 186894 2026-05-15T14:01:35Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342112 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[menyampaikan]] adah0rq4ncob9nltarzz3euhrnzmzdq مڽيدايکن 0 58839 342113 186895 2026-05-15T14:01:37Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342113 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[menyidaikan]] jdj38htjrg7ic8my3833he3jc9s3yrx ذره 0 58841 341934 186897 2026-05-15T13:55:35Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341934 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[zarah]] cjnp37lw36kznldacr06ah2uw4ey713 هابوق 0 58842 342123 186898 2026-05-15T14:01:58Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342123 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[habuk]] jh0zkz5avuogh36jpzbmsdddkrhpzo1 والاو 0 58848 342136 186919 2026-05-15T14:02:24Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342136 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # walau 70wzc5ll0nrajvv2tf2yasqm5lnzg1j کلمارين 0 59034 342256 187246 2026-05-15T14:06:28Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342256 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[kelmarin]] f0u9mwid28864aq0xhtfskgjw9znw1d سمالم 0 59035 341971 187247 2026-05-15T13:56:50Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341971 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[semalam]] td1xb7jtzzd8grtynef7g1clqnvndnf هادڤن 0 59036 342124 187248 2026-05-15T14:02:00Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342124 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[hadapan]] 6glgrj611dvav66pbgnmr35omdaduak سبله 0 59038 341962 187250 2026-05-15T13:56:31Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 341962 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # [[sebelah]] lbac2stcb5bhxyay7hy4l7a6amxqnxo مڠحاصيلکن 0 59070 342099 187350 2026-05-15T14:01:11Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342099 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[menghasilkan]] sp979ydwmw65p1kbbmarr7hp23ykfuw منربيتکن 0 59071 342079 187349 2026-05-15T14:00:31Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342079 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[menerbitkan]] 0aqx1mkri6eq8ede5duhempu5s1pcvt ممبڠکيتکن 0 59072 342065 187348 2026-05-15T14:00:04Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342065 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[membangkitkan]] dafcvi9h42hnt4b4unpdcuk58ph3mm7 ممنتاو 0 59073 342066 187347 2026-05-15T14:00:06Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342066 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[memantau]] fjrwyjkescxozxukejiwpy9t4o8k33v مناهن 0 59074 342074 187351 2026-05-15T14:00:21Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342074 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[menahan]] g0gwfoot9hilufql2kqcmjm4jpkkt8n جاوهاري 0 59118 341896 187452 2026-05-15T13:54:11Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341896 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # jauhari 1amo9jsq71jner2efz5vrxeq6ka5189 ريستورن 0 59442 341949 210061 2026-05-15T13:56:06Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341949 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|restoran}} mpsqjhwskszxvocis9ayq3dbbc5vwzq ڤڠݢوناءن 0 60019 342229 191573 2026-05-15T14:05:34Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342229 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[penggunaan]] birddczdih19hqaihu88a1q2ohu13ul ڤراوسهاءن 0 60023 342166 191570 2026-05-15T14:03:24Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342166 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[perusahaan]] 0plp2at1hmiqjnpyddq41kvkh4dd17r ڤرينتيس 0 60027 342175 191576 2026-05-15T14:03:44Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342175 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[perintis]] 2e4k3wv9nahvdm5xj6qap8ymmdg9axe کمرديکاءن 0 60029 342260 191578 2026-05-15T14:06:36Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342260 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[kemerdekaan]] npdllpim5eru3tp2walzoc9uha1kvu6 ڤرانقن 0 60225 342164 192109 2026-05-15T14:03:20Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342164 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[peranakan]] 3bxq9q6v5j468xgqqorsy8das0bu7vm ذوريت 0 60226 341935 192110 2026-05-15T13:55:37Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341935 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[zuriat]] maoh5tbo4p54p3rx5dikm3avizjpjhg منچمرکن 0 60228 342083 192112 2026-05-15T14:00:39Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342083 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[mencemarkan]] 30102qd9ujvk2egni78f2637t1ss3dv ممبواڠ 0 60229 342061 192113 2026-05-15T13:59:58Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342061 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # [[membuang]] 9wnfd0my3ol7ilytfop4nohob4deby9 ڤاليڠ 0 66199 342154 201728 2026-05-15T14:03:00Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Adverba==== → ===Adverba=== menggunakan [[Project:AWB|AWB]] 342154 wikitext text/x-wiki ==Bahasa Melayu== ===Adverba=== {{inti|ms|adverba}} # {{ms-jawi|paling}} ===Sebutan=== * {{penyempangan|ms|ڤا|ليڠ}} ===Bacaan lanjut=== * {{R:PRPM}} i7zregxfq4hwb94egnnu1hk7olphriy لمڤيرن 0 66406 342022 202071 2026-05-15T13:58:30Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342022 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|lampiran}} ===Bacaan lanjut=== * {{R:PRPM}} pnhd32t49k4jep3nm08zyzde9pqagkc ڤريوق 0 66408 342176 202073 2026-05-15T14:03:46Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342176 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|periuk}} ===Bacaan lanjut=== * {{R:PRPM}} qp92uyizqokzxkvfz38ulzxh16blrxl لاون 0 66409 342013 202068 2026-05-15T13:58:12Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342013 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{head|ms|kata kerja}} # {{ms-jawi|lawan}} ===Bacaan lanjut=== * {{R:PRPM}} cbn9v0hwt2ktdgwkdsr77oq0rsnnyil ڤرلاونن 0 66411 342167 202075 2026-05-15T14:03:26Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342167 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|perlawanan}} ===Bacaan lanjut=== * {{R:PRPM}} 8doyqgdcq6t4l165sqpsl8rjczgt1s6 ممباداي 0 66413 342057 202077 2026-05-15T13:59:50Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342057 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{head|ms|kata kerja}} # {{ms-jawi|membadai}} ===Bacaan lanjut=== * {{R:PRPM}} g9s78ef33mbzly4w238dpr8xyzdycc3 ڤڠروڤيڠن 0 66414 342220 202079 2026-05-15T14:05:16Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342220 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|pengerupingan}} ===Bacaan lanjut=== * {{R:PRPM}} m801s9yp4jztv2dgb2bfvnylvh9bcqr ماکن-ماکنن 0 66415 342041 202080 2026-05-15T13:59:12Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342041 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|makan-makanan}} ===Bacaan lanjut=== * {{R:PRPM}} li9pbjsm8jn9q5njyppc17niw3o7ra1 مماکن 0 66416 342056 202081 2026-05-15T13:59:48Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342056 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{head|ms|kata kerja}} # {{ms-jawi|memakan}} ===Bacaan lanjut=== * {{R:PRPM}} rrab4szey60xg7rux5tfnqz9wf0unky ڤماکن 0 66417 342192 202082 2026-05-15T14:04:18Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342192 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|pemakan}} ===Bacaan lanjut=== * {{R:PRPM}} 6931tfhxx9uago5xgcg2726ngcsiu7r ڤمرديکاءن 0 66421 342195 202088 2026-05-15T14:04:24Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342195 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|pemerdekaan}} ===Bacaan lanjut=== * {{R:PRPM}} nl5gmhrf9mkymk5ytlglx5ic4gwadnv مڠݢولوق 0 66589 342106 202334 2026-05-15T14:01:23Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342106 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{head|ms|kata kerja}} # {{ms-jawi|menggolok}} ===Bacaan lanjut=== * {{R:PRPM}} 86i41lnw3c1bkxfgmkcone4pm1b6z1x راکن 0 67466 341942 203782 2026-05-15T13:55:51Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341942 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|rakan}} ===Pautan Luar=== * {{R:PRPM}} i1ohzbu121091g9ar40onkq8vnwa2a4 مڠکت 0 67467 342105 203785 2026-05-15T14:01:21Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342105 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{head|ms|kata kerja}} # {{ms-jawi|mangkat}} ===Pautan Luar=== * {{R:PRPM}} lsk7g1wl4i06r7q56xhtzoh7thmbcdi مڠادوق-ادوق 0 67470 342096 203790 2026-05-15T14:01:05Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342096 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{head|ms|kata kerja}} # {{ms-jawi|mengaduk-aduk}} ===Pautan Luar=== * {{R:PRPM}} nxoezhz5oznbwkq7a9c5g4z14sndvii مڠبجدکن 0 67478 342098 203801 2026-05-15T14:01:09Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342098 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{head|ms|kata kerja}} # {{ms-jawi|mengabjadkan}} ===Pautan Luar=== * {{R:PRPM}} a12i064l8r8ra48cdkeyu0lw1dgd620 ڤڠببجدن 0 67479 342219 203803 2026-05-15T14:05:14Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342219 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|pengabjadan}} ===Pautan Luar=== * {{R:PRPM}} 0kc160qk1o2hlfbxkhf4hn85dqbjed9 ڤجابت 0 68473 342158 205504 2026-05-15T14:03:08Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342158 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # [[pejabat]] 8s0xy1jz8wkjapg3actqby9ahlhwgfj سکرو 0 68564 341995 205714 2026-05-15T13:57:38Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341995 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|skru}} ===Pautan Luar=== * {{R:PRPM}} b55juneq4twxbs8endm0t2u6kaabu1k هبلور 0 68565 342127 205716 2026-05-15T14:02:06Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342127 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|hablur}} ===Pautan Luar=== * {{R:PRPM}} lz86qommqf9ckpqo4zmog7zai16vroc ڤريݢي 0 68566 342178 205718 2026-05-15T14:03:50Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342178 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|perigi}} ===Pautan Luar=== * {{R:PRPM}} 7ppnzbd9lw72s6w8qnjbi6fcxk2jny5 معمل 0 68567 342050 205720 2026-05-15T13:59:29Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342050 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|makmal}} ===Pautan Luar=== * {{R:PRPM}} 84xebx0409yno03eqrhfmnmlltmz1yu ڤڠساڤوري 0 68568 342221 205725 2026-05-15T14:05:18Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342221 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|pangsapuri}} ===Pautan Luar=== * {{R:PRPM}} aaqsos32iy9p2n20n24diyipy1zrknz سوراو 0 68569 341983 205727 2026-05-15T13:57:10Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341983 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|surau}} ===Pautan Luar=== * {{R:PRPM}} 8ea4t2tgoh1u0dw5b8d47e46v4s73qb ڤرڤوستاکاٴن 0 68570 342180 205730 2026-05-15T14:03:54Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342180 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|perpustakaan}} tbhgpeuyx791k1b0tsh0jq33ugcbbmp ڤرڤوستاکاءن 0 68571 342179 205731 2026-05-15T14:03:52Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342179 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|perpustakaan}} ===Pautan Luar=== * {{R:PRPM}} b2cl8ucrhexwh8tjuo2zes7xmanpdne مسلم 0 68573 342047 205736 2026-05-15T13:59:23Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342047 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|Muslim}} ===Pautan Luar=== * {{R:PRPM}} l5kh6xrz2tj0t5wd9orce0ghs23hwl9 کونۏوکيشن 0 68574 342275 205739 2026-05-15T14:07:07Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342275 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|konvokesyen}} ===Pautan Luar=== * {{R:PRPM}} 1c7xbtibqi76b2lqk4qhhr6e5xdirid ڤاسر 0 68575 342153 205742 2026-05-15T14:02:58Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342153 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|pasar}} ===Pautan Luar=== * {{R:PRPM}} l0qbv5d76z4zu0oz80i9h2j1cg5yaii دوبي 0 68576 341927 205744 2026-05-15T13:55:20Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341927 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|dobi}} ===Pautan Luar=== * {{R:PRPM}} i7dhyjauffs6bvjxly17kqm4mtd3qmw ڤڠوروسن 0 68580 342225 205758 2026-05-15T14:05:26Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342225 wikitext text/x-wiki ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|pengurusan}} ===Pautan Luar=== * {{R:PRPM}} h8bj39j18y9b1y497om8krcmkeh4273 ڤڠاول 0 68588 342218 205769 2026-05-15T14:05:12Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342218 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|pengawal}} ===Pautan Luar=== * {{R:PRPM}} h08iqwxlstgem6zzt7pvjvde6oig8gu ميکرو 0 68589 342095 205770 2026-05-15T14:01:03Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342095 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{head|ms|kata sifat}} # {{ms-jawi|mikro}} ===Pautan Luar=== * {{R:PRPM}} kd9h9lq9kvczm8bq5wbviqb8v85e91n کميجا 0 68616 342262 205829 2026-05-15T14:06:40Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342262 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|kemeja}} ===Pautan Luar=== * {{R:PRPM}} 4au2rkssnby0q7fy77ckmc69xkkzede ڤچوت 0 68619 342215 205838 2026-05-15T14:05:06Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342215 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|pecut}} ===Pautan Luar=== * {{R:PRPM}} s46xe96xlnr66g5gn9bil4hilmvnqbl دالم 0 68620 341919 205842 2026-05-15T13:55:00Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sendi nama==== → ===Kata sendi nama=== menggunakan [[Project:AWB|AWB]] 341919 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sendi nama=== {{head|ms|kata sendi nama}} # {{ms-jawi|dalam}} ===Pautan Luar=== * {{R:PRPM}} g8xldr43kvx1mf0qbx5u9rflwntg8ff هوتيل 0 68621 342130 205845 2026-05-15T14:02:12Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342130 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|hotel}} ===Pautan Luar=== * {{R:PRPM}} 3hxf1o3bmprml0mc8gm9at4twv7rlml ستاديوم 0 68623 341963 205848 2026-05-15T13:56:33Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341963 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|stadium}} ===Pautan Luar=== * {{R:PRPM}} qn8pjuba0pu633ah1ix92llopelx45x درماون 0 68628 341924 205854 2026-05-15T13:55:14Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341924 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|dermawan}} ===Pautan Luar=== * {{R:PRPM}} 5e7q2anvn9wdqi8hsslu7ygt1ubi0m4 درما 0 68646 341923 205876 2026-05-15T13:55:12Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341923 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{head|ms|kata nama}} # {{ms-jawi|derma}} ===Pautan Luar=== * {{R:PRPM}} f3dpowjm692r30rzq2ec9c7r56cc6u9 ڤستور 0 68675 342183 205931 2026-05-15T14:04:00Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342183 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|pastor}} ===Bacaan lanjut=== * {{R:PRPM}} cupy45s7a5wy83cnuemmcaprazk8r3l سوءالن 0 68678 341981 205943 2026-05-15T13:57:06Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341981 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|soalan}} ===Bacaan lanjut=== * {{R:PRPM}} 2sitn56lepl6q4cmafx2pd3sshoopa0 سيمبڠ 0 68679 341991 205945 2026-05-15T13:57:27Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 341991 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # {{ms-jawi|sembang}} ===Bacaan lanjut=== * {{R:PRPM}} ormsrpctwasjn8ny72iqkauw240p4su کماهوان 0 68680 342259 205946 2026-05-15T14:06:34Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342259 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|kemahuan}} ===Bacaan lanjut=== * {{R:PRPM}} na8qaejd1kig9hen0o4q2f6zw0nfcmr کنچيڠ 0 68685 342265 205957 2026-05-15T14:06:46Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342265 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # {{ms-jawi|kencing}} ===Bacaan lanjut=== * {{R:PRPM}} 8223m7e7llc1zrb2mn8r8xgk501zg00 ساءينتيس 0 68706 341953 206014 2026-05-15T13:56:14Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341953 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|saintis}} ===Bacaan lanjut=== * {{R:PRPM}} 2ofelhm6u0wbfmi2x58iwuqex3twv3t نوتيس 0 68707 342120 206015 2026-05-15T14:01:52Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342120 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|notis}} ===Bacaan lanjut=== * {{R:PRPM}} sxk3kv7khuiujjgqw57mdsxhgffzfbc سومبوڠ 0 68708 341988 206017 2026-05-15T13:57:20Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 341988 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # {{ms-jawi|sombong}} ===Bacaan lanjut=== * {{R:PRPM}} cim1xapne63lhq4jgccsjedga13br4h ڤنتس 0 68709 342199 206021 2026-05-15T14:04:32Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342199 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|pentas}} ===Bacaan lanjut=== * {{R:PRPM}} gynx76w8uq7tk2rrb82nilz6qsjiovp ڤانتس 0 68710 342155 206020 2026-05-15T14:03:02Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342155 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # {{ms-jawi|pantas}} ===Bacaan lanjut=== * {{R:PRPM}} tfgm8p7tnivyi84e5e7fwedwld4qxte سوچي 0 68711 341990 206022 2026-05-15T13:57:25Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 341990 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # {{ms-jawi|suci}} ===Bacaan lanjut=== * {{R:PRPM}} i1rkyjlakk4w7bzke36an4v5ftzjo82 ڤمبيذاءن 0 68723 342194 206065 2026-05-15T14:04:22Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342194 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|pembezaan}} ===Bacaan lanjut=== * {{R:PRPM}} p2ssb35jwjmi1ftcovh9bb3u1unbozy لماو 0 68724 342018 206069 2026-05-15T13:58:22Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342018 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{head|ms|kata sifat}} # {{ms-jawi|lemau}} ===Pautan Luar=== * {{R:PRPM}} [[Kategori:Tulisan Jawi]] q1iii2lvtvbh4kdwp52wpjoulbaqwuk ڤڠيرا 0 68897 342227 206651 2026-05-15T14:05:30Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342227 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|pengira}} ===Bacaan lanjut=== * {{R:PRPM}} gzxuercwcvzderraupidwr3gcglghg4 ڤڠيراءن 0 68898 342228 206652 2026-05-15T14:05:32Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342228 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|pengiraan}} ===Bacaan lanjut=== * {{R:PRPM}} iy56od3kbbo5og29gzvhxpcp68ye5az راءوڠن 0 72580 341936 211992 2026-05-15T13:55:39Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341936 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|raungan}} ===Bacaan lanjut=== * {{R:PRPM}} 7t58f0n4ff1u1zamelqudtkuvkgw66a مراءوڠ 0 72582 342043 211995 2026-05-15T13:59:16Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342043 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # {{ms-jawi|meraung}} ===Bacaan lanjut=== * {{R:PRPM}} rbxygixe2euxvb3uq03u1bbnjsxt742 ڤواس 0 72598 342208 212212 2026-05-15T14:04:50Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342208 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # {{ms-jawi|puas}} ===Bacaan lanjut=== * {{R:PRPM}} hu7lxqd5akyuf09cfg91203huaebbu6 مناڠيس 0 72601 342075 212216 2026-05-15T14:00:23Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342075 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # {{ms-jawi|menangis}} ===Bacaan lanjut=== * {{R:PRPM}} jwy2j5tmcs4z4ya5ncxgd6px2nfaypd چبيس 0 72613 342144 212262 2026-05-15T14:02:40Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342144 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|cebis}} ===Bacaan lanjut=== * {{R:PRPM}} kcn8gk10pot9zvxjwhbhztcrcb6q4hx ميموري 0 72619 342092 212270 2026-05-15T14:00:57Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342092 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|memori}} ===Bacaan lanjut=== * {{R:PRPM}} 16t57lz9tb015e130ccykbfyxqihs9a ماره 0 72624 342036 212302 2026-05-15T13:59:00Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342036 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # {{ms-jawi|marah}} ===Bacaan lanjut=== * {{R:PRPM}} dztticsxci162sos2vmt8jzw3ez2tpz ڤڠنتارا 0 72631 342222 212362 2026-05-15T14:05:20Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342222 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|pengantara}} ===Bacaan lanjut=== * {{R:PRPM}} 1043wsfjtf23nkgexyy1148o6t0nwq9 ڤڠنتاراءن 0 72633 342223 212366 2026-05-15T14:05:22Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342223 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|pengantaraan}} ===Bacaan lanjut=== * {{R:PRPM}} qwgwzzxbtniw4a745a34sippipnf94e ڤرانتارا 0 72635 342163 212368 2026-05-15T14:03:18Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342163 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|perantara}} ===Bacaan lanjut=== * {{R:PRPM}} tlwp72la6dg0kvgfpvpzcpq2upwuwgp رايو 0 72640 341941 212373 2026-05-15T13:55:49Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 341941 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # {{ms-jawi|rayu}} ===Bacaan lanjut=== * {{R:PRPM}} 7ye8tvq42i68xlspm6qxgrcx5y48b48 ڤوجوق 0 72642 342209 212375 2026-05-15T14:04:53Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342209 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # {{ms-jawi|pujuk}} ===Bacaan lanjut=== * {{R:PRPM}} bwjtkz1l2csjd83rs8q39wj3u2x1u3q ݢينچو 0 72644 342296 212377 2026-05-15T14:07:49Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342296 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|gincu}} ===Bacaan lanjut=== * {{R:PRPM}} i7mvjc2vvfheb70xafhd660gk517ptq لوڤا 0 72646 342027 212379 2026-05-15T13:58:40Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342027 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # {{ms-jawi|lupa}} ===Bacaan lanjut=== * {{R:PRPM}} bx0d30i1favl9jw2y9jr8ztimtprdf7 موڠکير 0 72649 342090 212392 2026-05-15T14:00:53Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata kerja==== → ===Kata kerja=== menggunakan [[Project:AWB|AWB]] 342090 wikitext text/x-wiki ==Bahasa Melayu== ===Kata kerja=== {{inti|ms|kata kerja}} # {{ms-jawi|mungkir}} ===Bacaan lanjut=== * {{R:PRPM}} dik742vu5pw8vm0rz138wr1u81luogq ݢونا٢ 0 72654 342294 212399 2026-05-15T14:07:45Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342294 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|guna-guna}} ===Pautan luar=== {{R:PRPM}} njcnodnnk9yzfcgda0gaaajpx5qb0as ڤرامه 0 72749 342160 212632 2026-05-15T14:03:12Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342160 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|peramah}} ===Pautan luar=== {{R:PRPM}} exlm3cnli84qb7ckmxl1u2eiz9kvj71 مسرا 0 72751 342045 212634 2026-05-15T13:59:21Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 342045 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # {{ms-jawi|mesra}} ===Pautan luar=== {{R:PRPM}} bzonchq6vo3veby5oa6n9vecu8cplpm هنداي 0 72753 342129 212636 2026-05-15T14:02:10Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342129 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|handai}} ===Pautan luar=== {{R:PRPM}} bwxl5ajulbyv3lttxnxi5sy3cg45egf لامبڠ 0 72796 342010 212694 2026-05-15T13:58:06Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342010 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|lambang}} ===Pautan luar=== {{R:PRPM}} gmarws140euhpa8jcnnu8vvaw2jzbz4 سوسه 0 72835 341985 212777 2026-05-15T13:57:14Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata sifat==== → ===Kata sifat=== menggunakan [[Project:AWB|AWB]] 341985 wikitext text/x-wiki ==Bahasa Melayu== ===Kata sifat=== {{inti|ms|kata sifat}} # {{ms-jawi|susah}} ===Pautan luar=== {{R:PRPM}} dbrjjg1phqtjnz88lmh121lkrs5vur3 مينيموم 0 72927 342093 212945 2026-05-15T14:00:59Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342093 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|minimum}} ===Pautan luar=== {{R:PRPM}} jjxgq5gna90h32c7580fgcc75y9sqqz مکسيموم 0 72928 342108 212946 2026-05-15T14:01:27Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342108 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|maksimum}} ===Pautan luar=== {{R:PRPM}} sfajt8gbxw9wfn5m6wv5x8zr7323c1s راسيسمى 0 72930 341939 212948 2026-05-15T13:55:45Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341939 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|rasisme}} ===Pautan luar=== {{R:PRPM}} bl1z6dzslpyv94t6qchu6snqxclo8o3 ڤلاݢيات 0 72933 342187 212951 2026-05-15T14:04:08Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342187 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|plagiat}} ===Pautan luar=== {{R:PRPM}} nrdomw3apzzkte5jlnng5205md2qc5q ناسيوناليسمى 0 72934 342116 212952 2026-05-15T14:01:43Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342116 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|nasionalisme}} ===Pautan luar=== {{R:PRPM}} r60kehmqn3b0i34b0ylziyoo0mvvxwv هيدونيسمى 0 72935 342132 212953 2026-05-15T14:02:16Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342132 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|hedonisme}} ===Pautan luar=== {{R:PRPM}} g3wkmpsg1d6zkajwb6nrhp2zphdow3e ۏن 0 72936 342283 212954 2026-05-15T14:07:24Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342283 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|van}} ===Pautan luar=== {{R:PRPM}} 28kpn45xlqmdfzfsmy3hhbitmtbk6kl کومونيکاسي 0 72952 342272 213033 2026-05-15T14:07:01Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342272 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|komunikasi}} ===Pautan luar=== {{R:PRPM}} ndpntp6w15ux1rq2ijn9map5e4ag51g سڤيکتروم 0 72954 341994 213035 2026-05-15T13:57:35Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 341994 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|kata nama}} # {{ms-jawi|spektrum}} ===Pautan luar=== {{R:PRPM}} atfym9mmv0dmrtydc5cl551oromkr2b hilal 0 74813 342794 337491 2026-05-16T11:48:31Z Hakimi97 2668 342794 wikitext text/x-wiki ==Bahasa Melayu== {{Wikipedia}} <!-- Kalau ada --> ===Kata nama=== {{ms-kn|j=هلال}} # Fasa pertama [[Bulan]] ketika mana Bulan berada segaris di antara [[Matahari]] dan [[Bumi]]; [[anak bulan]]. ===Etimologi=== {{bor+|ms|ar|هِلَال}}. ===Sebutan=== * {{penyempangan|ms|hi|lal}} ===Pautan luar=== * {{R:PRPM}} {{C|ms|Astronomi|Jasad cakerawala}} ==Bahasa Indonesia== {{Wikipedia|lang=id}} <!-- Kalau ada --> ===Kata nama=== {{id-kn}} # Fasa pertama [[Bulan]] ketika mana Bulan berada segaris di antara [[Matahari]] dan [[Bumi]]; [[anak bulan]]. ===Etimologi=== {{bor+|id|ar|هِلَال}}. ===Sebutan=== * {{id-pr}} ===Pautan luar=== * {{R:KBBI Daring}} {{C|id|Astronomi|Jasad cakerawala}} peb0jfbea6fx4exi6iup0tuew4vctxk قهوة 0 75607 342005 222213 2026-05-15T13:57:56Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata nama==== → ===Kata nama=== menggunakan [[Project:AWB|AWB]] 342005 wikitext text/x-wiki ==Bahasa arab== ===Kata nama=== {{inti|ms|kata nama}} # kopi #: {{cp|ms|انا أشرب القهوة.|saya sedang minum kopi.}} n8zo1api94s4llyjb9w8ebbfi53rm2w ݢمڤڠ 0 104082 342292 268758 2026-05-15T14:07:40Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: Kata Nama → Kata nama (2) menggunakan [[Project:AWB|AWB]] 342292 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{ms-noun}} # {{ms-jawi|gampang}} ===Kata sifat=== {{ms-adj}} # {{ms-jawi|gampang}} ====Kata nama==== {{inti|ms|adverba}} # {{ms-jawi|gampang}} ===Sebutan=== * {{penyempangan|ms|ݢمڤڠ}} # {{ms-jawi|gampang}} ===Bacaan lanjut=== * {{R:PRPM}} 0enzm06w7hnvbs7c0kqz7txvbvruuen لبيه 0 104083 342017 268756 2026-05-15T13:58:20Z Mirlim 8057 clean up per [[Wikikamus:Kedai_Kopi/Arkib_2025#h-Cadangan_kemaskini_format_lema-20251005022500|vote]], replaced: ===Takrifan=== ====Kata Nama==== → ===Kata Nama===, Kata Nama → Kata nama menggunakan [[Project:AWB|AWB]] 342017 wikitext text/x-wiki ==Bahasa Melayu== ===Kata nama=== {{inti|ms|adverba}} # {{ms-jawi|lebih}} ===Sebutan=== * {{penyempangan|ms|لبيه}} # {{ms-jawi|lebih}} ===Kata sifat=== {{ms-adj}} # {{ms-jawi|lebih}} ===Bacaan lanjut=== * {{R:PRPM}} kg91uiyqvno5nsxvgnvcti4v6qmide3 Kategori:fa:Jasad cakerawala 14 112560 342785 278750 2026-05-16T10:33:33Z Hakimi97 2668 Hakimi97 telah memindahkan laman [[Kategori:fa:Badan samawi]] ke [[Kategori:fa:Jasad cakerawala]] 278750 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategori:Perkataan bahasa Inggeris diterbitkan daripada bahasa Bahasa-bahasa Samiah 14 114557 342788 280941 2026-05-16T11:41:32Z Hakimi97 2668 342788 wikitext text/x-wiki {{delete|telah digantikan dengan [[:Kategori:Perkataan bahasa Inggeris diterbitkan daripada bahasa-bahasa Samiah]]}} rqgf1bkcqobtabn2tkoqxcit4nl2e34 Kategori:Perkataan bahasa Inggeris diterbitkan daripada bahasa Hindustan 14 114570 342789 280954 2026-05-16T11:42:32Z Hakimi97 2668 342789 wikitext text/x-wiki {{delete|telah digantikan dengan [[:Kategori:Perkataan bahasa Inggeris diterbitkan daripada bahasa-bahasa Hindustan]]}} ne2zka9bytjah5k5z7e5yvdrtzskwp6 Kategori:Perkataan bahasa Inggeris diterbitkan daripada bahasa Abenaki-Penobscot 14 114684 342787 281083 2026-05-16T11:40:46Z Hakimi97 2668 342787 wikitext text/x-wiki {{delete|telah digantikan dengan [[:Kategori:Perkataan bahasa Inggeris diterbitkan daripada bahasa-bahasa Abenaki-Penobscot]]}} 4ok20dtddtc93mjddht21m1vuc7ux70 Kategori:ja:Sistem tulisan 14 115579 342791 282156 2026-05-16T11:46:32Z Hakimi97 2668 Hakimi97 telah memindahkan laman [[Kategori:ja:Sistem penulisan]] ke [[Kategori:ja:Sistem tulisan]] 282156 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Wikikamus:tmw/Ajih apak kabar 4 116541 342323 283420 2026-05-15T14:34:56Z Zreeeeeee 10698 342323 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} awak apa khabar mf0x13repm34coo07f9amiujxurrpwy Wikikamus:tmw/selamat pagik 4 116543 342299 283415 2026-05-15T14:09:39Z Haqifaz 9982 342299 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}}selamat pagi {{cp|tmw|}} 8ywilelatpd0b2t59qkf25cngzvyvdv Wikikamus:tmw/tengok 4 116551 341886 283424 2026-05-15T13:48:33Z Haqifaz 9982 341886 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} #{{label|tmw|dialek|Bukit Lagong}} {{cp|tmw|}} 4j6g10irtiy0jeiayx0qrt004blr5uj Wikikamus:tmw/gendui 4 116554 342386 283427 2026-05-15T15:17:11Z Azrifrb 9991 342386 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # nenek{{cp|tmw|}} 10fh1ggnjnv2n8xeoomorakuzr8y70q 342398 342386 2026-05-15T15:24:38Z Khalifah5156 9987 342398 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}nenek{{cp|tmw|}} icjlyqhgl9r3r0nv56oe3mhddpsv9yh Wikikamus:tmw/ajih 4 116555 342357 335822 2026-05-15T14:58:43Z Khalifah5156 9987 342357 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== ajih # {{label|tmw|Dialek|Bukit Lagong}}awak{{cp|tmw|}} naxn7gm13lqysixrpw9kg84tore9fos Wikikamus:tmw/Gek 4 116559 341920 283507 2026-05-15T13:55:08Z Elléarden 9981 341920 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}} Abang 74oau7caqjc3tzdpv69tqx7o9m3bnkg 342501 341920 2026-05-16T02:28:54Z Kembojalini 10746 342501 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}} Abang {{cp|tmw|'''Gek''' akuk kejak jauh}} 4fr54zlurhbewil2ymt2vbj36xuw54b 342505 342501 2026-05-16T02:30:08Z Kembojalini 10746 342505 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}} Abang {{cp|tmw|'''Gek''' akuk kejak jauh|'''Abang''' saya kerja jauh}} 2bkllej69qz7gpyib78ef419m3o83uo Wikikamus:tmw/hapo 4 116567 342395 283440 2026-05-15T15:22:51Z Azrifrb 9991 342395 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # mungkin{{cp|tmw|}} 9ykoez39u2zgdv1f07e9jndudk6ymh8 342404 342395 2026-05-15T15:42:21Z Khalifah5156 9987 342404 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}mungkin{{cp|tmw|}} clskl8xbgg7qd4au1hgkpz6cili7co6 342761 342404 2026-05-16T04:21:18Z Khalifah5156 9987 342761 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}mungkin{{cp|tmw|Inap adak di sanak '''hapo'''|Makcik ada di sana '''mungkin'''}} 1ob5ydzcgqozpo45tsa4pznkfb6owlg Wikikamus:tmw/lempen 4 116574 342314 283459 2026-05-15T14:29:27Z Khalifah5156 9987 342314 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} leper{{cp|tmw|}} 1ruse5qaysl15q0g7w1i76lj4kqmstu 342545 342314 2026-05-16T02:45:13Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Lempen]] ke [[Wikikamus:tmw/lempen]] 342314 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} leper{{cp|tmw|}} 1ruse5qaysl15q0g7w1i76lj4kqmstu 342547 342545 2026-05-16T02:45:33Z Kentangputarr 10725 342547 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}}leper{{cp|tmw|}} nkbwzraqrbcaqnp1a5orvtp410srxxu Wikikamus:tmw/didi 4 116577 341882 283451 2026-05-15T13:44:29Z Elléarden 9981 341882 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}} mereka {{cp|tmw|}} gt52j31jwee4szntlvbw260jg4tu5kj 342467 341882 2026-05-16T02:17:36Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Didi]] ke [[Wikikamus:tmw/didi]]: Tajuk salah eja 341882 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}} mereka {{cp|tmw|}} gt52j31jwee4szntlvbw260jg4tu5kj 342600 342467 2026-05-16T03:09:07Z Barbiemaripossa 9985 342600 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}} mereka{{cp|tmw|'''Didi''' jalan ke utan pagi tai|'''Mereka''' berjalan ke hutan pagi tadi}} suy1k7v84ourvb8kj8piq4666gi6wq4 Wikikamus:tmw/kate 4 116579 342301 283453 2026-05-15T14:12:12Z Elléarden 9981 342301 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Temuan}} kereta {{cp|tmw|}} idallllbmnuz7psfqc2hs6zsbdw5iy2 342530 342301 2026-05-16T02:41:02Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Kate]] ke [[Wikikamus:tmw/kate]]: Tajuk salah eja 342301 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Temuan}} kereta {{cp|tmw|}} idallllbmnuz7psfqc2hs6zsbdw5iy2 342621 342530 2026-05-16T03:19:29Z Kembojalini 10746 342621 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Temuan}} kereta {{cp|tmw|Akuk hap '''kate'''|Saya takde '''kereta'''}} 0qjikbr5f5oelc9a3o5bu5701s4gn5i Wikikamus:tmw/gandui 4 116580 342387 283541 2026-05-15T15:17:46Z Khalifah5156 9987 342387 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== genui # {{label|1=tmw|2=Dialek|3=Bukit Lagong}} nenek{{cp|tmw|}} lo6u88hd3eji8ok65tuov3y4nc3omxh Wikikamus:tmw/tika 4 116582 341878 283456 2026-05-15T13:39:43Z Haqifaz 9982 341878 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # tikar {{cp|tmw|}} 4pb2p2eepndotn4oux27ndc7fawet2c Wikikamus:tmw/ninik 4 116584 342352 283458 2026-05-15T14:55:33Z Haqifaz 9982 342352 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}}Atok {{cp|tmw|}} 6s39k57kowze6dx511gi92jb5r298yx 342601 342352 2026-05-16T03:09:21Z Kentangputarr 10725 342601 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}}atok {{cp|tmw|}} mxrjmvltfktjhudoh2q94kdu4309hl5 342641 342601 2026-05-16T03:28:18Z Faizz315891 10774 342641 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}}atok {{cp|tmw|'''ninik''' ituk sudah tuak.|'''atok''' itu sudah tua.}} mkes0o3ij68ik5jfencpvlfuxus5kyl Wikikamus:tmw/cucik 4 116585 342383 283460 2026-05-15T15:15:14Z Khalifah5156 9987 342383 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|Dialek|Bukit Lagong}}mencuci{{cp|tmw|}} nty83zd5j9gv2l62wvsv29og3r2ezxq Wikikamus:tmw/Gendui 4 116586 342550 283461 2026-05-16T02:49:16Z Kembojalini 10746 342550 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}}Nenek {{cp|tmw|'''Gendui''' diak dah matik|'''Nenek''' dia sudah meninggal}} qv11ydtmrqi1iwzfi5agxu8y43rflii Wikikamus:tmw/Mamak 4 116589 342324 283464 2026-05-15T14:35:29Z Khalifah5156 9987 342324 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}Pakcik{{cp|tmw|}} pzcrfh4kba4bjfyaysjjgcyhfqzpcyk 342562 342324 2026-05-16T02:53:48Z Kentangputarr 10725 342562 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}pakcik{{cp|tmw|}} pncpadfl2bcevivltstqbrwg4xol9ix Wikikamus:tmw/Pegik 4 116594 342341 332959 2026-05-15T14:49:55Z Khalifah5156 9987 342341 wikitext text/x-wiki pergi ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}pergi{{cp|tmw|}} pwl62mby7g0lr8m3gheosfem1ldmnld Wikikamus:tmw/pegik nun 4 116595 342322 283546 2026-05-15T14:34:32Z Haqifaz 9982 342322 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}}pergi sana {{cp|tmw|}} ge5bir9gkeih8ejolpmcebnzcmsp0aw Wikikamus:tmw/mak 4 116596 342321 283472 2026-05-15T14:33:57Z Khalifah5156 9987 342321 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}Mak{{cp|tmw|}} c9f2nvqsh75ncakkim2nlngxyxlghaw 342557 342321 2026-05-16T02:52:31Z Kentangputarr 10725 342557 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}mak{{cp|tmw|}} mwy59c399s7ww4twyv4p2ujvwlzssxs 342559 342557 2026-05-16T02:52:44Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Mak]] ke [[Wikikamus:tmw/mak]] 342557 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}mak{{cp|tmw|}} mwy59c399s7ww4twyv4p2ujvwlzssxs Wikikamus:tmw/Ayah 4 116598 341867 283475 2026-05-15T13:27:25Z Elléarden 9981 341867 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # Ayah {{cp|tmw|}} kool3ixmkk0av60ll093p3l0rpudqm0 342454 341867 2026-05-16T02:06:15Z Kembojalini 10746 342454 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # Ayah {{cp|tmw|'''Ayah''' akuk sakit |'''Ayah''' saya sakit}} 55cn7feixtjolaa8dfr2urlwcfjnobr Wikikamus:tmw/buah diyan 4 116599 342375 283539 2026-05-15T15:09:44Z Khalifah5156 9987 342375 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== buah deyan # {{label|tmw|Dialek|Bukit Lagong}}durian{{cp|tmw|}} 9f1652ophd7cw4f6do3p3wdw9zy2hff Wikikamus:tmw/apak 4 116600 342363 335824 2026-05-15T15:02:22Z Khalifah5156 9987 342363 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}apa{{cp|tmw|}} qnd4u8l1uvsjzldqas46h6qwfz0xsjn 342718 342363 2026-05-16T03:57:51Z Khalifah5156 9987 342718 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}apa{{cp|tmw|'''Apak''' yang diak buat deket situk? |'''Apa''' yang dia lakukan di situ? }} b4vfww3stowltnu5kwxcwdfc7xxnkmw Wikikamus:tmw/Inak 4 116601 342046 283478 2026-05-15T13:59:22Z Elléarden 9981 342046 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}} makcik {{cp|tmw|}} lq52dj08jo9qfv33i53ivug794lckxk 342578 342046 2026-05-16T02:59:49Z Kembojalini 10746 342578 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}} makcik {{cp|tmw|'''Inak''' diak deket hospital |'''Makcik''' dia dekat hospital }} sjkuocwc9htq22k3oq0eue0d6sgqvxu Wikikamus:tmw/buah niyu 4 116602 342377 283479 2026-05-15T15:11:09Z Khalifah5156 9987 342377 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}buah kelapa{{cp|tmw|}} pn39twbei6ie0gl3rq0jao4tkztxsa9 Wikikamus:tmw/Kamin 4 116603 342614 335826 2026-05-16T03:14:09Z Kembojalini 10746 342614 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # kami{{cp|tmw|'''Kamin''' nak pegi ke pasa|'''Kami''' nak pergi ke pasar }} f9q28llw089ngu7pllq7u82bbzyurvl Wikikamus:tmw/nala 4 116605 342361 283482 2026-05-15T15:01:12Z Haqifaz 9982 342361 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|tmw|dialek|Bukit Lagong}}selalu{{cp|tmw|}} jcjiengm9sn8p4ug88phwi2pgwmfr5v Wikikamus:tmw/akuk 4 116607 342360 283484 2026-05-15T15:00:35Z Khalifah5156 9987 342360 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}saya{{cp|tmw|}} mlvt51m3lstahcywcrcehdw8vzaij52 Wikikamus:tmw/semomok 4 116609 342343 283489 2026-05-15T14:51:39Z Khalifah5156 9987 342343 wikitext text/x-wiki Daun kunyit ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}Daun kunyit{{cp|tmw|}} 3ta83rgc56a8v9fihahgehwab56iww0 342617 342343 2026-05-16T03:17:35Z Kentangputarr 10725 342617 wikitext text/x-wiki Daun kunyit ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}daun kunyit{{cp|tmw|}} nmx0il1ie0vvozyslmlwgvjyqm3iucg 342618 342617 2026-05-16T03:17:48Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Semomok]] ke [[Wikikamus:tmw/semomok]] 342617 wikitext text/x-wiki Daun kunyit ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}daun kunyit{{cp|tmw|}} nmx0il1ie0vvozyslmlwgvjyqm3iucg Wikikamus:tmw/balik 4 116610 342368 283487 2026-05-15T15:05:56Z Khalifah5156 9987 342368 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|Dialek|Bukit Lagong}}balik qee5qwe67rrsl4qh72r968jwaxlap3l 342369 342368 2026-05-15T15:06:19Z Khalifah5156 9987 342369 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|Dialek|Bukit Lagong}}balik{{cp|tmw|}} r1wbhsvqjbn2yrrjou0v1n9lmt9smzf Wikikamus:tmw/hap 4 116611 342392 283488 2026-05-15T15:19:46Z Azrifrb 9991 342392 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # tiada{{cp|tmw|}} 1ztzhfhk2kf4hzgqkg8fuf3dfqivu6r 342403 342392 2026-05-15T15:39:31Z Khalifah5156 9987 342403 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}tiada{{cp|tmw|}} ma935sozshsste0y6pj2b55sij8ghn6 342528 342403 2026-05-16T02:39:52Z Faizz315891 10774 342528 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}tiada{{cp|tmw|Kampung ituk '''hap''' bendak air.|Kampung itu '''tiada''' air.}} fbxbwv7ztg6x0bue3axg7di8muubmz2 Wikikamus:tmw/Manik 4 116612 342325 283490 2026-05-15T14:37:50Z Khalifah5156 9987 342325 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}mandi{{cp|tmw|}} nyf4jsi8eiq7a60fvq8evnylr0i1hem 342635 342325 2026-05-16T03:26:54Z Haqifaz 9982 342635 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}mandi{{cp|tmw|Jangan "'manik''' sungai|Jangan mandi sungai}} 6gi2bhjd95fk5yx4xyu395c27l4b42k Wikikamus:tmw/ke’ejak 4 116613 342419 283545 2026-05-15T15:54:57Z Khalifah5156 9987 342419 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== Kejak # {{label|tmw|Dialek|Bukit Lagong}}Bekerja{{cp|tmw|}} jfx530swu2gzzk6r7ounvrk9q09otna 342696 342419 2026-05-16T03:49:10Z Kentangputarr 10725 342696 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== Kejak # {{label|tmw|Dialek|Bukit Lagong}}bekerja{{cp|tmw|}} mbeul7tkz4vrd06lpv8vzg00shyoj3c Wikikamus:tmw/niak 4 116614 342358 283492 2026-05-15T14:59:21Z Haqifaz 9982 342358 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}}tiada {{cp|tmw|}} fxcet2kgt3m599xakntmx6eo2hgu2z6 Wikikamus:tmw/nyap elok 4 116616 342340 283494 2026-05-15T14:49:23Z Haqifaz 9982 342340 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|tmw|dialek|Bukit Lagong}}tidak elok {{cp|tmw|}} 2g6vchwhf4inibjvl4cg2jujpycypzr Wikikamus:tmw/inih 4 116617 342068 283495 2026-05-15T14:00:11Z Elléarden 9981 342068 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}} ini {{cp|tmw|}} ackc5tej6e2ensao9v0quz125ag97yh 342518 342068 2026-05-16T02:35:53Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Inih]] ke [[Wikikamus:tmw/inih]]: Tajuk salah eja 342068 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}} ini {{cp|tmw|}} ackc5tej6e2ensao9v0quz125ag97yh 342520 342518 2026-05-16T02:36:25Z Kentangputarr 10725 342520 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}}ini {{cp|tmw|}} 7biyncw3u03ifmcnvn49oqb2vgx6sot 342624 342520 2026-05-16T03:22:35Z Haqifaz 9982 342624 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}}ini {{cp|tmw|'''Inih'' tempat tinggal akuk|'''Ini''' tempat tinggal saya}} 6kefc6z7lm7glqqxd6q4smkqnfmee8c Wikikamus:tmw/pucuk hubik 4 116618 342309 283496 2026-05-15T14:25:44Z Haqifaz 9982 342309 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}} pucuk ubi {{cp|tmw|}} pa7vy2duj7u1w4kqh6wkhefwo4qoebh Wikikamus:tmw/ayi 4 116619 342365 283497 2026-05-15T15:04:13Z Khalifah5156 9987 342365 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}air{{cp|tmw|}} 1udylyu7873gth89ktzglxmqek61fua 342728 342365 2026-05-16T04:01:05Z Khalifah5156 9987 342728 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}air{{cp|tmw|Adik nak minum '''ayi'''|Adik mahu minum '''air'''}} eqfupab239zjcphg2arhghv95woic4w Wikikamus:tmw/ngael 4 116620 342332 283498 2026-05-15T14:43:56Z Khalifah5156 9987 342332 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|Dialek|Bukit Lagong}}mengail{{cp|tmw|}} 0qkp94ezgkj2pfyep1305sozepjfpsy 342593 342332 2026-05-16T03:04:55Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Ngael]] ke [[Wikikamus:tmw/ngael]] 342332 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|Dialek|Bukit Lagong}}mengail{{cp|tmw|}} 0qkp94ezgkj2pfyep1305sozepjfpsy Wikikamus:tmw/Ninik 4 116621 342335 283499 2026-05-15T14:46:47Z Khalifah5156 9987 342335 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}atuk{{cp|tmw|}} rnr6sqekcaylxwxn05t623pkog766ok Wikikamus:tmw/ladak 4 116622 342423 283500 2026-05-15T15:58:10Z Khalifah5156 9987 342423 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}cili{{cp|tmw|"ladak" ini sangat pedas}} exq0e3pk9k8cfbngukkjdcrnb5m4b2h 342427 342423 2026-05-15T15:59:52Z Haqifaz 9982 342427 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}cili{{cp|tmw|"'ladak"' ini sangat pedas}} 3emm1zgh676qka8xs5abntwpzl23orn 342428 342427 2026-05-15T16:00:26Z Haqifaz 9982 342428 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}cili{{cp|tmw|'''ladak''' ini sangat pedas}} 18vid0t0qtml7ycd23ljkezk5fle6cl Wikikamus:tmw/Ampai kain 4 116623 341866 283501 2026-05-15T13:24:20Z Elléarden 9981 341866 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Temuan}} ampai baju {{cp|tmw|}} 8ff35w2nx2gzjxsbafjow3zpflggo31 Wikikamus:tmw/apen 4 116624 342364 283502 2026-05-15T15:03:04Z Khalifah5156 9987 342364 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}monyet{{cp|tmw|}} ot6r1ctbryhcse48oovf91940lgpq41 342723 342364 2026-05-16T03:59:36Z Khalifah5156 9987 342723 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}monyet{{cp|tmw|Eee, adak '''apen''' deket atas pokok|Eee, ada '''monyet''' atas pokok}} ftu9tqi0itlafm76i3r28jilqjj0uw6 Wikikamus:tmw/ong 4 116625 342336 283503 2026-05-15T14:47:04Z Haqifaz 9982 342336 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}}kau{{cp|tmw|}} i8zxox3c93v1690ia7qrpqt17znz512 Wikikamus:tmw/gauk 4 116626 341894 283504 2026-05-15T13:54:07Z Elléarden 9981 341894 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}} Kakak {{cp|tmw|}} eocapewuhs2k7twkj9wgi9k25nfz4c7 342478 341894 2026-05-16T02:20:30Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Gauk]] ke [[Wikikamus:tmw/gauk]]: Tajuk salah eja 341894 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}} Kakak {{cp|tmw|}} eocapewuhs2k7twkj9wgi9k25nfz4c7 342481 342478 2026-05-16T02:20:55Z Kentangputarr 10725 342481 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}} kakak {{cp|tmw|}} gsf041i17jf9hpd74nvma26m1h45n8b 342482 342481 2026-05-16T02:21:23Z Kentangputarr 10725 342482 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}}kakak {{cp|tmw|}} p5533ngq646x8bbkjvps4bej8ojsai2 Wikikamus:tmw/buah mikai 4 116627 342376 283505 2026-05-15T15:10:26Z Khalifah5156 9987 342376 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}buah tembikai{{cp|tmw|}} l7ev78mqhtefu0gjq3t3pbudsh098m1 Wikikamus:tmw/gaok 4 116628 341888 283506 2026-05-15T13:51:58Z Elléarden 9981 341888 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}} Kakak {{cp|tmw|}} lumxqj9vcdl1kqxg1szp2ri7df490jm 342471 341888 2026-05-16T02:19:00Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Gaok]] ke [[Wikikamus:tmw/gaok]]: Tajuk salah eja 341888 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}} Kakak {{cp|tmw|}} lumxqj9vcdl1kqxg1szp2ri7df490jm 342474 342471 2026-05-16T02:19:48Z Kentangputarr 10725 342474 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}} kakak {{cp|tmw|}} br65yy2rcnzz93id2xuz0t3hctt7ohq 342484 342474 2026-05-16T02:21:55Z Kentangputarr 10725 342484 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}}kakak {{cp|tmw|}} gzn2bambm5vh96y7d774eauncuu9w9b 342489 342484 2026-05-16T02:24:49Z Kembojalini 10746 342489 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}}kakak {{cp|tmw|Nin '''gaok''' akuk}} r7y5tnmcq9q5mx3m3s24bv4r3bjpacr Wikikamus:tmw/kejak 4 116629 342304 283508 2026-05-15T14:13:42Z Elléarden 9981 342304 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}} Kerja {{cp|tmw|}} 0nu2baq7oxca8d2pb5cvow4ck5i1ivm 342532 342304 2026-05-16T02:41:38Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Kejak]] ke [[Wikikamus:tmw/kejak]]: Tajuk salah eja 342304 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}} Kerja {{cp|tmw|}} 0nu2baq7oxca8d2pb5cvow4ck5i1ivm 342535 342532 2026-05-16T02:42:05Z Kentangputarr 10725 342535 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}}kerja {{cp|tmw|}} slghm5u1mk51ol9bogd1co48g54oz7e 342592 342535 2026-05-16T03:04:50Z Faizz315891 10774 342592 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}}kerja {{cp|tmw|Akuk tengah '''kejak'''.|Aku tengah '''kerja'''.}} rs6lw5zogyl9blmjm3oeqomzimuped8 Wikikamus:tmw/pegik manak 4 116630 342329 283509 2026-05-15T14:40:59Z Haqifaz 9982 342329 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}}pergi mana {{cp|tmw|}} rm1nityz4azi8sb7nc1hc9elsd4okol Wikikamus:tmw/pagik 4 116631 342326 283510 2026-05-15T14:38:53Z Zreeeeeee 10698 342326 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # pagi, selamat pagik{{cp|tmw|}} c7ew5daa4nx32dkrlz33glot1gu3bz8 Wikikamus:tmw/kamin 4 116633 342414 283512 2026-05-15T15:50:16Z Khalifah5156 9987 342414 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} #{{label|tmw|Dialek|Bukit Lagong}}kami {{cp|tmw|}} mnx63172g2npei8hg5vvxr5hlr223no Wikikamus:tmw/gelap 4 116634 341957 283513 2026-05-15T13:56:22Z Elléarden 9981 341957 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}} Malam {{cp|tmw|}} n3wgpsgjemr0okstayvexc0tr5hl0zf 342498 341957 2026-05-16T02:27:58Z Kentangputarr 10725 342498 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}}malam {{cp|tmw|}} b01mb3vw4efizsbsgzpjidogmslbkt4 342499 342498 2026-05-16T02:28:23Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Gelap]] ke [[Wikikamus:tmw/gelap]]: Tajuk salah eja 342498 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}}malam {{cp|tmw|}} b01mb3vw4efizsbsgzpjidogmslbkt4 342529 342499 2026-05-16T02:40:23Z Barbiemaripossa 9985 342529 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}} malam{{cp|tmw|Aik nak '''gelap''' dah|Hari sudah '''malam'''}}{{cp|tmw|}} qmuwlptmx28z8j2ancrdl5zilu605d5 342540 342529 2026-05-16T02:43:40Z Kembojalini 10746 342540 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}} malam{{cp|tmw|Aik nak '''gelap''' dah|Hari sudah '''malam'''}} iqmqbc4xxjemtk87cns7lx3x4t8tcwb Wikikamus:tmw/genui 4 116636 342399 283515 2026-05-15T15:25:49Z Khalifah5156 9987 342399 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}nenek{{cp|tmw|}} icjlyqhgl9r3r0nv56oe3mhddpsv9yh Wikikamus:tmw/pegik 4 116638 342331 283517 2026-05-15T14:43:08Z Haqifaz 9982 342331 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|dialek|Bukit Lagong}}pergi{{cp|tmw|}} 4selmih06lb21gth0eozzw57vd33o9r Wikikamus:tmw/mamak 4 116639 342397 283518 2026-05-15T15:24:08Z Haqifaz 9982 342397 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}}pakcik {{cp|tmw|}} 0v0ge3ur234cgz1oul19d7h682r49d1 Wikikamus:tmw/nyayik 4 116640 342339 283519 2026-05-15T14:48:58Z Khalifah5156 9987 342339 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}Menyanyi{{cp|tmw|}} awwyz4x6c8ku1v85y1zucvayvdkhm84 342606 342339 2026-05-16T03:11:07Z Kentangputarr 10725 342606 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}menyanyi{{cp|tmw|}} hr0rl87a588s1kfieaxzj0w8zax5xa9 342608 342606 2026-05-16T03:11:25Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Nyayik]] ke [[Wikikamus:tmw/nyayik]] 342606 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}menyanyi{{cp|tmw|}} hr0rl87a588s1kfieaxzj0w8zax5xa9 Wikikamus:tmw/inak 4 116641 342407 283520 2026-05-15T15:44:23Z Khalifah5156 9987 342407 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}makcik{{cp|tmw|}} hrvy3kr0b1uax4ro7euahie6gyfzk4y Wikikamus:tmw/kelobok 4 116643 342413 283522 2026-05-15T15:49:41Z Azrifrb 9991 342413 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # rama rama{{cp|tmw|}} hh2c4j6iyzecc1vxw66sag1lj6e277m 342416 342413 2026-05-15T15:52:11Z Khalifah5156 9987 342416 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}rama rama{{cp|tmw|}} e1hqspdzlmmkjjrdzho1utvq73p5svg 342763 342416 2026-05-16T04:23:58Z Khalifah5156 9987 342763 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}rama rama{{cp|tmw|'''Kelobok''' ituk lawa|Rama-rama itu lawa}} cfkvzjocz4g96c9iicipme2jq8r6kjn 342764 342763 2026-05-16T04:24:19Z Khalifah5156 9987 342764 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}rama rama{{cp|tmw|'''Kelobok''' ituk lawa|'''Rama-rama''' itu lawa}} fckt5u4bnnu34z4o0nvngznkxa989zr Wikikamus:tmw/pokok ladak 4 116646 342311 283525 2026-05-15T14:27:54Z Haqifaz 9982 342311 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}} pokok cili{{cp|tmw|}} n6wiwf7yd34wlrli8a3jb5bcjl6mquz Wikikamus:tmw/Lupak 4 116648 342320 283527 2026-05-15T14:32:57Z Khalifah5156 9987 342320 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}Lupa{{cp|tmw|}} bn59p517ig8gvyggrm57geskodt2n57 342554 342320 2026-05-16T02:51:17Z Kentangputarr 10725 342554 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}lupa{{cp|tmw|}} luph2afjjxqz6ednop2erso2ogbdgvh Wikikamus:tmw/ikan semelak 4 116650 342406 283529 2026-05-15T15:43:39Z Khalifah5156 9987 342406 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}ikan keli{{cp|tmw|}} mqp4ko9g3bheygfzick717iocsc6bjv Wikikamus:tmw/rimau 4 116651 342306 283530 2026-05-15T14:20:01Z Haqifaz 9982 342306 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}}harimau {{cp|tmw|}} oqs1hwf2krdnhrb2pfeh71o4c7tg5wu Wikikamus:tmw/gek 4 116653 342390 283538 2026-05-15T15:18:53Z Khalifah5156 9987 342390 wikitext text/x-wiki abang ipar ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}}abang Ipar{{cp|tmw|}} nvnrsw3cq6h6fuc21druam0i0azazjf 342496 342390 2026-05-16T02:27:24Z Kentangputarr 10725 342496 wikitext text/x-wiki abang ipar ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}}abang ipar{{cp|tmw|}} 2lfm65n0oymzumbssxvv9gu4ajwq4s1 Wikikamus:tmw/misan 4 116654 342382 283534 2026-05-15T15:14:22Z Haqifaz 9982 342382 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}}madu {{cp|tmw|}} k2lv4je1t29bkp699kw2t1g8v81joq2 Wikikamus:tmw/herbak 4 116655 342396 283536 2026-05-15T15:23:33Z Azrifrb 9991 342396 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # herba{{cp|tmw|}} 6zk9k00we0djum4zql4sqplirthk1pw 342405 342396 2026-05-15T15:42:54Z Khalifah5156 9987 342405 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}herba{{cp|tmw|}} rordz4cnzezxsd9g2dhteqn41ljaafp Wikikamus:tmw/mimpi nyahat 4 116656 342569 283537 2026-05-16T02:56:16Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Mimpi nyahat]] ke [[Wikikamus:tmw/mimpi nyahat]]: Tajuk salah eja 283537 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # Mimi buruk 1q2sg82bgggcgqw29ygnijcniaobdli 342575 342569 2026-05-16T02:58:53Z Kentangputarr 10725 342575 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}}mimpi buruk 3zuudx2h2z9iswpqzvvkggv56caijtt 342577 342575 2026-05-16T02:59:45Z Kentangputarr 10725 342577 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}}mimpi buruk {{cp|tmw|}} m9cy500d97ymzmts94ejglxt06onxfd Wikikamus:tmw/temiang 4 116657 341910 283540 2026-05-15T13:54:39Z Haqifaz 9982 341910 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}} sumpit {{cp|tmw|}} c0iw51drev5er92yum77pg20tmog1ej Wikikamus:tmw/tidu 4 116658 341883 283542 2026-05-15T13:45:19Z Haqifaz 9982 341883 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}} tidur {{cp|tmw|}} 27vuug6nox2hs2xdfchxr7rmjb7g4tn 342517 341883 2026-05-16T02:35:50Z Faizz315891 10774 342517 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}} tidur {{cp|tmw|akuk tengah '''tidu''' di ruang tamuk.|aku tengah '''tidur''' di ruang tamu.}} p43rah3s1bwc4yobn81zngarys3gdkp Wikikamus:tmw/jaras 4 116663 342410 283549 2026-05-15T15:47:31Z Khalifah5156 9987 342410 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}bakul{{cp|tmw|}} 3rqltt1ky147voi7ui9qkluyp5idz38 Wikikamus:tmw/memancing 4 116671 342385 283566 2026-05-15T15:16:53Z Haqifaz 9982 342385 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== ngail # {{label|tmw|dialek|Bukit Lagong}}memancing {{cp|tmw|}} fv6ss2pt10bj8dh2h5k57m4irbe6uo2 Wikikamus:tmw/jandak 4 116674 342408 283562 2026-05-15T15:45:10Z Khalifah5156 9987 342408 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}janda{{cp|tmw|}} pf977e55hmix9l6fbferi00j7znopqg Wikikamus:tmw/budak kecin 4 116680 341877 283569 2026-05-15T13:39:26Z Elléarden 9981 341877 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # bayi {{cp|tmw|}} 4kkoa8nzkv2kjyadn5eil8rlm5y4675 342486 341877 2026-05-16T02:24:30Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Budak kecin]] ke [[Wikikamus:tmw/budak kecin]]: Tajuk salah eja 341877 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # bayi {{cp|tmw|}} 4kkoa8nzkv2kjyadn5eil8rlm5y4675 Wikikamus:tmw/budak babel 4 116684 341875 283573 2026-05-15T13:36:27Z Elléarden 9981 341875 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # Budak nakal {{cp|tmw|}} 18w2ujwth4grl1mq3p7vjc6l1rtn96b 342490 341875 2026-05-16T02:25:06Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Budak babel]] ke [[Wikikamus:tmw/budak babel]]: Tajuk salah eja 341875 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # Budak nakal {{cp|tmw|}} 18w2ujwth4grl1mq3p7vjc6l1rtn96b 342492 342490 2026-05-16T02:25:48Z Kentangputarr 10725 342492 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # budak nakal {{cp|tmw|}} h3es9og16zsx1ndw2up60em01q0mr42 Wikikamus:tmw/Jobok 4 116686 342300 283575 2026-05-15T14:11:21Z Elléarden 9981 342300 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}} Melayu {{cp|tmw|}} 547pti56u1jwz6fcssip0bggibcg0v0 342607 342300 2026-05-16T03:11:16Z Kembojalini 10746 342607 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}} Melayu {{cp|tmw|Diak tuk oang '''jobok'''|Dia tu orang '''Melayu'''}} rvsajimxurez37fyv1yxx58p9bbnnji Wikikamus:tmw/ghebung 4 116689 342389 283578 2026-05-15T15:18:42Z Azrifrb 9991 342389 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # rebung{{cp|tmw|}} 8vuiv3ytlyr9mzuxddb1tcfzbya3exq 342400 342389 2026-05-15T15:27:46Z Khalifah5156 9987 342400 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}rebung{{cp|tmw|}} amh7tjifwufondt7raglnqdjlki5v0w Wikikamus:tmw/nyap 4 116694 342344 283583 2026-05-15T14:51:49Z Haqifaz 9982 342344 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|tmw|dialek|Bukit Lagong}}tidak {{cp|tmw|}} 7bchkwswuptox38mt368hvbm50cmlb9 Wikikamus:tmw/mutan 4 116697 342366 283586 2026-05-15T15:04:16Z Haqifaz 9982 342366 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}}buah rambutan {{cp|tmw|}} j94u632i8eez6a2qzth799uoedwfd15 342622 342366 2026-05-16T03:20:19Z Faizz315891 10774 342622 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}}buah rambutan {{cp|tmw|'''mutan''' ituk manis.|'''buah rambutan''' itu manis.}} sz9em7eh1td81k5bumda68mtqw33lup Wikikamus:tmw/yibut 4 116701 341869 283590 2026-05-15T13:28:39Z Haqifaz 9982 341869 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # ribut {{cp|tmw|}} hddacx8dg0bmyo679gorwwddw67rxe2 341885 341869 2026-05-15T13:46:39Z Haqifaz 9982 341885 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}}ribut {{cp|tmw|}} 5g3o16gxruc9hh1u4r52bzwopdh1j8s 342494 341885 2026-05-16T02:26:48Z Faizz315891 10774 342494 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}}ribut {{cp|tmw|Kampung itu bendak '''yibut'''.|Kampung itu dilanda '''ribut'''.}} getgkwwsvdn5ktog1z2710refhyp1a2 Wikikamus:tmw/bantai 4 116703 342371 283592 2026-05-15T15:07:07Z Khalifah5156 9987 342371 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|Dialek|Bukit Lagong}}Potong lauk (contoh: ayam){{cp|tmw|}} hco2ow547xi82ocg13cpdid7kwc5ilb Wikikamus:tmw/tempuyak 4 116717 341887 283606 2026-05-15T13:49:44Z Haqifaz 9982 341887 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}}tempoyak pcgvgukp1j1oyjdk7gzvevjledcy173 Wikikamus:tmw/kaba 4 116721 342412 283610 2026-05-15T15:48:32Z Khalifah5156 9987 342412 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|Dialek|Bukit Lagong}}cakap{{cp|tmw|}} pzbszfosbfcfsb2f9ck4ucggyfvfo3q Wikikamus:tmw/air latak 4 116724 342356 283613 2026-05-15T14:57:50Z Khalifah5156 9987 342356 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}air terjun{{cp|tmw|}} k08cwiupuk29foc0tsx40efan4x6ep3 342702 342356 2026-05-16T03:51:06Z Khalifah5156 9987 342702 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}air terjun{{cp|tmw|Akuk bahuk lepas mandik '''air latak'''|Saya baru lepas mandi '''air terjun'''}} lpysv50xtedhx1pjmtum5ara8p0lw3s Wikikamus:tmw/lapa 4 116734 342424 283623 2026-05-15T15:58:23Z Haqifaz 9982 342424 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|tmw|dialek|Bukit Lagong}}lapar {{cp|tmw|}} fdys0kud6f63fko7y18l473fy2pjrug Wikikamus:tmw/pelahang 4 116737 342319 283626 2026-05-15T14:32:42Z Haqifaz 9982 342319 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|tmw|dialek|Bukit Lagong}}penipu {{cp|tmw|}} e7mgf27mxhj4dfe7kjryxzcmnnjeeur Wikikamus:tmw/bungak 4 116743 342378 335843 2026-05-15T15:12:14Z Khalifah5156 9987 342378 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}bunga {{cp|tmw|}} 9sj4rwteccca2u9rxknmhodpmsuk97o Wikikamus:tmw/anying 4 116749 342362 283638 2026-05-15T15:01:38Z Khalifah5156 9987 342362 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}anjing{{cp|tmw|}} bnma02b1xnk9puvkg2ey90dflnvykrc 342566 342362 2026-05-16T02:55:27Z Barbiemaripossa 9985 342566 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}} anjing{{cp|tmw|Anying itu '''lawa''' nah|'''Anjing''' itu sangat comel}} bfx9wjho6hi8lxrko18d00fzhcih11f Wikikamus:tmw/haik muyang 4 116760 342402 283649 2026-05-15T15:29:15Z Khalifah5156 9987 342402 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} hari moyang{{cp|tmw|}} eh8iau00q9ywijjfwj1nfmwozx7c33f Wikikamus:tmw/habat 4 116761 342391 283650 2026-05-15T15:19:13Z Azrifrb 9991 342391 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # hati hati{{cp|tmw|}} rgjxpp2occdqzwpwbgeudjb1iyovccp 342401 342391 2026-05-15T15:28:25Z Khalifah5156 9987 342401 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|Dialek|Bukit Lagong}}hati hati{{cp|tmw|}} a4h3boin0qnni4d6n9dyfx4y2tob3rs 342682 342401 2026-05-16T03:41:18Z Kentangputarr 10725 342682 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|Dialek|Bukit Lagong}}hati-hati{{cp|tmw|}} ciwqm6j5k64hpmkeof2583gnlz1a3bu Wikikamus:tmw/sayu 4 116770 342302 283659 2026-05-15T14:12:47Z Haqifaz 9982 342302 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}}sayur {{cp|tmw|}} 86291hyrj2gg7czbq9c2ayv99nsedkg Wikikamus:tmw/lening 4 116789 342415 283678 2026-05-15T15:51:10Z Haqifaz 9982 342415 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|dialek|Bukit Lagong}}baling {{cp|tmw|}} 50aejfjnah1ep3akjophpzetrs1ohmc Wikikamus:tmw/aka ulan 4 116790 342359 283679 2026-05-15T14:59:28Z Khalifah5156 9987 342359 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}akar untuk merawat luka{{cp|tmw|}} 0eii5b16w5h0uykapg7nntqi5bscbko 342710 342359 2026-05-16T03:54:42Z Khalifah5156 9987 342710 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}akar untuk merawat luka{{cp|tmw|Ninik caik '''aka ulan''' di hutan|Atuk pergi mencari '''akar ulan''' di hutan}} 72hva5e43mdp21b9adl7j6hacz8mprj Wikikamus:tmw/wang tuhik 4 116794 342661 283683 2026-05-16T03:33:40Z Kentangputarr 10725 342661 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # orang tua bww1zz5rtrgpiscwjfu29v29sj1c2n1 342663 342661 2026-05-16T03:33:56Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Wang tuhik maen maen]] ke [[Wikikamus:tmw/wang tuhik]] 342661 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # orang tua bww1zz5rtrgpiscwjfu29v29sj1c2n1 Wikikamus:tmw/celau 4 116801 342381 283690 2026-05-15T15:14:16Z Khalifah5156 9987 342381 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}ribut membawa bencana{{cp|tmw|}} 4pef4zyax5t9rxfzdu342rjg3vhr7iq 342757 342381 2026-05-16T04:14:40Z Khalifah5156 9987 342757 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}ribut membawa bencana{{cp|tmw|Jangan main, kelak '''celau'''|Jangan main, nanti kena '''ribut bala'''}} cbi0qulvb0kj4hvsn7ipao5yxr057ca Kategori:id:Badan samawi 14 117160 342793 297711 2026-05-16T11:48:06Z Hakimi97 2668 342793 wikitext text/x-wiki {{delete|digantikan dengan [[:Kategori:id:Jasad cakerawala]]}} 6r41lqvks7ssc3f3r3mx6oujsvttbra Wikikamus:tmw/diak 4 117504 341881 313922 2026-05-15T13:42:29Z Elléarden 9981 341881 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} dia {{cp|tmw|}} 6t2lhf5owubwcqhamir0lmb8x23rr2u 342460 341881 2026-05-16T02:12:42Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Diak]] ke [[Wikikamus:tmw/diak]]: Tajuk salah eja 341881 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} dia {{cp|tmw|}} 6t2lhf5owubwcqhamir0lmb8x23rr2u Wikikamus:tmw/lenik 4 117505 342317 332952 2026-05-15T14:31:26Z Khalifah5156 9987 342317 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|dialek|Bukit Lagong}}baling inzlw21t5e1nwq6ex57eh1mp4yu9rk9 342318 342317 2026-05-15T14:31:57Z Khalifah5156 9987 342318 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|dialek|Bukit Lagong}}baling{{cp|tmw|}} 25gplwal7u2dv1f9a1t1a8eparz0a4f 342552 342318 2026-05-16T02:50:23Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Lenik]] ke [[Wikikamus:tmw/lenik]] 342318 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|dialek|Bukit Lagong}}baling{{cp|tmw|}} 25gplwal7u2dv1f9a1t1a8eparz0a4f Wikikamus:tmw/Nun 4 117506 342338 314018 2026-05-15T14:48:07Z Khalifah5156 9987 342338 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} sana{{cp|tmw|}} lxaxpvkws7ns1rpz70i8y2sb12y4bxp Wikikamus:tmw/tanuk 4 117507 342351 314021 2026-05-15T14:55:05Z Khalifah5156 9987 342351 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} tanduk{{cp|tmw|}} sa7mqtvlz2i7t1beccznyqkwtwef6ni 342644 342351 2026-05-16T03:30:21Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Tanuk]] ke [[Wikikamus:tmw/tanuk]] 342351 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} tanduk{{cp|tmw|}} sa7mqtvlz2i7t1beccznyqkwtwef6ni 342647 342644 2026-05-16T03:30:45Z Kentangputarr 10725 342647 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}}tanduk{{cp|tmw|}} 52xahoaxacx8fb5g69h45qoh269kuir Wikikamus:tmw/Lemuk 4 117508 342315 314022 2026-05-15T14:30:00Z Khalifah5156 9987 342315 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} lembu{{cp|tmw|}} o4rgylyh2h7048eurk75gqaf4fc5k00 342548 342315 2026-05-16T02:47:23Z Kentangputarr 10725 342548 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}}lembu{{cp|tmw|}} f3tziebtgjz80lfdeq65rvc12t3irfw Wikikamus:tmw/lada 4 117509 342308 314023 2026-05-15T14:23:29Z Khalifah5156 9987 342308 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} cili{{cp|tmw|}} o45ge31b9xvwggyqnj2l43kf6v8p3fn 342538 342308 2026-05-16T02:42:40Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Lada]] ke [[Wikikamus:tmw/lada]] 342308 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} cili{{cp|tmw|}} o45ge31b9xvwggyqnj2l43kf6v8p3fn Wikikamus:tmw/letih 4 117593 342411 326283 2026-05-15T15:48:17Z Haqifaz 9982 342411 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} penat {{cp|tmw|}} pdu28pnwduoei8h6chrcawz0ia80l2h 342646 342411 2026-05-16T03:30:21Z Faizz315891 10774 342646 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} penat {{cp|tmw|akuk dah '''letih'''.|aku dah '''penat'''.}} ptn8u0v7qnlgwi0pl7y1cx8rnvadn6y Wikikamus:tmw/taek 4 118230 342346 332956 2026-05-15T14:52:56Z Khalifah5156 9987 342346 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|Dialek|Bukit Lagong}}Tarik{{cp|tmw|}} tehmyofq5k6y3mupxqqjvetge83vuvo 342630 342346 2026-05-16T03:25:47Z Kentangputarr 10725 342630 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|Dialek|Bukit Lagong}}tarik{{cp|tmw|}} 0iynphbx64nnua0gs4ibzbocic3dz8t 342631 342630 2026-05-16T03:26:07Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Taek]] ke [[Wikikamus:tmw/taek]] 342630 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|Dialek|Bukit Lagong}}tarik{{cp|tmw|}} 0iynphbx64nnua0gs4ibzbocic3dz8t Wikikamus:tmw/Genui 4 118231 341980 332957 2026-05-15T13:57:05Z Elléarden 9981 341980 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} nenek {{cp|tmw|}} pweps2yyqu9kkw7lxlr9iv50ckqkhxg Wikikamus:tmw/Menyeler 4 118232 342327 332961 2026-05-15T14:39:53Z Khalifah5156 9987 342327 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} {{cp|tmw|jangan menyeler tengah waktuk hujan kelak sakit.}} 5lis0s98warjjicpryucru5atlvll9x Wikikamus:tmw/gosok gigik 4 118233 342506 332960 2026-05-16T02:30:12Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Gosok gigik]] ke [[Wikikamus:tmw/gosok gigik]]: Tajuk salah eja 332960 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} gosok gigik podxnevce8ogpwubxw8f5vzsfpdm20i 342511 342506 2026-05-16T02:31:43Z Kentangputarr 10725 342511 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit lagong}}gosok gigik # {{cp|tmw|}} mkwdj6gd8zm5nyr3hlhbis8rjbo8cs4 342565 342511 2026-05-16T02:55:13Z Kembojalini 10746 342565 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit lagong}}gosok gigik # {{cp|tmw|'''Gosok gigik''' sampai gigik lukak|'''Gosok gigi''' sampai gigi terluka }} m6c38dsbo7asu5394py1mjy90x0iev2 Wikikamus:tmw/tali dendan 4 118234 342348 332962 2026-05-15T14:53:49Z Khalifah5156 9987 342348 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} tali dendan{{cp|tmw|}} pixoybg0cat9kdva8pcs09gywpczhru 342634 342348 2026-05-16T03:26:54Z Kentangputarr 10725 342634 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}}tali dendan{{cp|tmw|}} cejvjtjk2n81xxj9556qszq1116nt92 342636 342634 2026-05-16T03:27:09Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Tali dendan]] ke [[Wikikamus:tmw/tali dendan]] 342634 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}}tali dendan{{cp|tmw|}} cejvjtjk2n81xxj9556qszq1116nt92 Wikikamus:tmw/tungkih 4 118235 342353 332963 2026-05-15T14:56:05Z Khalifah5156 9987 342353 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}Tolak{{cp|tmw|}} gykow66a6fany49a552hyjjzzwlks9f 342649 342353 2026-05-16T03:31:15Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Tungkih]] ke [[Wikikamus:tmw/tungkih]] 342353 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}Tolak{{cp|tmw|}} gykow66a6fany49a552hyjjzzwlks9f 342651 342649 2026-05-16T03:31:29Z Kentangputarr 10725 342651 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}tolak{{cp|tmw|}} iri3cniwmwetqwnngmrld7ezqdh725n Wikikamus:tmw/krusik 4 118236 342420 332964 2026-05-15T15:55:20Z Khalifah5156 9987 342420 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} kerusi{{cp|tmw|}} dm7yih9s1bmmle7gz0gtm6ijbvawcvs Wikikamus:tmw/Busuk 4 118237 341879 332965 2026-05-15T13:40:21Z Elléarden 9981 341879 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} busuk {{cp|tmw|}} buxjkhlweth413bbyp3egxkof37o33v Wikikamus:tmw/lego 4 118238 342312 332973 2026-05-15T14:28:08Z Khalifah5156 9987 342312 wikitext text/x-wiki merayap ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} merayap{{cp|tmw|}} fwv9lkeiffxy8yzzrq3c21abns7zqp5 342541 342312 2026-05-16T02:44:24Z Kentangputarr 10725 342541 wikitext text/x-wiki merayap ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}}merayap{{cp|tmw|}} jazpjtyaurptcl70g3i1y6xa15kl7nk 342542 342541 2026-05-16T02:44:36Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Lego]] ke [[Wikikamus:tmw/lego]] 342541 wikitext text/x-wiki merayap ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}}merayap{{cp|tmw|}} jazpjtyaurptcl70g3i1y6xa15kl7nk Wikikamus:tmw/jaghas 4 118239 342522 332970 2026-05-16T02:37:44Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Jala]] ke [[Wikikamus:tmw/jala]] 332970 wikitext text/x-wiki Jaghas ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} contoh jaghas nmni2xx83wnqkzs0i5295wbmqej7i5d 342525 342522 2026-05-16T02:38:29Z Kentangputarr 10725 342525 wikitext text/x-wiki Jaghas ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}}jaghas{{cp|tmw|}} 679z6gr72vqie1w0xpo1c7uer17xqqx 342690 342525 2026-05-16T03:45:38Z Kentangputarr 10725 342690 wikitext text/x-wiki Jaghas ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}}jala{{cp|tmw|}} rh6j1i9jnb1wmi815tsywwlzbfvjy5n 342691 342690 2026-05-16T03:45:47Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/jala]] ke [[Wikikamus:tmw/jaghas]] 342690 wikitext text/x-wiki Jaghas ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}}jala{{cp|tmw|}} rh6j1i9jnb1wmi815tsywwlzbfvjy5n Wikikamus:tmw/Lawa 4 118240 342310 332968 2026-05-15T14:25:45Z Khalifah5156 9987 342310 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} cantik{{cp|tmw|}} so35bj419leunlfc4ebh7c5rd9k2lic Wikikamus:tmw/Niak 4 118241 342334 332975 2026-05-15T14:45:52Z Khalifah5156 9987 342334 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} Tiada{{cp|tmw|}} 09jr18rmq88v5sn8z69zzrh95efdxvc 342595 342334 2026-05-16T03:05:37Z Kentangputarr 10725 342595 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}}tiada{{cp|tmw|}} sej7vxcouheivi4tkkf4jsvlbunng8i Wikikamus:tmw/bajuk 4 118242 341868 332974 2026-05-15T13:28:37Z Elléarden 9981 341868 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} baju {{cp|tmw|}} 8hz254cmgad45i8xkzkjpjlccdragx4 342457 341868 2026-05-16T02:10:26Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Bajuk]] ke [[Wikikamus:tmw/bajuk]]: Tajuk salah eja 341868 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} baju {{cp|tmw|}} 8hz254cmgad45i8xkzkjpjlccdragx4 342459 342457 2026-05-16T02:12:33Z Kembojalini 10746 342459 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} baju {{cp|tmw|'''Bajuk''' nin bahuk di belik|'''Baju''' ini baru di beli}} qefsps44qwvcrjud22yr83a8cwto5jv Wikikamus:tmw/Ngail 4 118243 342333 332976 2026-05-15T14:45:04Z Khalifah5156 9987 342333 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|Dialek|Bukit Lagong}}Memancing{{cp|tmw|}} kr8mshwu9hp0yo65peeg4qpft1yd0un Wikikamus:tmw/laik 4 118244 342425 332977 2026-05-15T15:58:50Z Khalifah5156 9987 342425 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} lari{{cp|tmw|}} tkdap80crfsr1t9rhe6kwkfjnrt0yma 342678 342425 2026-05-16T03:40:08Z Faizz315891 10774 342678 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} lari{{cp|tmw|babik ituk '''laik''' ke hutan.|babi itu '''lari''' ke hutan.}} 7q9i6crdevhq3r9zfh591xzo48cpz4k Wikikamus:tmw/jale 4 118245 342298 332979 2026-05-15T14:08:25Z Elléarden 9981 342298 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} gedik {{cp|tmw|}} ah3t9xh4qt9kfcip7cngzb0j64mwhfg 342526 342298 2026-05-16T02:39:00Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Jale]] ke [[Wikikamus:tmw/jale]] 342298 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} gedik {{cp|tmw|}} ah3t9xh4qt9kfcip7cngzb0j64mwhfg 342599 342526 2026-05-16T03:08:52Z Kembojalini 10746 342599 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} gedik {{cp|tmw|Diak tuk jenis '''jale'''|Dia tu jenis '''gedek'''}} gmlh00dfjw9bq4ql79yp7deeu5h47ea Wikikamus:tmw/Selempang 4 118247 342342 332981 2026-05-15T14:50:50Z Khalifah5156 9987 342342 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} selempang{{cp|tmw|}} asiw7nffqqsl4whaejyd0cu8dl5e7ln Wikikamus:tmw/oang mudak 4 118248 342337 332982 2026-05-15T14:48:03Z Haqifaz 9982 342337 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|1=tmw|2=dialek|3=Bukit lagong}}orang muda{{cp|tmw|}} 8r68jngnjkjqyg7e82t2ghngj9wd2bm Wikikamus:tmw/berus gigik 4 118250 342372 332984 2026-05-15T15:07:46Z Khalifah5156 9987 342372 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}berus gigi{{cp|tmw|}} hzytsxrrbt58srrstfsl0rehqv54dlo Wikikamus:tmw/lupak 4 118251 342430 332986 2026-05-15T16:02:35Z Khalifah5156 9987 342430 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}lupa{{cp|tmw|}} h9gfr323srykxh9f052sxsf0u5rvbea 342574 342430 2026-05-16T02:58:50Z Faizz315891 10774 342574 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}lupa{{cp|tmw|Ajih ni mudah '''lupak'''.|Ajih ini mudah '''lupa'''.}} 432a4ua8cbpzbe12ust3xuwqi2v5adz 342576 342574 2026-05-16T02:59:34Z Faizz315891 10774 342576 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}lupa{{cp|tmw|Amira ni mudah '''lupak'''.|Amira ini mudah '''lupa'''.}} 1t3ouipw3dzjazbrh86fvq9xufpn5po Wikikamus:tmw/sikah 4 118252 342345 332989 2026-05-15T14:52:14Z Khalifah5156 9987 342345 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} sejenis monyet{{cp|tmw|}} n748u2t856h0ct9vgu5a6cn0ujc3fff 342626 342345 2026-05-16T03:24:21Z Kentangputarr 10725 342626 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}}monyet{{cp|tmw|}} 0zw7gqy2yek0ncy9hnuorytbps4tldv 342627 342626 2026-05-16T03:24:45Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Sikah]] ke [[Wikikamus:tmw/sikah]] 342626 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}}monyet{{cp|tmw|}} 0zw7gqy2yek0ncy9hnuorytbps4tldv Wikikamus:tmw/pintuk 4 118253 342313 332990 2026-05-15T14:29:21Z Haqifaz 9982 342313 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} pintu{{cp|tmw|}} h45elgam8z30ifdyftmrdhxj6fuj1vz 342704 342313 2026-05-16T03:51:46Z Faizz315891 10774 342704 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} pintu{{cp|tmw|'''Pintuk''' kayuk ituk besar.|'''Pintu''' kayu itu besar.}} lhipo62fkdqip6493zeyggnekh9i7jl Wikikamus:tmw/busuk 4 118254 342349 332991 2026-05-15T14:53:56Z Qiels 10003 342349 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # busuk{{cp|tmw|}} sq41i4cjmk3hak98v0xnu314l1znnya 342379 342349 2026-05-15T15:12:47Z Khalifah5156 9987 342379 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|tmw|Dialek|Bukit Lagong}}busuk{{cp|tmw|}} o6qe08f5c7uyttm1jh4gu8wrhiq1g9e Wikikamus:tmw/kenyang 4 118255 342417 332992 2026-05-15T15:53:23Z Khalifah5156 9987 342417 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} kenyang{{cp|tmw|}} optmzavc0b5kecek55sbujtwjynk3i2 Wikikamus:tmw/muduk 4 118256 342328 332999 2026-05-15T14:39:56Z Zreeeeeee 10698 342328 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} rasa berlemak{{cp|tmw|}} 66tqwi58pvhijcykoyv0osa0hdgnjtc 342588 342328 2026-05-16T03:04:00Z Kentangputarr 10725 342588 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}}rasa berlemak{{cp|tmw|}} o6jrvfdw7f0w6pe676rr4j4bib80l6s 342589 342588 2026-05-16T03:04:19Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Muduk]] ke [[Wikikamus:tmw/muduk]] 342588 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}}rasa berlemak{{cp|tmw|}} o6jrvfdw7f0w6pe676rr4j4bib80l6s Wikikamus:tmw/jantan 4 118257 342409 332994 2026-05-15T15:46:43Z Khalifah5156 9987 342409 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}lelaki{{cp|tmw|}} 3ps3r6q2auq3cjzdd7vuhezbbnlcgpw 342605 342409 2026-05-16T03:11:00Z Faizz315891 10774 342605 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}lelaki{{cp|tmw|'''Jantan''' ituk kacak.|'''Lelaki''' itu kacak.}} 20pfm8e7085cl32odwh9wwkftody8ia Wikikamus:tmw/gemuk 4 118258 342394 333000 2026-05-15T15:22:14Z Khalifah5156 9987 342394 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|tmw|Dialek|Bukit Lagong}}gemuk{{cp|tmw|}} e8lclr99fc9m4m0cfhjl0rq2cuooq3d Wikikamus:tmw/ikan semilang 4 118259 342003 332996 2026-05-15T13:57:52Z Elléarden 9981 342003 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} ikan keli {{cp|tmw|}} bz0ekx8dst93uw3084lo35ybpjdk96d 342514 342003 2026-05-16T02:34:39Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Ikan semilang]] ke [[Wikikamus:tmw/ikan semilang]] 342003 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} ikan keli {{cp|tmw|}} bz0ekx8dst93uw3084lo35ybpjdk96d 342598 342514 2026-05-16T03:08:31Z Faizz315891 10774 342598 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} ikan keli {{cp|tmw|Ayah tengah menyala '''ikan semilang'''.|Ayah tengah menangkap '''ikan keli'''.}} e0h17p44xcnzbac3z58euxnbx0wxc0f Wikikamus:tmw/betinak 4 118260 342374 332997 2026-05-15T15:09:00Z Khalifah5156 9987 342374 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}perempuan{{cp|tmw|}} i2fkogov8b38b7acvo81e3aj8csqr3z Wikikamus:tmw/langsi 4 118261 342426 332998 2026-05-15T15:59:02Z Haqifaz 9982 342426 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} langsir {{cp|tmw|}} 6v3mxkh2s40moofqoo3rglxi13leoem Wikikamus:tmw/besa 4 118262 342373 333001 2026-05-15T15:08:19Z Khalifah5156 9987 342373 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} besar{{cp|tmw|}} 2ehd840rf342wexns3jq92ami1jllcx 342744 342373 2026-05-16T04:07:56Z Khalifah5156 9987 342744 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} besar{{cp|tmw|'''Besa'''nyak umah genui|'''Besar'''nya rumah nenek}} 9rcsefo8qx7bknqsj9tgnw856x4un40 Wikikamus:tmw/lemari 4 118263 342421 333002 2026-05-15T15:55:21Z Haqifaz 9982 342421 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}}almari {{cp|tmw|}} nr520rnv6tpty8ou91z5pf45nbi0fwt Wikikamus:tmw/nyahak ajak 4 118264 342602 333008 2026-05-16T03:10:13Z Kentangputarr 10725 342602 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit legong}}tak cantik 6ndm50iad31z17if4zf6hnzynpdtera 342603 342602 2026-05-16T03:10:34Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Nyahak ajak]] ke [[Wikikamus:tmw/nyahak ajak]]: Tajuk salah eja 342602 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit legong}}tak cantik 6ndm50iad31z17if4zf6hnzynpdtera Wikikamus:tmw/nyahat 4 118265 342347 333004 2026-05-15T14:53:46Z Haqifaz 9982 342347 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}}buruk {{cp|tmw|}} g5443a8xtl05yrlunbveuz84tht16h2 Wikikamus:tmw/nikah 4 118266 342354 333006 2026-05-15T14:56:58Z Haqifaz 9982 342354 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}}kahwin {{cp|tmw|}} r2d0rosbz67wzfmxgl5pw20r6dyx9kr Wikikamus:tmw/saong tangan 4 118267 342303 333007 2026-05-15T14:13:35Z Haqifaz 9982 342303 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} sarung tangan {{cp|tmw|}} prerbszctmnedf055wwkrygkf21sigf Wikikamus:tmw/buayak 4 118268 341873 333009 2026-05-15T13:34:54Z Elléarden 9981 341873 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} buaya {{cp|tmw|}} 5qki78xsx41h3c8t15vhtrk0lquwfsv 342464 341873 2026-05-16T02:15:59Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Buayak]] ke [[Wikikamus:tmw/buayak]] 341873 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} buaya {{cp|tmw|}} 5qki78xsx41h3c8t15vhtrk0lquwfsv 342473 342464 2026-05-16T02:19:10Z Kembojalini 10746 342473 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} buaya {{cp|tmw|Akuk nak pegi zoo nak tengok '''buayak'''|Saya hendak pergi zoo nak tengok '''buaya'''}} 7egg8vdorezb65vbpn411jm19xsfky2 Wikikamus:tmw/itik 4 118269 342102 333010 2026-05-15T14:01:17Z Elléarden 9981 342102 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} itik {{cp|tmw|}} 8rqvg66p3borrupyfbdzdusnfdcaijn 342452 342102 2026-05-16T02:03:13Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Itik]] ke [[Wikikamus:tmw/itik]]: Tajuk salah eja 342102 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} itik {{cp|tmw|}} 8rqvg66p3borrupyfbdzdusnfdcaijn 342521 342452 2026-05-16T02:37:04Z Kentangputarr 10725 342521 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}}itik {{cp|tmw|}} fj81i3imz0wa2c16yr7l7z6rwp9ehsu 342597 342521 2026-05-16T03:05:52Z Kembojalini 10746 342597 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}}itik {{cp|tmw|Akuk nyap penah makan '''itik'''|Saya tak pernah makan '''itik'''}} qtc3cca8k2107bxpkfy4zbxzdcigpbz Wikikamus:tmw/susuk 4 118270 342087 333011 2026-05-15T14:00:48Z Haqifaz 9982 342087 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} susu{{cp|tmw|}} 7i4dor5y5x3xrmfu4eebd7d4nba6kjb Wikikamus:tmw/peyuk 4 118271 342316 333012 2026-05-15T14:30:00Z Haqifaz 9982 342316 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}}periuk {{cp|tmw|}} 3vt19j67nvldmyazm3dvf9dxmyl4yf6 342662 342316 2026-05-16T03:33:55Z Faizz315891 10774 342662 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}}periuk {{cp|tmw|'''peyuk''' ituk panas.|'''periuk''' itu panas.}} 5u0hrzn5vo9gmw72i27lxgrmnaom1fw Wikikamus:tmw/Barak ajak 4 118272 341870 333015 2026-05-15T13:30:40Z Elléarden 9981 341870 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} Hodoh {{cp|tmw|}} q2z19ztf58i94sy3nxg1h7xz1cp75sl Wikikamus:tmw/jagak diri elok elok 4 118273 342689 333014 2026-05-16T03:44:59Z Kentangputarr 10725 342689 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}}jaga diri baik baik{{cp|tmw|}} svhezjlbbw30p06c3kmaftfegzahz0e Wikikamus:tmw/engkem 4 118274 341884 333018 2026-05-15T13:46:30Z Elléarden 9981 341884 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} arak {{cp|tmw|}} lbkuif1ppufzp1vxor1ob2f96g1lxn6 342469 341884 2026-05-16T02:18:26Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Engkem]] ke [[Wikikamus:tmw/engkem]]: Tajuk salah eja 341884 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} arak {{cp|tmw|}} lbkuif1ppufzp1vxor1ob2f96g1lxn6 342759 342469 2026-05-16T04:19:27Z Khalifah5156 9987 342759 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} arak {{cp|tmw|Orang nyap Islam minum '''engkem'''|Orang bukan Islam meminum '''arak'''}} mmlmsmi32k6mtom14kkofa8d7mywrz9 Wikikamus:tmw/selamat tinggal 4 118275 342289 333017 2026-05-15T14:07:34Z Haqifaz 9982 342289 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}}selamat tinggal {{cp|tmw|}} 57m0pj83aoqvfw1e69a3payscf4bx5l Wikikamus:tmw/talipon 4 118276 342062 333019 2026-05-15T13:59:59Z Haqifaz 9982 342062 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} telefon{{cp|tmw|}} fpefs3ctl7t2i70coilad4cz94b9kd6 Wikikamus:tmw/ubi galo 4 118277 341872 333020 2026-05-15T13:33:18Z Haqifaz 9982 341872 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} ubi kayu {{cp|tmw|}} sh77h2ekvn8aygs1ggkqccaosax82cv Wikikamus:tmw/moh 4 118278 342370 333021 2026-05-15T15:06:42Z Haqifaz 9982 342370 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|tmw|dialek|Bukit Lagong}}jom {{cp|tmw|}} 8pbm6swmcqi1pcg6egljf0b17nnzwwv Wikikamus:tmw/Bau hamping ajak 4 118279 341871 333023 2026-05-15T13:32:43Z Elléarden 9981 341871 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Frasa=== {{inti|tmw|frasa}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} Bau busuk sangat {{cp|tmw|}} 988z3d4jp6uyfay9znvtko8ov5olbvh Wikikamus:tmw/tulih 4 118280 341876 333024 2026-05-15T13:37:25Z Haqifaz 9982 341876 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} tulis {{cp|tmw|}} 9z5fjzj5cz9hatoru07iaiejoh894a5 Wikikamus:tmw/melukih 4 118281 342388 333025 2026-05-15T15:18:28Z Haqifaz 9982 342388 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} melukis {{cp|tmw|}} 1fg59rbtyr62p5wimj41p00nwfa0jlo Wikikamus:tmw/mok 4 118282 342330 333026 2026-05-15T14:41:01Z Khalifah5156 9987 342330 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}Mak{{cp|tmw|}} jmy3ehkpmfgfpae4e5flxcya2xwobe7 342580 342330 2026-05-16T03:00:16Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Mok]] ke [[Wikikamus:tmw/mok]]: Tajuk salah eja 342330 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}Mak{{cp|tmw|}} jmy3ehkpmfgfpae4e5flxcya2xwobe7 342582 342580 2026-05-16T03:00:31Z Kentangputarr 10725 342582 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}mak{{cp|tmw|}} kw6bzh05ctonvl4nm1qn9si5iku1iwi Wikikamus:tmw/baing 4 118283 342367 333027 2026-05-15T15:04:44Z Khalifah5156 9987 342367 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} baring{{cp|tmw|}} 70uujvt0m1bcrv1j30evp60j1fvx5w2 342740 342367 2026-05-16T04:06:25Z Khalifah5156 9987 342740 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} baring{{cp|tmw|Berkelah sambil '''baing''' tepik pantay|Berkelah sambil '''baring''' di tepi pantai}} 2bvyij87ufll1bvbfsawh31e1gyhf8c Wikikamus:tmw/tanoh 4 118284 342350 333028 2026-05-15T14:54:38Z Khalifah5156 9987 342350 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}tanah{{cp|tmw|}} 0nqjqvkrig1trznnq1lv5av2bt1bjos 342642 342350 2026-05-16T03:29:57Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Tanoh]] ke [[Wikikamus:tmw/tanoh]] 342350 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}tanah{{cp|tmw|}} 0nqjqvkrig1trznnq1lv5av2bt1bjos Wikikamus:tmw/buung 4 118285 342380 333029 2026-05-15T15:13:20Z Khalifah5156 9987 342380 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} burung{{cp|tmw|}} 3lhrb0zgo620wlmn00taztpvpszfsbm Wikikamus:tmw/ujan 4 118286 342355 333030 2026-05-15T14:56:59Z Khalifah5156 9987 342355 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}hujan{{cp|tmw|}} ql2ge9us9mrbwbffwf49n771h890c3o 342655 342355 2026-05-16T03:32:13Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Ujan]] ke [[Wikikamus:tmw/ujan]] 342355 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|Dialek|Bukit Lagong}}hujan{{cp|tmw|}} ql2ge9us9mrbwbffwf49n771h890c3o Wikikamus:tmw/tigak 4 118287 341880 333031 2026-05-15T13:40:25Z Haqifaz 9982 341880 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} tiga {{cp|tmw|}} 487fgqps22t3fzmgofjhp0d864vy7ou 342688 341880 2026-05-16T03:44:29Z Faizz315891 10774 342688 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit lagong}} tiga {{cp|tmw|Wak menghado '''tigak''' biji umah.|Pak cik melawat '''tiga''' buah rumah.}} 2hxriqz0ap8kbaoy0n0qhqspb9uytgv Wikikamus:tmw/mekak 4 118288 342393 333032 2026-05-15T15:21:22Z Haqifaz 9982 342393 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|dialek|Bukit Lagong}}bising {{cp|tmw|}} 0y9a9t9jq0ukz254vgoayt1k32wl4es Wikikamus:tmw/samak 4 118289 342305 333033 2026-05-15T14:16:35Z Haqifaz 9982 342305 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|dialek|Bukit Lagong}}sama {{cp|tmw|}} 2xgxf01frqfghpm8s4k7uwhrgiwn1bq Wikikamus:tmw/cucuk 4 118290 342384 333034 2026-05-15T15:16:15Z Khalifah5156 9987 342384 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|Dialek|Bukit Lagong}}cucu{{cp|tmw|}} hqxlqh0baezvyoj7gybkx6h53tkb5ch Wikikamus:tmw/lawa 4 118291 342422 333035 2026-05-15T15:57:02Z Haqifaz 9982 342422 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|dialek|Bukit Lagong}}comel{{cp|tmw|}} 052lykp9t72ezfg92z64tb8bskfeio8 Wikikamus:tmw/uang 4 118292 341874 333036 2026-05-15T13:35:43Z Haqifaz 9982 341874 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # orang{{cp|tmw|}} 3jbbc700ozjwrrs3mmwarst5kxah9g5 342429 341874 2026-05-15T16:02:19Z Haqifaz 9982 342429 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}}orang{{cp|tmw|}} ogkaay0w8a3smfvxp6d9rr4mwq3tnn1 342509 342429 2026-05-16T02:30:53Z Faizz315891 10774 342509 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}}orang{{cp|tmw|'''Uang''' ituk sangat tinggik|'''Orang''' itu sangat tinggi.}} 9tobbccnjkxh3unyrrqa1dcutnjkmf6 Wikikamus:tmw/lemut 4 118294 342418 333038 2026-05-15T15:53:57Z Haqifaz 9982 342418 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|tmw|dialek|Bukit Lagong}}lembik {{cp|tmw|}} qul3lcqqa1vutc4ufvmo1nvfxujl4m4 Wikikamus:tmw/tandak 4 118295 341975 333040 2026-05-15T13:56:58Z Haqifaz 9982 341975 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|tmw|dialek|Bukit Lagong}}tempat tadah air {{cp|tmw|}} knm9vp6bjarrac6d6rwcgvmecszv62l Wikikamus:tmw/katek 4 118444 342431 2026-05-15T16:56:55Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} kerdil' 342431 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} kerdil 7ha27q7nthdyf7ghvin6yyg7pu5j3bq 342694 342431 2026-05-16T03:47:04Z Kentangputarr 10725 342694 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}}kerdil{{cp|tmw|}} dyab660ud6cfi7uyy9v3ooe0u447n6d Wikikamus:tmw/ituk 4 118445 342432 2026-05-15T16:58:27Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} itu{{cp|tmw|}}' 342432 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} itu{{cp|tmw|}} 9yyyo9pepbbalx4ijq9whpu3urod3hz 342534 342432 2026-05-16T02:41:54Z Faizz315891 10774 342534 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} itu{{cp|tmw|Umah '''ituk''' besak.|Rumah '''itu''' besar.}} lvk1wvdkcqhsp8761rnjhqnimivxtha 342686 342534 2026-05-16T03:43:01Z Kentangputarr 10725 342686 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}}itu{{cp|tmw|Umah '''ituk''' besak.|Rumah '''itu''' besar.}} bp8yij7p4252h1rr06yl9zdi7hs1iem Wikikamus:tmw/sinih 4 118446 342433 2026-05-15T17:01:01Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} sini{{cp|tmw|}}' 342433 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} sini{{cp|tmw|}} 8otapr536lan7maa6girl3vmn5zczeo Wikikamus:tmw/situk 4 118447 342434 2026-05-15T17:03:30Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} situ{{cp|tmw|}}' 342434 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} situ{{cp|tmw|}} 5jo1ddy6xgxsonyxk1e4711fxvy9kwv Wikikamus:tmw/hatik 4 118448 342435 2026-05-15T17:06:46Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} hati' 342435 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} hati czli0fgcl8u8kwjiqdivltno429pjw9 342615 342435 2026-05-16T03:15:03Z Faizz315891 10774 342615 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} hati{{cp|tmw|'''Hatik''' ituk warna merah.|'''Hati''' itu warna merah.}} rodln2vpxt02gtje7bi4oby3nrgobux Wikikamus:tmw/telingak 4 118449 342436 2026-05-15T17:10:09Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} telinga{{cp|tmw|}}' 342436 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} telinga{{cp|tmw|}} 059d8bwda54eu6lj6idq2im0f15mo6b 342717 342436 2026-05-16T03:56:18Z Faizz315891 10774 342717 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} telinga{{cp|tmw|'''Telingak''' diak ituk miah.|'''Telinga''' dia itu merah.}} sr7utx5zdodecrmh1vmcby8211uw73g Wikikamus:tmw/matak 4 118450 342437 2026-05-15T17:14:31Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} mata{{cp|tmw|}}' 342437 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} mata{{cp|tmw|}} 0rltc9njmhk14hv2h9whobcw8k1efna 342625 342437 2026-05-16T03:22:42Z Faizz315891 10774 342625 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} mata{{cp|tmw|'''Matak''' diak sakit.|'''Mata''' dia sakit.}} p5ypt3ejjbakzo66cbfnrg5gwmdszt8 Wikikamus:tmw/kukuk 4 118451 342438 2026-05-15T17:16:19Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} kuku{{cp|tmw|}}' 342438 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} kuku{{cp|tmw|}} 211ahjj54jxctlwo4dgyvnd7r79fmbi Wikikamus:tmw/iku 4 118452 342439 2026-05-15T17:17:41Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} ekor{{cp|tmw|}}' 342439 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} ekor{{cp|tmw|}} 8wc366fg2eiwegrlh0h6vzd6fwd0zik 342629 342439 2026-05-16T03:25:25Z Faizz315891 10774 342629 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} ekor{{cp|tmw|'''iku''' anying ituk panjang.|'''ekor''' anjing itu panjang.}} s4ni5i696x263eu7qbdoquwo7xe2ldg 342684 342629 2026-05-16T03:42:24Z Kentangputarr 10725 342684 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}}ekor{{cp|tmw|'''iku''' anying ituk panjang.|'''ekor''' anjing itu panjang.}} iqgbpsermqi1pfk2yb5vh0mwq28fa4b Wikikamus:tmw/piki 4 118453 342440 2026-05-15T17:19:14Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} fikir{{cp|tmw|}}' 342440 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} fikir{{cp|tmw|}} oqziuqmfdfhc13r0tjhbu7l12ovokfn Wikikamus:tmw/jait 4 118454 342441 2026-05-15T17:20:23Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} jahit{{cp|tmw|}}' 342441 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} jahit{{cp|tmw|}} m48xfx4ptezzdu2drl5q0ifu8kbx6xb Wikikamus:tmw/kiak 4 118455 342442 2026-05-15T17:21:13Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} kira{{cp|tmw|}}' 342442 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} kira{{cp|tmw|}} 8686xls1hm5czgeco1ro7v7st0dbluv 342722 342442 2026-05-16T03:58:36Z Faizz315891 10774 342722 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} kira{{cp|tmw|uwang ituk sangat ber'''kiak'''.|orang itu sangat ber'''kira'''.}} 8kp40s1nwecjyfgfhwqniootc95nf65 Wikikamus:tmw/panaih 4 118456 342443 2026-05-15T17:23:09Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} panas{{cp|tmw|}}' 342443 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} panas{{cp|tmw|}} hse4pn4xiahrkq9ooq22v4i2px7y54g Wikikamus:tmw/haik 4 118457 342444 2026-05-15T17:24:13Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} hari{{cp|tmw|}}' 342444 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} hari{{cp|tmw|}} 8ppvdrc2a7t1mita3w87guai4atpkpd 342555 342444 2026-05-16T02:51:27Z Qhairy 9963 Qhairy telah memindahkan laman [[Wikikamus:tmw/ayik]] ke [[Wikikamus:tmw/haik]]: Tajuk salah eja 342444 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} hari{{cp|tmw|}} 8ppvdrc2a7t1mita3w87guai4atpkpd 342731 342555 2026-05-16T04:02:49Z Khalifah5156 9987 342731 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} hari{{cp|tmw|Panaih '''ayik''' nin|Panasnya '''hari''' ini}} 847ulnstlqbuid068xapzqbywkrx4jw Wikikamus:tmw/laguk 4 118458 342445 2026-05-15T17:26:03Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} lagu{{cp|tmw|}}' 342445 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} lagu{{cp|tmw|}} dhrk05ccevu91u3dq05wf1rkpjt49e2 Wikikamus:tmw/sapak 4 118459 342446 2026-05-15T17:32:29Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} siapa{{cp|tmw|}}' 342446 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} siapa{{cp|tmw|}} 0jbg2a7uqovpvucy0zfhpl1ft5f2o68 Wikikamus:tmw/manak 4 118460 342447 2026-05-15T18:12:47Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} mana{{cp|tmw|}}' 342447 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} mana{{cp|tmw|}} 2uw0a7ap41pxrky6yoz503vtfo5qesr Wikikamus:tmw/uwang 4 118461 342448 2026-05-15T18:18:07Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} orang{{cp|tmw|}}' 342448 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} orang{{cp|tmw|}} 8fe14e56ow7jux0exm192nfzd5kdkzb Wikikamus:tmw/gigik 4 118462 342449 2026-05-15T18:19:20Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} gigi{{cp|tmw|}}' 342449 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} gigi{{cp|tmw|}} a99y6luqawcno55u2wluwryji8kpd3l 342583 342449 2026-05-16T03:01:26Z Faizz315891 10774 342583 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} gigi{{cp|tmw|'''gigik''' ituk putih.|'''gigi''' itu putih.}} 7dd4m8nhv7nxxd8hdsjvjjqwtzbbwd5 Wikikamus:tmw/lakik 4 118463 342450 2026-05-15T18:29:49Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} suami{{cp|tmw|}}' 342450 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} suami{{cp|tmw|}} nlicwcnqgefalgala68ha4pq76tidtt Wikikamus:tmw/binik 4 118464 342451 2026-05-15T18:30:35Z Azrifrb 9991 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} isteri{{cp|tmw|}}' 342451 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} isteri{{cp|tmw|}} 7qdjj4cjo4lrgg5vtzt5g5y8hurzbc6 Wikikamus:tmw/Itik 4 118465 342453 2026-05-16T02:03:13Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Itik]] ke [[Wikikamus:tmw/itik]]: Tajuk salah eja 342453 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/itik]] hm0wqs0x48vavx9f2yhk11e2wp9n86y Wikikamus:tmw/sentong 4 118466 342455 2026-05-16T02:07:41Z Samsiah1234 10773 Mencipta laman baru dengan kandungan 'bakul{{cp|tmw|''' '''}} ==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Johor}} contoh' 342455 wikitext text/x-wiki bakul{{cp|tmw|''' '''}} ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Johor}} contoh jx1qopqsasgwox6rim49izdk8adlkpq 342456 342455 2026-05-16T02:09:27Z Samsiah1234 10773 342456 wikitext text/x-wiki bakul{{cp|tmw|''' '''}} ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} Boleh kah ong buat '''sentong'''? ng0l94mrwtltv6s9a0vyaye5o1qg2wi Wikikamus:tmw/Bajuk 4 118467 342458 2026-05-16T02:10:27Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Bajuk]] ke [[Wikikamus:tmw/bajuk]]: Tajuk salah eja 342458 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/bajuk]] n31hzirzkpf4z2b0aa54xtqfnncvtmk Wikikamus:tmw/Diak 4 118468 342461 2026-05-16T02:12:43Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Diak]] ke [[Wikikamus:tmw/diak]]: Tajuk salah eja 342461 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/diak]] 9cbw3lrjeydts9tm291ed6flt50ev8x Wikikamus:tmw/sipik-sipik 4 118469 342462 2026-05-16T02:13:34Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} sipi-sipi{{cp|tmw|}}' 342462 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} sipi-sipi{{cp|tmw|}} kk4duyu17jhpllghoxs60b2pmozzci4 Wikikamus:tmw/bokok 4 118470 342463 2026-05-16T02:14:15Z Samsiah1234 10773 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} gila' 342463 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} gila oc0ti78pzs8gev7ylaxpj8000w233nb 342754 342463 2026-05-16T04:12:12Z Khalifah5156 9987 342754 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} gila{{cp|tmw|'''aying''' gilak ituk merayau-rayau|'''Anjing''' gila itu berkeliaran}} ju3l6gvnura310b2qpewgm42ff2csha Wikikamus:tmw/Buayak 4 118471 342465 2026-05-16T02:16:00Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Buayak]] ke [[Wikikamus:tmw/buayak]] 342465 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/buayak]] ijmpbnkb94kw5hd3n2hwga4jc7r9b8x Wikikamus:tmw/ngong 4 118472 342466 2026-05-16T02:16:32Z Samsiah1234 10773 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} bingung' 342466 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} bingung tcadehql3vlrnnu076r95nd6qz4zxb1 Wikikamus:tmw/Didi 4 118473 342468 2026-05-16T02:17:36Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Didi]] ke [[Wikikamus:tmw/didi]]: Tajuk salah eja 342468 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/didi]] m1ok6nb638op62mr7hxrg6oh6d5wli3 Wikikamus:tmw/Engkem 4 118474 342470 2026-05-16T02:18:26Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Engkem]] ke [[Wikikamus:tmw/engkem]]: Tajuk salah eja 342470 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/engkem]] o94tn98k39oim6ctxssovzvoabmbk65 Wikikamus:tmw/Gaok 4 118475 342472 2026-05-16T02:19:00Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Gaok]] ke [[Wikikamus:tmw/gaok]]: Tajuk salah eja 342472 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/gaok]] m38csrb9f9vj943oc17x00fqiorascp Wikikamus:tmw/cemin matak 4 118476 342475 2026-05-16T02:19:52Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} cermin mata{{cp|tmw|Aku adak '''cemin matak'''|Aku ada '''cermin mata'''}}' 342475 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} cermin mata{{cp|tmw|Aku adak '''cemin matak'''|Aku ada '''cermin mata'''}} 7dqxsq1ficrqzni2l3le7xklpw7m1nd 342610 342475 2026-05-16T03:12:52Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/cermin matak]] ke [[Wikikamus:tmw/cemin matak]] 342475 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} cermin mata{{cp|tmw|Aku adak '''cemin matak'''|Aku ada '''cermin mata'''}} 7dqxsq1ficrqzni2l3le7xklpw7m1nd Modul:category tree/fam/alg 828 118477 342476 2026-05-16T02:19:53Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} labels["transitive animate verbs"] = { description = "{{{langname}}} transitive verbs with an animate object, commonly abbreviated VTA.", breadcrumb = "transitive animate", parents = {"verbs by inflection type", {name = "transitive verbs", sort = "animate"}}, } labels["transitive inanimate verbs"] = { description = "{{{langname}}} transitive verbs with an inanimate object, commonly abbreviated VTI.", breadcrumb = "transitive in...' 342476 Scribunto text/plain local labels = {} labels["transitive animate verbs"] = { description = "{{{langname}}} transitive verbs with an animate object, commonly abbreviated VTA.", breadcrumb = "transitive animate", parents = {"verbs by inflection type", {name = "transitive verbs", sort = "animate"}}, } labels["transitive inanimate verbs"] = { description = "{{{langname}}} transitive verbs with an inanimate object, commonly abbreviated VTI.", breadcrumb = "transitive inanimate", parents = {"verbs by inflection type", {name = "transitive verbs", sort = "inanimate"}}, } labels["animate intransitive verbs"] = { description = "{{{langname}}} intransitive verbs with an animate subject, commonly abbreviated VAI.", breadcrumb = "animate intransitive", parents = {"verbs by inflection type", {name = "intransitive verbs", sort = "animate"}}, } labels["inanimate intransitive verbs"] = { description = "{{{langname}}} intransitive verbs with an inanimate subject, commonly abbreviated VII.", breadcrumb = "inanimate intransitive", parents = {"verbs by inflection type", {name = "intransitive verbs", sort = "inanimate"}}, } -- Add 'umbrella_parents' key if not already present. for key, data in pairs(labels) do if not data.umbrella_parents then data.umbrella_parents = "Terms by grammatical category subcategories by language" end end return {LABELS = labels} 85qdgi9z8fm0fttnf1ltxgr2wyrtvw0 Modul:category tree/fam/tup 828 118478 342477 2026-05-16T02:20:22Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} ------- TUPIAN LEMMA CLASSES ------- labels["pluriform adjectives"] = { description = "{{{langname}}} adjectives that have a relational prefix added to their stem.", breadcrumb = "pluriform", parents = {"adjectives by inflection type"}, } labels["pluriform nouns"] = { description = "{{{langname}}} nouns that have a relational prefix added to their stem.", breadcrumb = "pluriform", parents = {"nouns by inflection type"}, } la...' 342477 Scribunto text/plain local labels = {} ------- TUPIAN LEMMA CLASSES ------- labels["pluriform adjectives"] = { description = "{{{langname}}} adjectives that have a relational prefix added to their stem.", breadcrumb = "pluriform", parents = {"adjectives by inflection type"}, } labels["pluriform nouns"] = { description = "{{{langname}}} nouns that have a relational prefix added to their stem.", breadcrumb = "pluriform", parents = {"nouns by inflection type"}, } labels["pluriform postpositions"] = { description = "{{{langname}}} postpositions that have a relational prefix added to their stem.", breadcrumb = "pluriform", parents = {"postpositions by inflection type"}, } labels["pluriform verbs"] = { description = "{{{langname}}} verbs that have a relational prefix added to their stem.", breadcrumb = "pluriform", parents = {"verbs by inflection type"}, } -- Add 'umbrella_parents' key if not already present. for key, data in pairs(labels) do if not data.umbrella_parents then data.umbrella_parents = "Terms by grammatical category subcategories by language" end end return {LABELS = labels} 9d7dzb67cu3aowe6olrn7k161dlypdp Wikikamus:tmw/Gauk 4 118479 342479 2026-05-16T02:20:30Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Gauk]] ke [[Wikikamus:tmw/gauk]]: Tajuk salah eja 342479 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/gauk]] jkgqvrhav6a147w3hvt7hjrw0r403tr Modul:category tree/fam/jpx/what-categorizes-msg 828 118480 342480 2026-05-16T02:20:54Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local export = {} local m_str_utils = require("Module:string utilities") local d_range = mw.loadData("Module:ja/data/range") -- Handles the "Terms are placed in this category..." text in Japanese affix categories -- Used in -- [[Module:category tree/affixes and compounds]] -- [[Module:category tree/fam/jpx]] function export.get_what_categorizes_msg(affix, affix_reading, affix_type) if not affix_reading then if m_str_utils.find(affix, "[" .. d_rang...' 342480 Scribunto text/plain local export = {} local m_str_utils = require("Module:string utilities") local d_range = mw.loadData("Module:ja/data/range") -- Handles the "Terms are placed in this category..." text in Japanese affix categories -- Used in -- [[Module:category tree/affixes and compounds]] -- [[Module:category tree/fam/jpx]] function export.get_what_categorizes_msg(affix, affix_reading, affix_type) if not affix_reading then if m_str_utils.find(affix, "[" .. d_range.kanji .. "々〻]") then --Category has kanji but no reading "read as" return nil end affix_reading = affix end local tl if affix_type == "suffix" then tl = "{{tl|ja-compound|<var>|...|</var>|" .. affix .. "|-" .. affix_reading .. "}}" elseif affix_type == "prefix" then tl = "{{tl|ja-compound|" .. affix .. "|" .. affix_reading .. "-|<var>|...|</var>}}" elseif affix_type == "infix" then tl = "{{tl|ja-compound|<var>|...|</var>|" .. affix .. "|-" .. affix_reading .. "-|<var>|...|</var>}}" end if tl then tl = "Terms are placed in this category using " .. tl .. "." end return tl end return export aseik7d8zcfi37ce42nxrihk8lz825b 342765 342480 2026-05-16T04:29:51Z Hakimi97 2668 342765 Scribunto text/plain local export = {} local m_str_utils = require("Module:string utilities") local d_range = mw.loadData("Module:ja/data/range") -- Handles the "Terms are placed in this category..." text in Japanese affix categories -- Used in -- [[Module:category tree/affixes and compounds]] -- [[Module:category tree/fam/jpx]] function export.get_what_categorizes_msg(affix, affix_reading, affix_type) if not affix_reading then if m_str_utils.find(affix, "[" .. d_range.kanji .. "々〻]") then --Category has kanji but no reading "read as" return nil end affix_reading = affix end local tl if affix_type == "akhiran" then tl = "{{tl|ja-compound|<var>|...|</var>|" .. affix .. "|-" .. affix_reading .. "}}" elseif affix_type == "awalan" then tl = "{{tl|ja-compound|" .. affix .. "|" .. affix_reading .. "-|<var>|...|</var>}}" elseif affix_type == "jalinan" then tl = "{{tl|ja-compound|<var>|...|</var>|" .. affix .. "|-" .. affix_reading .. "-|<var>|...|</var>}}" end if tl then tl = "Terms are placed in this category using " .. tl .. "." end return tl end return export 6prdigl1bd8hatglz6syxw8bq3pp43i Wikikamus:tmw/kerumun 4 118481 342483 2026-05-16T02:21:50Z Samsiah1234 10773 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} ramai' 342483 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} ramai od8bj5i9qv8c32jmd0kzzbjwuq3vfbe 342695 342483 2026-05-16T03:48:29Z Kentangputarr 10725 342695 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} ramai {{cp|tmw|}} aucq99phaeuj2bs7pwdsuaqhaix2s3m Wikikamus:tmw/mandik 4 118482 342485 2026-05-16T02:24:17Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} mandik{{cp|tmw|Aku nak '''mandik'''|Saya mahu '''mandi'''}}' 342485 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} mandik{{cp|tmw|Aku nak '''mandik'''|Saya mahu '''mandi'''}} 7jco33hu34yvcgw6zobhm9jafg1csev Wikikamus:tmw/Budak kecin 4 118483 342487 2026-05-16T02:24:30Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Budak kecin]] ke [[Wikikamus:tmw/budak kecin]]: Tajuk salah eja 342487 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/budak kecin]] m2pypbbjqhs28ldwffxl38kfxe0y2wj Wikikamus:tmw/genung 4 118484 342488 2026-05-16T02:24:33Z Samsiah1234 10773 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} tengok' 342488 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} tengok 5k6nq3w0nx8uhuatoqslqsuy3jtcj3d 342679 342488 2026-05-16T03:40:21Z Kentangputarr 10725 342679 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}}tengok{{cp|tmw|}} quuug3kx83f14ceuf4hfnzjen304ysw Wikikamus:tmw/Budak babel 4 118485 342491 2026-05-16T02:25:07Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Budak babel]] ke [[Wikikamus:tmw/budak babel]]: Tajuk salah eja 342491 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/budak babel]] 1kx1dxk8a7rc58qe7nmp6h1q6or8ivv Wikikamus:tmw/merdum 4 118486 342493 2026-05-16T02:25:54Z Samsiah1234 10773 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} menginap' 342493 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} menginap 8ewhli3tuk2hyjk30csy2ba7r8r56rw Modul:category tree/fam/gem 828 118487 342495 2026-05-16T02:27:21Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} ------- GERMANIC VERB CLASSES ------- labels["strong verbs"] = { description = "{{{langname}}} verbs that do not use a dental suffix to mark the past tense and past participle, instead using vowel change ([[ablaut]]) and often a suffix ''-(e)n'' in the past participle.", breadcrumb = "strong", parents = {"verbs by inflection type"}, } labels["weak verbs"] = { description = "{{{langname}}} verbs that display dental suffixes in t...' 342495 Scribunto text/plain local labels = {} ------- GERMANIC VERB CLASSES ------- labels["strong verbs"] = { description = "{{{langname}}} verbs that do not use a dental suffix to mark the past tense and past participle, instead using vowel change ([[ablaut]]) and often a suffix ''-(e)n'' in the past participle.", breadcrumb = "strong", parents = {"verbs by inflection type"}, } labels["weak verbs"] = { description = "{{{langname}}} verbs that display dental suffixes in their past tense conjugated forms.", breadcrumb = "weak", parents = {"verbs by inflection type"}, } labels["preterite-present verbs"] = { description = "{{{langname}}} verbs that inflect in the present tense like the past tense of strong verbs.", breadcrumb = "preterite-present", parents = {"verbs by inflection type"}, } labels["class 1 strong verbs"] = { description = "{{{langname}}} class 1 strong verbs, where the [[ablaut]] vowel was followed by ''-y-'' in Proto-Indo-European.", breadcrumb = "class 1", parents = {{name = "strong verbs", sort = "1"}}, } labels["class 1 weak verbs"] = { description = "{{{langname}}} class 1 weak verbs, where the stem was followed by {{ic|/i/~/j/}} in Proto-Germanic (or {{ic|/ij/}} after a heavy stem, due to {{w|Sievers' Law}}).", additional = "This triggered [[umlaut]] in most daughter languages, as well as gemination of the final consonant in light stems in West Germanic.", breadcrumb = "class 1", parents = {{name = "weak verbs", sort = "1"}}, } labels["class 1 weak j-present verbs"] = { description = "{{{langname}}} class 1 weak verbs with {{ic|/i/~/j/~/ij/}} in Proto-Germanic only in the present tense, but not elsewhere.", additional = "Most class 1 weak verbs had {{ic|/i/}} in the past tense and past participle, leading to " .. "[[umlaut]] throughout the verb in daughter languages with umlaut. A few archaic verbs, however, lacked " .. "this [[interfix]], with the [[dental]] consonant of the ending attached directly to the stem. Original " .. "instances of this are the reflexes of English [[seek]], [[think]], [[buy]] and [[work]], with apparently " .. "irregular pasts ''sought'', ''thought'', ''bought'' and archaic ''wrought'', and it was often extended " .. "to other verbs in various daughter languages (e.g. the [[Old English]] reflexes of [[sell]], [[tell]], " .. "[[teach]] and formerly [[reach]], with apparently irregular pasts ''sold'', ''told'', ''taught'' and " .. "now-obsolete ''raught''). The apparent reversal of umlaut in the past tense is sometimes called " .. "{{m|de|Rückumlaut|lit=backwards umlaut}} in Germanic studies.", breadcrumb = "''j''-present", parents = {{name = "class 1 weak verbs", sort = "j-present"}}, } labels["class 1 weak heavy-stem verbs"] = { description = "{{{langname}}} class 1 weak verbs with a heavy stem in Proto-Germanic, i.e. a stem containing a long vowel or ending in two consonants.", additional = "Such verbs had the {{w|Sievers' Law}} variant interfix {{ic|/ij/}} between the stem and endings " .. "in the present tense, which evolved differently from light-stem verbs in most daughter languages, which " .. "had an interfix {{ic|/i/~/j/}} in the present tense. Note that some verbs with multisyllabic stems were " .. "treated as heavy-stem and some as light-stem, depending on the analysis of the metrical feet of the stem.", breadcrumb_and_first_sort_key = "heavy-stem", parents = "class 1 weak verbs", } labels["class 1 weak light-stem verbs"] = { description = "{{{langname}}} class 1 weak verbs with a light stem in Proto-Germanic, i.e. a stem containing a short vowel and ending in only one consonant.", additional = "Such verbs had the {{w|Sievers' Law}} variant interfix {{ic|/i/~/j/}} between the stem and " .. "endings in the present tense, which evolved differently from heavy-stem verbs in most daughter languages, " .. "which had an interfix {{ic|/ij/}} in the present tense. Note that some verbs with multisyllabic stems were " .. "treated as heavy-stem and some as light-stem, depending on the analysis of the metrical feet of the stem.", breadcrumb_and_first_sort_key = "light-stem", parents = "class 1 weak verbs", } labels["class 2 strong verbs"] = { description = "{{{langname}}} class 2 strong verbs, where the [[ablaut]] vowel was followed by ''-w-'' in Proto-Indo-European.", breadcrumb = "class 2", parents = {{name = "strong verbs", sort = "2"}}, } labels["class 2a strong verbs"] = { description = "{{{langname}}} class 2 strong verbs where the [[ablaut]] vowel was ''*eu'' in Proto-Germanic.", breadcrumb = "class 2a", parents = {{name = "class 2 strong verbs", sort = "1"}}, } labels["class 2b strong verbs"] = { description = "{{{langname}}} class 2 strong verbs where the [[ablaut]] vowel was ''*ū'' in Proto-Germanic.", breadcrumb = "class 2b", parents = {{name = "class 2 strong verbs", sort = "2"}}, } labels["class 2 weak verbs"] = { description = "{{{langname}}} class 2 weak verbs, where the stem was followed by ''*ō'' in Proto-Germanic.", breadcrumb = "class 2", parents = {{name = "weak verbs", sort = "2"}}, } labels["class 3 weak verbs"] = { description = "{{{langname}}} class 3 weak verbs, where the stem was followed by ''*ai''~''*ā'' in Proto-Germanic, which was generalized to ''*ē'' in West Germanic.", breadcrumb = "class 3", parents = {{name = "weak verbs", sort = "3"}}, } labels["class 3 strong verbs"] = { description = "{{{langname}}} class 3 strong verbs, where the [[ablaut]] vowel was followed by a [[consonant cluster]] in Proto-Indo-European.", breadcrumb = "class 3", parents = {{name = "strong verbs", sort = "3"}}, } labels["class 3a strong verbs"] = { description = "{{{langname}}} class 3 strong verbs where the [[consonant cluster]] following the [[ablaut]] vowel begins with a nasal consonant.", breadcrumb = "class 3a", parents = {{name = "class 3 strong verbs", sort = "1"}}, } labels["class 3b strong verbs"] = { description = "{{{langname}}} class 3 strong verbs where the [[consonant cluster]] following the [[ablaut]] vowel begins with a lateral consonant or velar fricative.", breadcrumb = "class 3b", parents = {{name = "class 3 strong verbs", sort = "2"}}, } labels["class 3c strong verbs"] = { description = "{{{langname}}} class 3 strong verbs where the [[consonant cluster]] following the [[ablaut]] vowel begins with a rhotic consonant.", breadcrumb = "class 3c", parents = {{name = "class 3 strong verbs", sort = "3"}}, } labels["class 4 strong verbs"] = { description = "{{{langname}}} class 4 strong verbs, where the [[ablaut]] vowel was followed by a [[sonorant]] (''m'', ''n'', ''l'', ''r'') but no other consonant in Proto-Indo-European.", breadcrumb = "class 4", parents = {{name = "strong verbs", sort = "4"}}, } labels["class 4 weak verbs"] = { description = "{{{langname}}} class 4 weak verbs, where the stem was followed by ''*n'' in Proto-Germanic.", breadcrumb = "class 4", parents = {{name = "weak verbs", sort = "4"}}, } labels["class 5 strong verbs"] = { description = "{{{langname}}} class 5 strong verbs, where the [[ablaut]] vowel was followed by [[consonant]] other than a [[sonorant]] in Proto-Indo-European.", breadcrumb = "class 5", parents = {{name = "strong verbs", sort = "5"}}, } labels["class 5 strong j-present verbs"] = { description = "{{{langname}}} class 5 strong verbs with a {{IPAchar|/j/}} suffix in the present tense in Proto-Germanic.", additional = "This [[umlaut]]ed the root vowel to {{ic|/i/}}, and caused gemination of the stem-final consonant in the West Germanic languages. The {{ic|/j/}} was maintained in Gothic, Old Norse (and modern Icelandic) and Old Saxon, but otherwise dropped.", breadcrumb = "''j''-present", parents = {{name = "class 5 strong verbs", sort = "j-present"}}, } labels["class 6 strong verbs"] = { description = "{{{langname}}} class 6 strong verbs, with the stem vowel ''-a-'' (and usually a single stem-final consonant), except those where it is followed by a sonorant and another consonant (this combination was considered a diphthong in PIE and therefore belonged to class 7).", additional = "The Proto-Indo-European origin of this class is not securely known.", breadcrumb = "class 6", parents = {{name = "strong verbs", sort = "6"}}, } labels["class 6 strong j-present verbs"] = { description = "{{{langname}}} class 6 strong verbs with a {{IPAchar|/j/}} suffix in the present tense in Proto-Germanic.", additional = "This caused gemination of the stem-final consonant in the West Germanic languages, and [[umlaut]] of the root vowel in most languages. The {{ic|/j/}} was maintained in Gothic, Old Norse (and modern Icelandic) and Old Saxon, but otherwise dropped.", breadcrumb = "''j''-present", parents = {{name = "class 6 strong verbs", sort = "j-present"}}, } labels["class 7 strong verbs"] = { description = "{{{langname}}} class 7 strong verbs, which retained their reduplication in the past tense in Proto-Germanic.", breadcrumb = "class 7", parents = {{name = "strong verbs", sort = "7"}}, } labels["class 7a strong verbs"] = { description = "{{{langname}}} class 7 strong verbs where the root vowel was ''*ai'' in Proto-Germanic, analogous to class 1.", breadcrumb = "class 7a", parents = {{name = "class 7 strong verbs", sort = "a"}}, } labels["class 7b strong verbs"] = { description = "{{{langname}}} class 7 strong verbs where the root vowel was ''*au'' in Proto-Germanic, analogous to class 2.", breadcrumb = "class 7b", parents = {{name = "class 7 strong verbs", sort = "b"}}, } labels["class 7c strong verbs"] = { description = "{{{langname}}} class 7 strong verbs where the root vowel was ''*a'' followed by a [[consonant cluster]] in Proto-Germanic, analogous to class 3.", breadcrumb = "class 7c", parents = {{name = "class 7 strong verbs", sort = "c"}}, } labels["class 7d strong verbs"] = { description = "{{{langname}}} class 7 strong verbs where the root vowel was ''*ē'' in Proto-Germanic.", breadcrumb = "class 7d", parents = {{name = "class 7 strong verbs", sort = "d"}}, } labels["class 7e strong verbs"] = { description = "{{{langname}}} class 7 strong verbs where the root vowel was ''*ō'' in Proto-Germanic.", breadcrumb = "class 7e", parents = {{name = "class 7 strong verbs", sort = "e"}}, } labels["class 7 strong j-present verbs"] = { description = "{{{langname}}} class 7 strong verbs with a {{IPAchar|/j/}} suffix in the present tense in Proto-Germanic.", additional = "This caused [[umlaut]] of the root vowel in most languages. The {{ic|/j/}} was maintained in Gothic, Old Norse (and modern Icelandic) and Old Saxon, but otherwise dropped.", breadcrumb = "''j''-present", parents = {{name = "class 7 strong verbs", sort = "j-present"}}, } -- Add 'umbrella_parents' key if not already present. for key, data in pairs(labels) do if not data.umbrella_parents then data.umbrella_parents = "Terms by grammatical category subcategories by language" end end return {LABELS = labels} 88k7sky1bf589e9xdsynl8pwglofaen Modul:category tree/fam/qfa-kor 828 118488 342497 2026-05-16T02:27:58Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} labels["hanja"] = { topright = "{{wp|Hanja}}", description = "{{{langname}}} symbols of the Han logographic script, which can represent sounds or convey meanings directly.", toc_template = "Hani-categoryTOC", umbrella = "Han characters", parents = "logograms", } labels["hanja forms"] = { topright = "{{wp|Hanja}}", description = "{{{langname}}} terms written in [[hanja]].", parents = "terms by script", }...' 342497 Scribunto text/plain local labels = {} local handlers = {} labels["hanja"] = { topright = "{{wp|Hanja}}", description = "{{{langname}}} symbols of the Han logographic script, which can represent sounds or convey meanings directly.", toc_template = "Hani-categoryTOC", umbrella = "Han characters", parents = "logograms", } labels["hanja forms"] = { topright = "{{wp|Hanja}}", description = "{{{langname}}} terms written in [[hanja]].", parents = "terms by script", } labels["idu forms"] = { topright = "{{wp|Idu script}}", description = "{{{langname}}} terms written in [[idu]].", parents = "terms by script", } labels["four-character idioms"] = { topright = "{{wp|Sajaseong-eo}}", description = "{{{langname}}} traditional idiomatic expressions, also called sajaseong-eo, usually consisting of four syllables and traditionally given in [[hanja]]; typically derived from [[Classical Chinese]].", additional = "Compare Chinese {{w|chengyu}} and Japanese {{w|yojijukugo}}.", umbrella = "four-character idioms", parents = "idioms", } labels["terms written in Hanja-Hangul mixed script"] = { topright = "{{wp|Korean mixed script}}", description = "{{{langname}}} mixed script is a form of writing that uses both [[hangeul]] (hangul) (an alphabetical script) and [[hanja]] (logo-syllabic characters).", parents = "terms written in multiple scripts", } return {LABELS = labels, HANDLERS = handlers} sg8wfygn9ns7dv1gh1uvf8z468u1th2 342502 342497 2026-05-16T02:29:06Z Hakimi97 2668 342502 Scribunto text/plain local labels = {} local handlers = {} labels["Hanja"] = { topright = "{{wp|Hanja}}", description = "{{{langname}}} symbols of the Han logographic script, which can represent sounds or convey meanings directly.", toc_template = "Hani-categoryTOC", umbrella = "aksara Han", parents = "Logogram", } labels["Bentuk Hanja"] = { topright = "{{wp|Hanja}}", description = "{{{langname}}} terms written in [[hanja]].", parents = "Perkataan mengikut tulisan", } labels["Bentuk Idu"] = { topright = "{{wp|Idu script}}", description = "{{{langname}}} terms written in [[idu]].", parents = "Perkataan mengikut tulisan", } labels["four-character idioms"] = { topright = "{{wp|Sajaseong-eo}}", description = "{{{langname}}} traditional idiomatic expressions, also called sajaseong-eo, usually consisting of four syllables and traditionally given in [[hanja]]; typically derived from [[Classical Chinese]].", additional = "Compare Chinese {{w|chengyu}} and Japanese {{w|yojijukugo}}.", umbrella = "four-character idioms", parents = "idioms", } labels["terms written in Hanja-Hangul mixed script"] = { topright = "{{wp|Korean mixed script}}", description = "{{{langname}}} mixed script is a form of writing that uses both [[hangeul]] (hangul) (an alphabetical script) and [[hanja]] (logo-syllabic characters).", parents = "terms written in multiple scripts", } return {LABELS = labels, HANDLERS = handlers} p9t2gu1rexbnezelg5py4v9tiakunnh 342752 342502 2026-05-16T04:10:52Z Hakimi97 2668 342752 Scribunto text/plain local labels = {} local handlers = {} labels["Hanja"] = { topright = "{{wp|Hanja}}", description = "Simbol bahasa {{{langname}}} dalam tulisan logograf Han yang boleh mewakili suara atau makna secara terus.", toc_template = "Hani-categoryTOC", umbrella = "Aksara Han", parents = "Logogram", } labels["Bentuk hanja"] = { topright = "{{wp|Hanja}}", description = "Perkataan bahasa {{{langname}}} ditulis dalam [[hanja]].", parents = "Perkataan mengikut tulisan", } labels["bentuk idu"] = { topright = "{{wp|Idu script}}", description = "Perkataan bahasa {{{langname}}} ditulis dalam [[idu]].", parents = "perkataan mengikut tulisan", } labels["peribahasa empat aksara"] = { topright = "{{wp|Sajaseong-eo}}", description = "Ekspresi peribahasa tradisional bahasa {{{langname}}}, juga dipanggil sajaseong-eo, biasanya terdiri daripada empat suku kata dan secara tradisinya ditulis dalam [[hanja]]; biasanya terbitan bahasa Cina Klasik.", additional = "Banding dengan {{w|chengyu}} bahasa Cina dan {{w|yojijukugo}} bahasa Jepun.", umbrella = "peribahasa empat aksara", parents = "peribahasa", } labels["terms written in Hanja-Hangul mixed script"] = { topright = "{{wp|Korean mixed script}}", description = "{{{langname}}} mixed script is a form of writing that uses both [[hangeul]] (hangul) (an alphabetical script) and [[hanja]] (logo-syllabic characters).", parents = "terms written in multiple scripts", } return {LABELS = labels, HANDLERS = handlers} jl7gs2bg6cd8x3t52ipfjw32555jcky Wikikamus:tmw/Gelap 4 118489 342500 2026-05-16T02:28:24Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Gelap]] ke [[Wikikamus:tmw/gelap]]: Tajuk salah eja 342500 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/gelap]] jp0scqw2rm2ia05eter80k2bwr65ivc Wikikamus:tmw/simpai 4 118490 342503 2026-05-16T02:29:39Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} gelang{{cp|tmw|Aku buat '''simpai''' gunak utan|Saya membuat '''gelang''' dengan menggunakan rotan}}' 342503 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} gelang{{cp|tmw|Aku buat '''simpai''' gunak utan|Saya membuat '''gelang''' dengan menggunakan rotan}} 26terxn59kczfpa2ytubhe9eraun8t7 Modul:category tree/fam/roa-ibe 828 118491 342504 2026-05-16T02:29:49Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local conjugations = { ["ar"] = "{{{langname}}} first conjugation verbs, derived from Latin [[:Category:Latin first conjugation verbs|first conjugation (-āre) verbs]].", ["er"] = "{{{langname}}} second conjugation verbs, derived from Latin [[:Category:Latin second conjugation verbs|second conjugation (-ēre)]] or [[:Category:Latin third conjugation verbs|third conjugation (-ere)]] verbs.", ["ir"] = "{{{langname}}} third conjugati...' 342504 Scribunto text/plain local labels = {} local conjugations = { ["ar"] = "{{{langname}}} first conjugation verbs, derived from Latin [[:Category:Latin first conjugation verbs|first conjugation (-āre) verbs]].", ["er"] = "{{{langname}}} second conjugation verbs, derived from Latin [[:Category:Latin second conjugation verbs|second conjugation (-ēre)]] or [[:Category:Latin third conjugation verbs|third conjugation (-ere)]] verbs.", ["ir"] = "{{{langname}}} third conjugation verbs, derived from Latin [[:Category:Latin third conjugation verbs|third conjugation (-ere)]] or [[:Category:Latin fourth conjugation verbs|fourth conjugation (-īre)]] verbs.", } labels["verbs by conjugation"] = { description = "{{{langname}}} verbs categorized by conjugation.", parents = {"verbs by inflection type"}, } for conj, conjdesc in pairs(conjugations) do labels["verbs ending in -" .. conj] = { description = conjdesc, displaytitle = "{{{langname}}} verbs ending in {{m|{{{langcode}}}||-" .. conj .. "}}", parents = { {name = "verbs by conjugation", sort = conj}, }, breadcrumb = "{{m|{{{langcode}}}||-" .. conj .. "}}", } end labels["verbs by vowel alternation"] = { description = "{{{langname}}} verbs categorized by type of vowel alternation.", parents = {"verbs by inflection type"}, } labels["verbs by consonant alternation"] = { description = "{{{langname}}} verbs categorized by type of consonant alternation.", parents = {"verbs by inflection type"}, } labels["third-person-only verbs"] = { description = "{{{langname}}} verbs with forms that exist only in the third person, and have no imperatives.", parents = {{name = "defective verbs"}}, breadcrumb = "third-person-only", } -- Add 'umbrella_parents' key if not already present. for key, data in pairs(labels) do if not data.umbrella_parents then data.umbrella_parents = "Terms by grammatical category subcategories by language" end end return {LABELS = labels} 4hqzujtavdjpjcevxpm30i0mf4rf6vg Wikikamus:tmw/Gosok gigik 4 118492 342507 2026-05-16T02:30:12Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Gosok gigik]] ke [[Wikikamus:tmw/gosok gigik]]: Tajuk salah eja 342507 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/gosok gigik]] nfmoogjbbbp75jfsm0zqhqdp48neeqv Modul:category tree/fam/sem-ara 828 118493 342508 2026-05-16T02:30:45Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} --[=[ This module handles language-specific categories for all Aramaic varieties. ]=] ----------------------------------------------------------------------------- -- -- -- NOUNS -- -- -- ----------------------------------------------------...' 342508 Scribunto text/plain local labels = {} --[=[ This module handles language-specific categories for all Aramaic varieties. ]=] ----------------------------------------------------------------------------- -- -- -- NOUNS -- -- -- ----------------------------------------------------------------------------- ---------------------------------- Noun labels --------------------------------- local function add_noun_labels(labels) -- Currently there is no [[Appendix:Aramaic nominals]]. Formerly the code conditionalized on the language -- but only referenced [[Appendix:Assyrian Neo-Aramaic nominals]] (which also doesn't exist) for lang code 'aii', -- and was broken for all other languages. If we want to conditionalize on the language now, we have to make the -- description a function (in which case it will be passed an object whose `.lang` field is the language), or use -- a handler. local nominal_appendix = "Appendix:Aramaic nominals" local appendix_exists = mw.title.new(nominal_appendix).exists local function make_appendix_link(text, anchor) if appendix_exists then anchor = anchor or mw.getContentLanguage():ucfirst(text) return ("[[%s#%s|%s]]"):format(nominal_appendix, anchor, text) else return text end end labels["nouns by derivation type"] = { description = "{{{langname}}} nouns categorized by type of derivation.", breadcrumb = "by derivation type", parents = {{name = "nouns", sort = "derivation type"}}, } labels["active nouns"] = { description = "{{{langname}}} " .. make_appendix_link("active nouns") .. ", i.e. nouns having the meaning \"one who does X\" for some verb.", breadcrumb_and_first_sort_key = "active nouns", parents = {"nouns by derivation type"}, } labels["instance nouns"] = { description = "{{{langname}}} " .. make_appendix_link("instance nouns") .. ", i.e. nouns having the meaning \"an instance of doing X\" for some verb.", breadcrumb_and_first_sort_key = "instance nouns", parents = {"nouns by derivation type"}, } labels["nouns of place"] = { description = "{{{langname}}} " .. make_appendix_link("nouns of place") .. ", i.e. nouns having the approximate meaning \"the place for doing X\" for some verb.", breadcrumb_and_first_sort_key = "nouns of place", parents = {"nouns by derivation type"}, } labels["occupational nouns"] = { description = "{{{langname}}} " .. make_appendix_link("occupational nouns") .. ", i.e. nouns referring to people employed in doing something.", breadcrumb_and_first_sort_key = "occupational nouns", parents = {"nouns by derivation type"}, } labels["tool nouns"] = { description = "{{{langname}}} " .. make_appendix_link("tool nouns") .. ", i.e. nouns having the approximate meaning \"tool for doing X\" for some verb.", breadcrumb_and_first_sort_key = "tool nouns", parents = {"nouns by derivation type"}, } -- Add 'umbrella_parents' key if not already present. for key, data in pairs(labels) do if not data.umbrella_parents then data.umbrella_parents = "Lemmas subcategories by language" end end end ----------------------------------------------------------------------------- -- -- -- WRAPPERS -- -- -- ----------------------------------------------------------------------------- add_noun_labels(labels) return {LABELS = labels} rw2e49106ubwcdoxppupbvau909v1qc Modul:category tree/fam/sla 828 118494 342510 2026-05-16T02:31:30Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} labels["multidirectional verbs"] = { description = "{{{langname}}} verbs of motion whose motion is multidirectional (as opposed to unidirectional) or indirect, or whose action is repeated or in a series, instead of being a single, completed action.", additional = "Multidirectional verbs are always imperfective in aspect, even with prefixes that are normally associated with the perfective aspect. See also {{lg|unidirectional verb}}....' 342510 Scribunto text/plain local labels = {} labels["multidirectional verbs"] = { description = "{{{langname}}} verbs of motion whose motion is multidirectional (as opposed to unidirectional) or indirect, or whose action is repeated or in a series, instead of being a single, completed action.", additional = "Multidirectional verbs are always imperfective in aspect, even with prefixes that are normally associated with the perfective aspect. See also {{lg|unidirectional verb}}.", parents = {"verbs"}, umbrella_parents = "Lemmas subcategories by language", } labels["unidirectional verbs"] = { description = "{{{langname}}} verbs of motion whose motion is unidirectional (as opposed to multidirectional), a definitely directed motion, or a single, completed action (instead of a repeated action or series of actions).", additional = "Unidirectional verbs may be either imperfective or perfective. See also {{lg|multidirectional verb}}.", parents = {"verbs"}, umbrella_parents = "Lemmas subcategories by language", } ------- Slavic terms with prothetic consonants ------- for _, back_sound in ipairs {"v-", "w-", "в-"} do labels["terms with prothetic " .. back_sound] = { description = "{{{langname}}} terms with a prothetic {{m|{{{langcode}}}||" .. back_sound .. "}}, which was not present etymologically in {{w|Proto-Slavic}}.", displaytitle = "{{{langname}}} terms with prothetic {{m|{{{langcode}}}||" .. back_sound .. "}}", additional = "This sound was originally added before terms beginning with a back vowel (''o'' or ''u'') to prevent {{lg|hiatus}} when the preceding word ended in a vowel, and in time was incorporated into the word itself.", breadcrumb = "with prothetic {{m|{{{langcode}}}||" .. back_sound .. "}}", parents = {{name = "terms by lexical property", sort = "prothetic"}}, umbrella = { description = "Categories with terms with a prothetic {{m|und||" .. back_sound .. "}}, which was not present etymologically in {{w|Proto-Slavic}}.", breadcrumb = "Terms with prothetic {{m|und||" .. back_sound .. "}}", parents = {"Terms by lexical property subcategories by language"}, } } end labels["terms with prothetic h-"] = { description = "{{{langname}}} terms with a prothetic {{m|{{{langcode}}}||h}}, which was not present etymologically in {{w|Proto-Slavic}}.", displaytitle = "{{{langname}}} terms with prothetic {{m|{{{langcode}}}||h}}", additional = "This sound was originally added before terms beginning with a vowel to prevent {{lg|hiatus}} when the preceding word ended in a vowel, and in time was incorporated into the word itself.", breadcrumb = "with prothetic {{m|{{{langcode}}}||h}}", parents = {{name = "terms by lexical property", sort = "prothetic"}}, umbrella = { description = "Categories with terms with a prothetic {{m|und||h}}, which was not present etymologically in {{w|Proto-Slavic}}.", breadcrumb = "Terms with prothetic {{m|und||h}}", parents = {"Terms by lexical property subcategories by language"}, } } return {LABELS = labels} s4khv5hpn2b3ncc7mqr1hlxeaftnq8z Modul:category tree/fam/trk 828 118495 342512 2026-05-16T02:32:22Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} ------- Turkic izafet I/II/III compounds ------- -- FIXME: Possibly should be limited to a subfamily of Turkic. labels["izafet I compounds"] = { description = "{{{langname}}} izafet I compounds, i.e. nominal compounds consisting of two nouns both lacking 3rd-person possessive marking.", additional = "These compounds are right-headed (the second noun is modified by the first), unlike Persian {{lg|ezafe}} compounds, which are typic...' 342512 Scribunto text/plain local labels = {} ------- Turkic izafet I/II/III compounds ------- -- FIXME: Possibly should be limited to a subfamily of Turkic. labels["izafet I compounds"] = { description = "{{{langname}}} izafet I compounds, i.e. nominal compounds consisting of two nouns both lacking 3rd-person possessive marking.", additional = "These compounds are right-headed (the second noun is modified by the first), unlike Persian {{lg|ezafe}} compounds, which are typically left-headed.", breadcrumb_and_first_sort_key = "izafet I", parents = {"compound terms"}, } labels["izafet II compounds"] = { description = "{{{langname}}} izafet II compounds, i.e. nominal compounds with the first noun having zero-marking, and the second noun receiving a possessive suffix.", additional = "These compounds are right-headed (the second noun is modified by the first), unlike Persian {{lg|ezafe}} compounds, which are typically left-headed.", breadcrumb_and_first_sort_key = "izafet II", parents = {"compound terms"}, } labels["izafet III compounds"] = { description = "{{{langname}}} izafet III compounds, i.e. nominal compounds with the first noun in the genitive case and the second noun receiving a possessive suffix.", additional = "These compounds are right-headed (the second noun is modified by the first), unlike Persian {{lg|ezafe}} compounds, which are typically left-headed.", breadcrumb_and_first_sort_key = "izafet III", parents = {"compound terms"}, } labels["Persian-style izafet compounds"] = { description = "{{{langname}}} Persian-style izafet compounds, i.e. left-headed nominal compounds with the first noun receiving a Persian-style {{lg|ezafe}} suffix and the second noun having zero-marking.", additional = "These compounds are left-headed (the first noun is modified by second), unlike native Turkic izafet compounds, which are always right-headed.", breadcrumb_and_first_sort_key = "Persian-style", parents = {"izafet II compounds"}, } -- Add 'umbrella_parents' key if not already present. for key, data in pairs(labels) do if not data.umbrella_parents then data.umbrella_parents = "Types of compound terms by language" end end return {LABELS = labels} ps5lfysh0wgnpjatzdh4pzsy8y1w7y6 Modul:category tree/fam 828 118496 342513 2026-05-16T02:34:17Z Hakimi97 2668 Mencipta laman baru dengan kandungan '-- This module contains a list of families with family-specific modules. local families_with_modules = { ["alg"] = true, ["gem"] = true, ["jpx"] = true, ["qfa-kor"] = true, ["roa-ibe"] = true, ["sem-ara"] = true, ["sla"] = true, ["trk"] = true, ["tup"] = true, ["zhx"] = true, } return families_with_modules' 342513 Scribunto text/plain -- This module contains a list of families with family-specific modules. local families_with_modules = { ["alg"] = true, ["gem"] = true, ["jpx"] = true, ["qfa-kor"] = true, ["roa-ibe"] = true, ["sem-ara"] = true, ["sla"] = true, ["trk"] = true, ["tup"] = true, ["zhx"] = true, } return families_with_modules i4uemo2elq7n14h8788ftpa3rouz69z Wikikamus:tmw/Ikan semilang 4 118497 342515 2026-05-16T02:34:39Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Ikan semilang]] ke [[Wikikamus:tmw/ikan semilang]] 342515 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/ikan semilang]] 7o8o4egbwjk6532kgwzoxdtg6tp13ik Wikikamus:tmw/sukak 4 118498 342516 2026-05-16T02:34:53Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} suka{{cp|tmw|Ajih '''sukak''' aku kah nyap?|Awak '''suka''' saya atau tidak?}}' 342516 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} suka{{cp|tmw|Ajih '''sukak''' aku kah nyap?|Awak '''suka''' saya atau tidak?}} ajcsfljgp0bgxrhxt5oy73fdny41c2n Wikikamus:tmw/Inih 4 118499 342519 2026-05-16T02:35:53Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Inih]] ke [[Wikikamus:tmw/inih]]: Tajuk salah eja 342519 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/inih]] hg6sjcckfhp0mzy5heb8byogz4o0t48 Wikikamus:tmw/Jala 4 118500 342523 2026-05-16T02:37:44Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Jala]] ke [[Wikikamus:tmw/jala]] 342523 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/jala]] toxzioav0nm1o7baejwkijyqt4oq3sz Wikikamus:tmw/lemuk 4 118501 342524 2026-05-16T02:38:18Z Sakura Comel 10752 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} lembu' 342524 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} lembu 78m0qvxcsbzsr2yskx0owmpc4gphzbj 342551 342524 2026-05-16T02:49:17Z Kentangputarr 10725 342551 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}}lembu{{cp|tmw|}} kzm6z392hbt8j2n4h1clfxo1jc43sar Wikikamus:tmw/Jale 4 118502 342527 2026-05-16T02:39:00Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Jale]] ke [[Wikikamus:tmw/jale]] 342527 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/jale]] 59agz2z4kjc2hphc2scayco97xmroym Wikikamus:tmw/Kate 4 118503 342531 2026-05-16T02:41:02Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Kate]] ke [[Wikikamus:tmw/kate]]: Tajuk salah eja 342531 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/kate]] 6wj7z0a7gexbq8m2qghwsyy7njmmhaf Wikikamus:tmw/Kejak 4 118504 342533 2026-05-16T02:41:39Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Kejak]] ke [[Wikikamus:tmw/kejak]]: Tajuk salah eja 342533 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/kejak]] 4xcdgzeteo5pf3az4u1msixryj6ljmd Wikikamus:tmw/mangkit 4 118505 342536 2026-05-16T02:42:34Z Sakura Comel 10752 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} bangun' 342536 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} bangun 59pgpkg3v5y4tp29vl262hfwlgde1uj Wikikamus:tmw/ubi kayuk 4 118506 342537 2026-05-16T02:42:37Z Faizz315891 10774 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=bukit lagong}} ubi kayu' 342537 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=bukit lagong}} ubi kayu 253xr9ef08jhct80bkvf0dg2kpbrmim 342670 342537 2026-05-16T03:37:02Z Faizz315891 10774 342670 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=bukit lagong}} ubi kayu{{cp|tmw|genui tanam '''ubik kayuk'''|nenek menanam '''ubi kayu'''}} 4xg1xkdpngjdft4slqsssnrm2ikv3xg Wikikamus:tmw/Lada 4 118507 342539 2026-05-16T02:42:40Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Lada]] ke [[Wikikamus:tmw/lada]] 342539 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/lada]] t51f5hcfiuawnwjknegpyhaxpnbj9p6 Wikikamus:tmw/Lego 4 118508 342543 2026-05-16T02:44:36Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Lego]] ke [[Wikikamus:tmw/lego]] 342543 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/lego]] pz0t60mgxm7w5tsgqfbfunmtn8a6ov6 Wikikamus:tmw/kecek 4 118509 342544 2026-05-16T02:44:54Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} kecik{{cp|tmw|Umah nin '''kecek''' betul|Rumah ini sangat '''kecil'''}}' 342544 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} kecik{{cp|tmw|Umah nin '''kecek''' betul|Rumah ini sangat '''kecil'''}} q0833y3erjrs4wbzziewm4h95or34nu Wikikamus:tmw/Lempen 4 118510 342546 2026-05-16T02:45:13Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Lempen]] ke [[Wikikamus:tmw/lempen]] 342546 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/lempen]] 0pkp0ul6sz18wwshrkgc8plo0bx7pxy Wikikamus:tmw/butak 4 118511 342549 2026-05-16T02:48:10Z Sakura Comel 10752 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} buta' 342549 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} buta j17m9e93yc8sbuqf4ns7myjmv7cyjj9 Wikikamus:tmw/Lenik 4 118512 342553 2026-05-16T02:50:23Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Lenik]] ke [[Wikikamus:tmw/lenik]] 342553 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/lenik]] owyby6o5gw2c36ecnpcgva1tfbhy71f Wikikamus:tmw/ayik 4 118513 342556 2026-05-16T02:51:27Z Qhairy 9963 Qhairy telah memindahkan laman [[Wikikamus:tmw/ayik]] ke [[Wikikamus:tmw/haik]]: Tajuk salah eja 342556 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/haik]] fn31u9a91yv3q9mg2om3fzd90dxb9qo Wikikamus:tmw/lajuk 4 118514 342558 2026-05-16T02:52:32Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} {{cp|tmw|Anying ituk berlari '''lajuk''' nah|Anjing itu berlari sangat '''laju'''}}' 342558 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} {{cp|tmw|Anying ituk berlari '''lajuk''' nah|Anjing itu berlari sangat '''laju'''}} mkchq0qvhy6qj3d26e2nhqhvh7ixf75 Wikikamus:tmw/Mak 4 118515 342560 2026-05-16T02:52:44Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Mak]] ke [[Wikikamus:tmw/mak]] 342560 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/mak]] 8tjdtc68suq99lrnd0xku3p9jzxlmi1 Wikikamus:tmw/sengoh 4 118516 342561 2026-05-16T02:53:16Z Eiimanns 10724 Mencipta laman baru dengan kandungan 'diam ==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Johor}} contoh' 342561 wikitext text/x-wiki diam ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Johor}} contoh 3v4iy64vvw4rp9ufltd6fal3x3xdf5c 342563 342561 2026-05-16T02:53:59Z Eiimanns 10724 342563 wikitext text/x-wiki diam ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Temuan}} diam 66d7061ymr1l4ppkuca1ci2tawzjx0x Wikikamus:tmw/gogok 4 118517 342564 2026-05-16T02:54:44Z Eiimanns 10724 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Johor}} contoh' 342564 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Johor}} contoh rmji9z692w7xdno3x1z7x97x3b2mxy5 342568 342564 2026-05-16T02:55:53Z Eiimanns 10724 342568 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} {{label|1=tmw|2=dialek|3=Temuan}} Tak larat (untuk berjalan) tq273r2zixe342c7dmp7t6whz1ttmwl Wikikamus:tmw/tanyak 4 118518 342567 2026-05-16T02:55:44Z Sakura Comel 10752 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} tanya' 342567 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} tanya hd6na7k80jibrvk26qfz8k1tkrgds5c 342714 342567 2026-05-16T03:55:36Z Kentangputarr 10725 342714 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} tanya {{cp|tmw|}} 9ek1wdo5gmdu7azh2axr1qkh0lg8ii5 Wikikamus:tmw/Mimpi nyahat 4 118519 342570 2026-05-16T02:56:16Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Mimpi nyahat]] ke [[Wikikamus:tmw/mimpi nyahat]]: Tajuk salah eja 342570 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/mimpi nyahat]] ac6wtjzqbowmvwc2cpbia8bozovxayt Wikikamus:tmw/payak 4 118520 342571 2026-05-16T02:56:34Z Eiimanns 10724 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Johor}} contoh' 342571 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Johor}} contoh rmji9z692w7xdno3x1z7x97x3b2mxy5 342572 342571 2026-05-16T02:57:09Z Eiimanns 10724 342572 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Temuan}} Lumpur sv8952spkyzwlhp7ir0iba5gwrgfks8 Wikikamus:tmw/dogol 4 118521 342573 2026-05-16T02:58:07Z Eiimanns 10724 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Johor}} contoh' 342573 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Johor}} contoh rmji9z692w7xdno3x1z7x97x3b2mxy5 342579 342573 2026-05-16T03:00:06Z Eiimanns 10724 342579 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Temuan Bukit Lagong}}Kawasan hutan yang ditebang nklsm99uiw8km70wajzpyragttxhn9h 342758 342579 2026-05-16T04:17:26Z Khalifah5156 9987 342758 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Temuan Bukit Lagong}}Kawasan hutan yang ditebang{{cp|tmw|Kebun kena '''dogol'''|Kebun kena '''tebang'''}} pcb46tezo56lzzmo0gtom70r223d5ky Wikikamus:tmw/Mok 4 118522 342581 2026-05-16T03:00:16Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Mok]] ke [[Wikikamus:tmw/mok]]: Tajuk salah eja 342581 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/mok]] tf354u0qpb1pk5f5ri2yitrjxxgzm1n Wikikamus:tmw/deket 4 118523 342584 2026-05-16T03:01:34Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} dekat{{cp|tmw|Umah aku '''deket''' sungai|Rumah saya ber'''dekat'''an dengan sungai}}' 342584 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} dekat{{cp|tmw|Umah aku '''deket''' sungai|Rumah saya ber'''dekat'''an dengan sungai}} acaatga72q7nh2x2l120s3ybpwpakfh Wikikamus:tmw/penyincang 4 118524 342585 2026-05-16T03:02:01Z Sakura Comel 10752 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} tempat pencincang' 342585 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} tempat pencincang oraxrxqqdijriwj2lb0brdpsulwv1nj Wikikamus:tmw/telu 4 118525 342586 2026-05-16T03:02:46Z Sakura Comel 10752 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} telur' 342586 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} telur bshy98sjcgml5jnr05l99dfixwhfs2b Wikikamus:tmw/manih 4 118526 342587 2026-05-16T03:03:59Z Sakura Comel 10752 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} manis' 342587 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} manis bbfu7vfefzqsqmfylemcju4kxryhx5h Wikikamus:tmw/Muduk 4 118527 342590 2026-05-16T03:04:20Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Muduk]] ke [[Wikikamus:tmw/muduk]] 342590 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/muduk]] 4qcq3otnglxp0gnpy2e7m7454jonr28 Wikikamus:tmw/kenurik 4 118528 342591 2026-05-16T03:04:41Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} kenduri{{cp|tmw|Didi datang '''kenurik''' malam tok|Mereka datang ke '''kenduri''' semalam}}' 342591 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} kenduri{{cp|tmw|Didi datang '''kenurik''' malam tok|Mereka datang ke '''kenduri''' semalam}} fpfquyipmrqyazl3su0i401s3fyiakp Wikikamus:tmw/Ngael 4 118529 342594 2026-05-16T03:04:55Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Ngael]] ke [[Wikikamus:tmw/ngael]] 342594 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/ngael]] 96q7a7x30zvbkvojk1hw7pp6mb92v11 Wikikamus:tmw/nangih 4 118530 342596 2026-05-16T03:05:51Z Sakura Comel 10752 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} menangis' 342596 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} menangis 3lm79ew1q0hrbsk3hycvjbsdyleiuh3 Wikikamus:tmw/Nyahak ajak 4 118531 342604 2026-05-16T03:10:34Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Nyahak ajak]] ke [[Wikikamus:tmw/nyahak ajak]]: Tajuk salah eja 342604 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/nyahak ajak]] 1aufzddeydanivc44tqbsygfka6e58y Wikikamus:tmw/Nyayik 4 118532 342609 2026-05-16T03:11:25Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Nyayik]] ke [[Wikikamus:tmw/nyayik]] 342609 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/nyayik]] mwjn3r7e6fhqhehx25nly0u3dl5hpef Wikikamus:tmw/cermin matak 4 118533 342611 2026-05-16T03:12:52Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/cermin matak]] ke [[Wikikamus:tmw/cemin matak]] 342611 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/cemin matak]] c8qxakjbc9c57rplbfhhu161x81dwp7 Wikikamus:tmw/Antuk 4 118534 342612 2026-05-16T03:12:57Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '{{cp|tmw|Bodok takut manan '''gelap''' tai|Budak itu takut melihat '''hantu''' pada waktu malam}} ==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Johor}} contoh' 342612 wikitext text/x-wiki {{cp|tmw|Bodok takut manan '''gelap''' tai|Budak itu takut melihat '''hantu''' pada waktu malam}} ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Johor}} contoh srv2zx7p6yw1ui5cedp86j3agpqpme2 342613 342612 2026-05-16T03:13:29Z Barbiemaripossa 9985 342613 wikitext text/x-wiki {{cp|tmw|Bodok takut manan '''gelap''' tai|Budak itu takut melihat '''hantu''' pada waktu malam}} ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} contoh b5m5vcmiffztzlk00n0aumlfywtubqr Wikikamus:tmw/nguap 4 118535 342616 2026-05-16T03:17:07Z Sakura Comel 10752 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} menguap' 342616 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} menguap o2vkj6t4u8xbbt7hcarj27ol9chiu5s Wikikamus:tmw/Semomok 4 118536 342619 2026-05-16T03:17:48Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Semomok]] ke [[Wikikamus:tmw/semomok]] 342619 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/semomok]] 6l1dy0b47hk3umm7pz8624bhec5xry9 Wikikamus:tmw/manang 4 118537 342620 2026-05-16T03:18:16Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} lihat{{cp|tmw|Aku '''manang''' burung atas pokok|Saya me'''lihat''' burung di atas pokok}}' 342620 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} lihat{{cp|tmw|Aku '''manang''' burung atas pokok|Saya me'''lihat''' burung di atas pokok}} iqymwssxgqc80jlqa95pu253mydjf2p Wikikamus:tmw/bodok 4 118538 342623 2026-05-16T03:21:21Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} budak{{cp|tmw|'''Bodok''' tidur awal gelap tai|'''Budak''' itu tidur awal malam tadi.}}' 342623 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} budak{{cp|tmw|'''Bodok''' tidur awal gelap tai|'''Budak''' itu tidur awal malam tadi.}} hccbno6di7bejicu2e19vsc2qp43tgr Wikikamus:tmw/Sikah 4 118539 342628 2026-05-16T03:24:46Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Sikah]] ke [[Wikikamus:tmw/sikah]] 342628 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/sikah]] 6qr77ef7zj78wodwe6ukdp2znmaqkf6 Wikikamus:tmw/Taek 4 118540 342632 2026-05-16T03:26:08Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Taek]] ke [[Wikikamus:tmw/taek]] 342632 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/taek]] 6em0ol5hl3028bwvkqia5u75k4y4rxr Modul:category tree/lang/acm 828 118541 342633 2026-05-16T03:26:46Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} local lang = require("Module:languages").getByCode("acm") require("Module:category tree/lang/sem-arb").add_labels_and_handlers(labels, handlers, lang) return {LABELS = labels, HANDLERS = handlers}' 342633 Scribunto text/plain local labels = {} local handlers = {} local lang = require("Module:languages").getByCode("acm") require("Module:category tree/lang/sem-arb").add_labels_and_handlers(labels, handlers, lang) return {LABELS = labels, HANDLERS = handlers} o8plfonz5sly6235dqhxxd5085jephx Wikikamus:tmw/Tali dendan 4 118542 342637 2026-05-16T03:27:10Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Tali dendan]] ke [[Wikikamus:tmw/tali dendan]] 342637 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/tali dendan]] lju5kps4jl24f3d4zczjouhpwdu21iv Wikikamus:tmw/nun 4 118543 342638 2026-05-16T03:27:26Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} sana{{cp|tmw|Didi duduk dekat '''nun''' di bawak pokok|Mereka duduk di '''sana''' di bawah pokok}}' 342638 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} sana{{cp|tmw|Didi duduk dekat '''nun''' di bawak pokok|Mereka duduk di '''sana''' di bawah pokok}} b2kebt2ib6jpf2vv77mkwbpws9mp2k6 Modul:category tree/lang/aii 828 118544 342639 2026-05-16T03:27:28Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} labels["nouns with reduplicative plurals"] = { description = "{{{langname}}} nouns with an irregular, {{lg|reduplicative}} plural, in which the last pronounced consonant appears reduplicated within the plural suffix.", additional = "An example is {{m|aii|ܒܸܪܟܵܐ|tr=bir'''k'''ā|t=knee}}, with pluras {{m|aii|ܒܸܪ̈ܟܵܟܹܐ|tr=bir'''k'''ā'''k'''ē|t=knees}}).", breadcrumb_and_first_sort_key = "reduplica...' 342639 Scribunto text/plain local labels = {} local handlers = {} labels["nouns with reduplicative plurals"] = { description = "{{{langname}}} nouns with an irregular, {{lg|reduplicative}} plural, in which the last pronounced consonant appears reduplicated within the plural suffix.", additional = "An example is {{m|aii|ܒܸܪܟܵܐ|tr=bir'''k'''ā|t=knee}}, with pluras {{m|aii|ܒܸܪ̈ܟܵܟܹܐ|tr=bir'''k'''ā'''k'''ē|t=knees}}).", breadcrumb_and_first_sort_key = "reduplicative", parents = {"nouns with irregular plurals"}, } return {LABELS = labels, HANDLERS = handlers} iqllvjiimmhbdtv8qs073enbpcqmqzg Modul:category tree/lang/akk 828 118545 342640 2026-05-16T03:28:08Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local handlers = {} local insert = table.insert local match = string.match insert(handlers, function(data) local stems = { ["G"] = "simple stems which are used for the {{lg|intransitive}} and {{lg|transitive}}", ["D"] = "stems in the {{lg|intensive}} indicated by the second radical being geminated", ["Š"] = "stems with a {{lg|causative}} ''š''-{{lg|preformative}}", ["N"] = "stems with a {{lg|passive}} or {{lg|reflexive}} ''n''-{{lg|preform...' 342640 Scribunto text/plain local handlers = {} local insert = table.insert local match = string.match insert(handlers, function(data) local stems = { ["G"] = "simple stems which are used for the {{lg|intransitive}} and {{lg|transitive}}", ["D"] = "stems in the {{lg|intensive}} indicated by the second radical being geminated", ["Š"] = "stems with a {{lg|causative}} ''š''-{{lg|preformative}}", ["N"] = "stems with a {{lg|passive}} or {{lg|reflexive}} ''n''-{{lg|preformative}}", ["Gt"] = "simple stems which have a {{lg|reciprocal}} or {{lg|reflexive}} ''-t-'' {{lg|infix}}ed after the first radical", ["Dt"] = "[[:Category:{{{langname}}} D-stems|D-stems]] which have a ''-t-'' {{lg|infix}}ed, indicating an {{lg|intensive}} {{lg|reflexive}} verb", ["Št"] = "stems with a {{lg|causative}} ''š''-{{lg|preformative}} and a {{lg|reflexive}} ''-t-'' {{lg|infix}}ed before the first radical", ["Nt"] = "stems with a {{lg|passive}} ''n''-{{lg|preformative}} and a {{lg|reflexive}} ''-t-'' {{lg|infix}}ed before the first radical", ["Gtn"] = "simple stems with a ''-tan-'' {{lg|infix}}", ["Dtn"] = "[[:Category:{{{langname}}} D-stems|D-stems]] with a ''-tan-'' {{lg|infix}}", ["Štn"] = "stems with a {{lg|causative}} ''š''-{{lg|preformative}} and a ''-tan-'' {{lg|infix}}", ["Ntn"] = "stems with a {{lg|passive}} ''n''-{{lg|preformative}} and a ''-tan-'' {{lg|infix}}", ["ŠD"] = "stems with a {{lg|causative}} ''š''-{{lg|preformative}} and a geminated second radical", } local stem for i, _ in pairs(stems) do stem = match(data.label, "(" .. i .. ")%-stem verbs") if stem then break end end if not stem then return end return { description = "{{{langname}}} " .. stems[stem] .. ".", parents = "verbs by inflection type", } end) return { HANDLERS = handlers } gqlzt1la80dlxc0otulfon3ceqwkez9 Wikikamus:tmw/Tanoh 4 118546 342643 2026-05-16T03:29:57Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Tanoh]] ke [[Wikikamus:tmw/tanoh]] 342643 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/tanoh]] 9nj52a2zi2ch33jycixy79y5ms351zp Wikikamus:tmw/Tanuk 4 118547 342645 2026-05-16T03:30:21Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Tanuk]] ke [[Wikikamus:tmw/tanuk]] 342645 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/tanuk]] emcetttlihpdca68vg8yrktxpw6gso1 Modul:category tree/lang/akl 828 118548 342648 2026-05-16T03:31:02Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} labels["terms without pronunciation template"] = { description = "{{{langname}}} terms without either [[Template:akl-pr]] to indicate pronunciation.", parents = {{name = "entry maintenance"}}, hidden = true, can_be_empty = true } labels["terms where syllabification alignment failed"] = { description = "{{{langname}}} terms where [[Module:akl-pronunciation]] was unable to align the syllabified respelling with...' 342648 Scribunto text/plain local labels = {} local handlers = {} labels["terms without pronunciation template"] = { description = "{{{langname}}} terms without either [[Template:akl-pr]] to indicate pronunciation.", parents = {{name = "entry maintenance"}}, hidden = true, can_be_empty = true } labels["terms where syllabification alignment failed"] = { description = "{{{langname}}} terms where [[Module:akl-pronunciation]] was unable to align the syllabified respelling with the pagename to produce a syllabified spelling.", parents = {{name = "entry maintenance"}}, hidden = true, can_be_empty = true } return {LABELS = labels, HANDLERS = handlers} 0dheritltnf46ojg6i85x15aaxa2gbk Wikikamus:tmw/Tungkih 4 118549 342650 2026-05-16T03:31:15Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Tungkih]] ke [[Wikikamus:tmw/tungkih]] 342650 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/tungkih]] dzz5d9zfvuow8x2qugqgz84ozd54bbz Modul:category tree/lang/arn 828 118550 342652 2026-05-16T03:31:41Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} labels["Unified spellings"] = { description = "{{{langname}}} terms spelled in the [[w:Mapudungun alphabet|Unified Alphabet]].", parents = {{ name = "terms by orthographic property", sort = "Unified" }}, breadcrumb = "Unified", } labels["Raguileo spellings"] = { description = "{{{langname}}} terms spelled in the [[w:Mapudungun alphabet|Raguileo]] orthography.", parents = {{ name = "terms by orthographic prop...' 342652 Scribunto text/plain local labels = {} local handlers = {} labels["Unified spellings"] = { description = "{{{langname}}} terms spelled in the [[w:Mapudungun alphabet|Unified Alphabet]].", parents = {{ name = "terms by orthographic property", sort = "Unified" }}, breadcrumb = "Unified", } labels["Raguileo spellings"] = { description = "{{{langname}}} terms spelled in the [[w:Mapudungun alphabet|Raguileo]] orthography.", parents = {{ name = "terms by orthographic property", sort = "Raguileo" }}, breadcrumb = "Raguileo", } labels["Nhewenh spellings"] = { description = "{{{langname}}} terms spelled in the [[w:Mapudungun alphabet|Nhewenh]] orthography.", parents = {{ name = "terms by orthographic property", sort = "Nhewenh" }}, breadcrumb = "Nhewenh", } labels["Azumchefi spellings"] = { description = "{{{langname}}} terms spelled in the [[w:Mapudungun alphabet|Azumchefi]] orthography.", parents = {{ name = "terms by orthographic property", sort = "Azumchefi" }}, breadcrumb = "Azumchefi", } return { LABELS = labels, HANDLERS = handlers } k4pkap87l4k8t0z3gvqwo3bumcgrxts Wikikamus:tmw/kotep 4 118551 342653 2026-05-16T03:32:02Z Sakura Comel 10752 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} kutip' 342653 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} kutip 7mt8omtntooqlgv9oqwdjr54g6ofcwm Modul:category tree/lang/ars 828 118552 342654 2026-05-16T03:32:09Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} local lang = require("Module:languages").getByCode("ars") require("Module:category tree/lang/sem-arb").add_labels_and_handlers(labels, handlers, lang) return {LABELS = labels, HANDLERS = handlers}' 342654 Scribunto text/plain local labels = {} local handlers = {} local lang = require("Module:languages").getByCode("ars") require("Module:category tree/lang/sem-arb").add_labels_and_handlers(labels, handlers, lang) return {LABELS = labels, HANDLERS = handlers} 9seh77phh7ggcpog93h50rq8nrmkrg2 Wikikamus:tmw/Ujan 4 118553 342656 2026-05-16T03:32:13Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Ujan]] ke [[Wikikamus:tmw/ujan]] 342656 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/ujan]] 3ly256v0bomipr7b7v0mrqv7j486e02 Modul:category tree/lang/bbl 828 118554 342657 2026-05-16T03:32:41Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} ------- Nominal categories ------- labels["nominals by inflection type"] = { description = "{{{langname}}} nouns categorized by their inflection type.", breadcrumb = "by inflection type", parents = { {name = "nouns", sort = "inflection type"}, }, } table.insert(handlers, function(data) local nomtype = data.label:match("^(.*)%-type nominals$") if nomtype then return { description = ("{{{langname}}} '...' 342657 Scribunto text/plain local labels = {} local handlers = {} ------- Nominal categories ------- labels["nominals by inflection type"] = { description = "{{{langname}}} nouns categorized by their inflection type.", breadcrumb = "by inflection type", parents = { {name = "nouns", sort = "inflection type"}, }, } table.insert(handlers, function(data) local nomtype = data.label:match("^(.*)%-type nominals$") if nomtype then return { description = ("{{{langname}}} ''%s''-type nominals."):format(nomtype), breadcrumb = {name = ("''%s''-type"):format(nomtype), nocap = true}, parents = {"nominals by inflection type"}, } end end) return {LABELS = labels, HANDLERS = handlers} 7jrm7otnagve62t2yk23908jvgxl8h9 Wikikamus:tmw/babik 4 118555 342658 2026-05-16T03:33:05Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} babi{{cp|tmw|'''Babik''' lari masuk hutan|Babi itu lari masuk hutan}}' 342658 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} babi{{cp|tmw|'''Babik''' lari masuk hutan|Babi itu lari masuk hutan}} jw1t92cryrgfn58btppkxzqpcyn7i7e Modul:category tree/lang/bku 828 118556 342659 2026-05-16T03:33:10Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} local native_script = "Buhid" labels["terms with " .. native_script .. " script"] = { description = "{{{langname}}} terms with inclusion of " .. native_script .. " script.", parents = {{ name = "terms by script", sort = native_script, }}, can_be_empty = true } labels["terms without " .. native_script .. " script"] = { description = "{{{langname}}} terms without " .. native_script .. " script set.", pare...' 342659 Scribunto text/plain local labels = {} local handlers = {} local native_script = "Buhid" labels["terms with " .. native_script .. " script"] = { description = "{{{langname}}} terms with inclusion of " .. native_script .. " script.", parents = {{ name = "terms by script", sort = native_script, }}, can_be_empty = true } labels["terms without " .. native_script .. " script"] = { description = "{{{langname}}} terms without " .. native_script .. " script set.", parents = {"entry maintenance"}, hidden = true, can_be_empty = true } labels["terms with missing " .. native_script .. " script entries"] = { description = "{{{langname}}} terms with missing " .. native_script .. " script entries.", parents = {"entry maintenance"}, hidden = true, can_be_empty = true } labels["terms without pronunciation template"] = { description = "{{{langname}}} terms without either [[Template:bku-pr]] to indicate pronunciation.", parents = {{name = "entry maintenance"}}, hidden = true, can_be_empty = true } labels["terms where syllabification alignment failed"] = { description = "{{{langname}}} terms where [[Module:bku-pronunciation]] was unable to align the syllabified respelling with the pagename to produce a syllabified spelling.", parents = {{name = "entry maintenance"}}, hidden = true, can_be_empty = true } return {LABELS = labels, HANDLERS = handlers} fd320h3rsaqx4ez7s8rjogkhzo08glr Modul:category tree/lang/ce 828 118557 342660 2026-05-16T03:33:40Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} ------- Nominal categories ------- labels["nominals by inflection type"] = { description = "{{{langname}}} nouns categorized by their inflection type.", breadcrumb = "by inflection type", parents = { {name = "nouns", sort = "inflection type"}, }, } table.insert(handlers, function(data) local nomtype = data.label:match("^(.*)%-type nominals$") if nomtype then return { description = ("{{{langname}}} '...' 342660 Scribunto text/plain local labels = {} local handlers = {} ------- Nominal categories ------- labels["nominals by inflection type"] = { description = "{{{langname}}} nouns categorized by their inflection type.", breadcrumb = "by inflection type", parents = { {name = "nouns", sort = "inflection type"}, }, } table.insert(handlers, function(data) local nomtype = data.label:match("^(.*)%-type nominals$") if nomtype then return { description = ("{{{langname}}} ''%s''-type nominals."):format(nomtype), breadcrumb = {name = ("''%s''-type"):format(nomtype), nocap = true}, parents = {"nominals by inflection type"}, } end end) return {LABELS = labels, HANDLERS = handlers} 7jrm7otnagve62t2yk23908jvgxl8h9 Wikikamus:tmw/Wang tuhik maen maen 4 118558 342664 2026-05-16T03:33:57Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/Wang tuhik maen maen]] ke [[Wikikamus:tmw/wang tuhik]] 342664 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/wang tuhik]] 6s85gd6bufximagjp6k1ey02zjioqga Modul:category tree/lang/cpi 828 118559 342665 2026-05-16T03:34:07Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} labels["Hall forms"] = { description = "{{{langname}}} terms written in the phonemic spelling used in {{R:cpi:Hall 1944}}.", parents = {{ name = "terms by orthographic property", sort = "Hall" }} } return { LABELS = labels }' 342665 Scribunto text/plain local labels = {} labels["Hall forms"] = { description = "{{{langname}}} terms written in the phonemic spelling used in {{R:cpi:Hall 1944}}.", parents = {{ name = "terms by orthographic property", sort = "Hall" }} } return { LABELS = labels } 5w7euvqj9cu10tnf3uzpwxmn25mrx5m Modul:category tree/lang/cy 828 118560 342666 2026-05-16T03:34:50Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} labels["plural-basic nouns"] = { description = "{{{langname}}} nouns which have both singular and plural forms but whose lemma form is plural rather than singular.", additional = "Such nouns add a suffix to the plural to form the singular, rather than the more common pattern of " .. "adding a suffix to the singular to form the plural.", parents = "nouns", } labels["non-mutable terms"] = { description = "{{{langname}}} Welsh te...' 342666 Scribunto text/plain local labels = {} labels["plural-basic nouns"] = { description = "{{{langname}}} nouns which have both singular and plural forms but whose lemma form is plural rather than singular.", additional = "Such nouns add a suffix to the plural to form the singular, rather than the more common pattern of " .. "adding a suffix to the singular to form the plural.", parents = "nouns", } labels["non-mutable terms"] = { description = "{{{langname}}} Welsh terms that resist mutation.", additional = "Many of these terms start with already immutable consonants.", parents = "lemmas", } labels["terms with irregular mutation"] = { description = "{{{langname}}} Welsh terms with one or more irregular mutated forms.", parents = "lemmas", } return {LABELS = labels} 3pluf7c8zgybb0ibwc6vg1pkpd5u5q2 Modul:category tree/lang/egy 828 118561 342667 2026-05-16T03:35:29Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local lang = require("Module:languages").getByCode("egy") labels["terms with reconstructed IPA pronunciation"] = { description = "Egyptian terms with [[Appendix:Egyptian pronunciation|reconstructed]] pronunciation in the [[w:International Phonetic Alphabet|International Phonetic Alphabet]].", breadcrumb = "reconstructed IPA", parents = {"terms with IPA pronunciation"}, } labels["terms with reconstructed Old Egyptian IPA pronuncia...' 342667 Scribunto text/plain local labels = {} local lang = require("Module:languages").getByCode("egy") labels["terms with reconstructed IPA pronunciation"] = { description = "Egyptian terms with [[Appendix:Egyptian pronunciation|reconstructed]] pronunciation in the [[w:International Phonetic Alphabet|International Phonetic Alphabet]].", breadcrumb = "reconstructed IPA", parents = {"terms with IPA pronunciation"}, } labels["terms with reconstructed Old Egyptian IPA pronunciation"] = { description = "Egyptian terms with pronunciation in the [[w:Old Egyptian|Old Egyptian]] stage (c. 2500 BCE) in the [[w:International Phonetic Alphabet|International Phonetic Alphabet]].", breadcrumb = "Old Egyptian IPA", parents = {"terms with reconstructed IPA pronunciation"}, } labels["terms with reconstructed Middle Egyptian IPA pronunciation"] = { description = "Egyptian terms with pronunciation in the [[w:Middle Egyptian language|Middle Egyptian]] stage (c. 1700 BCE) in the [[w:International Phonetic Alphabet|International Phonetic Alphabet]].", breadcrumb = "Middle Egyptian IPA", parents = {"terms with reconstructed IPA pronunciation"}, } labels["terms with reconstructed Amarna-period Late Egyptian IPA pronunciation"] = { description = "Egyptian terms with pronunciation in the [[w:Late Egyptian language|Amarna-period Late Egyptian]] stage (c. 1350 BCE) in the [[w:International Phonetic Alphabet|International Phonetic Alphabet]].", breadcrumb = "Amarna-period Late Egyptian IPA", parents = {"terms with reconstructed IPA pronunciation"}, } labels["terms with reconstructed Late Egyptian IPA pronunciation"] = { description = "Egyptian terms with pronunciation in the [[w:Late Egyptian language|Late Egyptian]] stage (c. 800 BCE) in the [[w:International Phonetic Alphabet|International Phonetic Alphabet]].", breadcrumb = "Late Egyptian IPA", parents = {"terms with reconstructed IPA pronunciation"}, } return { LABELS = labels } ehyky6uqex07d90hdyd6wa0ejll7o5n Modul:category tree/lang/eo 828 118562 342668 2026-05-16T03:35:58Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local handlers = {} table.insert(handlers, function(data) local system = data.label:match("^([HX])%-system forms$") if system then return { description = "{{{langname}}} forms transliterated into ASCII using the " .. system .. "-system.", parents = {"terms by orthographic property"}, } end end) return {HANDLERS = handlers}' 342668 Scribunto text/plain local handlers = {} table.insert(handlers, function(data) local system = data.label:match("^([HX])%-system forms$") if system then return { description = "{{{langname}}} forms transliterated into ASCII using the " .. system .. "-system.", parents = {"terms by orthographic property"}, } end end) return {HANDLERS = handlers} s3tbreihoigg55up3goxiuvv9bun4i4 Modul:category tree/lang/fro 828 118563 342669 2026-05-16T03:36:41Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} labels["verbs by conjugation"] = { preceding = "{{also|Appendix:Old French verbs}}", description = "{{{langname}}} verbs categorized by their conjugation.", breadcrumb = "by conjugation", parents = {{name = "verbs", sort = "conjugation"}}, } labels["first group verbs"] = { description = "{{{langname}}} first group verbs, also called regular ''-er/ier'' verbs.", additional = "This is the largest of the three main Old French ver...' 342669 Scribunto text/plain local labels = {} labels["verbs by conjugation"] = { preceding = "{{also|Appendix:Old French verbs}}", description = "{{{langname}}} verbs categorized by their conjugation.", breadcrumb = "by conjugation", parents = {{name = "verbs", sort = "conjugation"}}, } labels["first group verbs"] = { description = "{{{langname}}} first group verbs, also called regular ''-er/ier'' verbs.", additional = "This is the largest of the three main Old French verb groups. See also [[:Category:Old French second group verbs]] (regular ''-ir'' verbs), [[:Category:Old French third group verbs]] (irregular verbs) and [[:Category:Old French third-second group verbs]] (''-ir'' verbs that conjugate either as third or second group verbs).", breadcrumb = "first group", parents = {{name = "verbs by conjugation", sort = "1"}}, } labels["second group verbs"] = { description = "{{{langname}}} second group verbs, also called regular ''-ir'' verbs.", additional = "See also [[:Category:Old French first group verbs]] (regular ''-er/-ier'' verbs) and [[:Category:Old French third group verbs]] (irregular verbs).", breadcrumb = "second group", parents = {{name = "verbs by conjugation", sort = "2"}}, } labels["third group verbs"] = { description = "{{{langname}}} third group verbs, also called irregular verbs.", additional = "See also [[:Category:Old French first group verbs]] (regular ''-er/-ier'' verbs), [[:Category:Old French second group verbs]] (regular ''-ir'' verbs) and [[:Category:Old French third-second group verbs]] (''-ir'' verbs that conjugate either as third or second group verbs).", breadcrumb = "third group", parents = {{name = "verbs by conjugation", sort = "3"}}, } labels["third-second group verbs"] = { description = "{{{langname}}} third-second group verbs, usually ''-ir'' verbs that can be conjugated either as third or second group verbs (without or with the ''-iss-'' infix).", additional = "See also [[:Category:Old French first group verbs]] (regular ''-er/-ier'' verbs), [[:Category:Old French second group verbs]] (regular ''-ir'' verbs) and [[:Category:Old French third group verbs]] (irregular verbs).", breadcrumb = "third-second group", parents = {{name = "verbs by conjugation", sort = "3-2"}}, } local verb_ending_types = { ["-er"] = { desc = "forming part of the [[:Category:Old French first group verbs|first-group verbs]], although there are a few [[:Category:Old French third group verbs|third-group verbs]] as well, where {{m|fro|-er}} in this case is an [[Anglo-Norman]] variant of {{m|fro|-eir}}, itself a variant of standard {{m|fro|-oir}}", }, ["-ier"] = { desc = "forming part of the [[:Category:Old French first group verbs|first-group verbs]]", additional = "The stem of these verbs ended in a {{lg|palatalized}} consonant in {{catlink|Proto-Gallo-Romance}}.", }, ["-ir"] = { desc = "part of which form the [[:Category:Old French second group verbs|second-group verbs]] while the rest form part of the [[:Category:Old French third group verbs|third-group verbs]]", additional = "These originate from Latin verbs in {{m|la|-īre}}, from some verbs in {{m|la|-ēre}} (particularly when the stem ended in a {{lg|palatalized}} consonant in {{catlink|Proto-Gallo-Romance}}), " .. "and from some verbs ending in {{m|la|-ĕre}} that were transferred to the {{m|la|-īre}} or {{m|la|-ēre}} classes in {{catlink|Proto-Romance}} or later. They often alternated with " .. "verbs in {{m+|fro|-re}}, sometimes producing {{lg|doublet}}s in modern French, such as the verb {{m|fr|plaire}} and noun {{m|fr|plaisir}}, which were alternative " .. "infinitives for the same verb in Old French.", }, ["-eir"] = { desc = "forming part of the [[:Category:Old French third group verbs|third-group verbs]]; they are either early Old French or [[Anglo-Norman]] variants of verbs in {{m|fro|-oir}}", }, ["-oir"] = { desc = "forming part of the [[:Category:Old French third group verbs|third-group verbs]]", additional = "These originate from Latin verbs in {{m|la|-ēre}} (or sometimes {{m|la|-ĕre}}) that were not preceded by a palatal consonant in {{w|Proto-Gallo-Romance}}. " .. "(Those preceded by a palatal consonant have the ending {{m|fro|-ir}} in Old French.)", }, ["-re"] = { desc = "forming part of the [[:Category:Old French third group verbs|third-group verbs]]", additional = "These originate from Latin verbs in {{m|la|-ĕre}} (or sometimes {{m|la|-ēre}}).", }, } for ending, props in pairs(verb_ending_types) do local breadcrumb = "''" .. ending .. "''" local displaytitle = "{{{langname}}} verbs ending in " .. breadcrumb labels["verbs ending in " .. ending] = { description = displaytitle .. ", " .. props.desc .. ".", displaytitle = displaytitle, additional = props.additional, breadcrumb_and_first_sort_key = breadcrumb, parents = {"verbs by conjugation"}, } end labels["verbs by preterite type"] = { preceding = "{{also|Appendix:Old French verbs}}", description = "{{{langname}}} verbs categorized by the formation of their preterite tense.", breadcrumb = "by preterite type", parents = {{name = "verbs", sort = "preterite type"}}, } local preterite_types = { ["weak-a"] = { desc = "the standard preterite type for [[:Category:Old French verbs ending in -er|-er verbs]] (but not [[:Category:Old French verbs ending in -ier|-ier verbs]], which use [[:Category:Old French verbs with weak-a2 preterite|weak-a2 preterites]])", additional = [=[ Endings are as follows: {|class="wikitable" ! ! ''jo'' ! ''tu'' ! ''il'' ! ''nos'' ! ''vos'' ! ''il'' |- ! Preterite | ''-ai'' | ''-as'' | ''-a'' | ''-ames'' | ''-astes'' | ''-erent'' |- ! Subjunctive imperfect | ''-asse'' | ''-asses'' | ''-ast'' | ''-issons''<br>''-issiens'' | ''-issoiz''<br>''-issez''<br>''-issiez'' | ''-assent'' |} ]=], }, ["weak-a2"] = { desc = "the standard preterite type for [[:Category:Old French verbs ending in -ier|-ier verbs]]", additional = "The endings are nearly like [[:Category:Old French verbs with weak-a preterite|that of ''-er'' verbs]], but the third-person plural preterite ends in ''-ierent'' instead of ''-erent''.", }, ["weak-i"] = { desc = "the standard preterite type for [[:Category:Old French verbs ending in -ir|-ir verbs]]", additional = [=[ See also the [[:Category:Old French verbs with weak-i2 preterite|weak-i2 preterite]], the standard preterite type for most ''-re'' verbs. Endings are as follows: {|class="wikitable" ! ! ''jo'' ! ''tu'' ! ''il'' ! ''nos'' ! ''vos'' ! ''il'' |- ! Preterite | ''-i'' | ''-is'' | ''-i'' | ''-imes'' | ''-istes'' | ''-irent'' |- ! Subjunctive imperfect | ''-isse'' | ''-isses'' | ''-ist'' | ''-issons''<br>''-issiens'' | ''-issoiz''<br>''-issez''<br>''-issiez'' | ''-issent'' |} ]=], }, ["weak-i2"] = { desc = "used by some [[:Category:Old French third group verbs|third-group verbs]], especially those ending in [[:Category:Old French verbs ending in -re|-re]], particularly those in ''-dre'' and ''-tre''", additional = "The endings are nearly like [[:Category:Old French verbs with weak-i preterite|that of ''-ir'' verbs]], but the third-person plural preterite ends in ''-ierent'' instead of ''-erent''.", }, ["weak-u"] = { desc = "used by some [[:Category:Old French third group verbs|third-group verbs]]", additional = [=[ Endings are as follows: {|class="wikitable" ! ! ''jo'' ! ''tu'' ! ''il'' ! ''nos'' ! ''vos'' ! ''il'' |- ! Preterite | ''-ui'' | ''-us'' | ''-u'' | ''-umes'' | ''-ustes'' | ''-urent'' |- ! Subjunctive imperfect | ''-usse'' | ''-usses'' | ''-ust'' | ''-ussons''<br>''-ussiens'' | ''-ussoiz''<br>''-ussez''<br>''-ussiez'' | ''-ussent'' |} ]=], }, ["strong-i"] = { desc = "used by a few [[:Category:Old French third group verbs|third-group verbs]]", }, ["strong-u"] = { desc = "used by a number of [[:Category:Old French third group verbs|third-group verbs]]", additional = [=[ Endings are as follows: {|class="wikitable" ! ! ''jo'' ! ''tu'' ! ''il'' ! ''nos'' ! ''vos'' ! ''il'' |- ! Preterite | ''-ui'' | ''-eüs'' | ''-u'' | ''-eümes'' | ''-eüstes'' | ''-urent'' |- ! Subjunctive imperfect | ''-eüsse'' | ''-eüsses'' | ''-eüst'' | ''-eüssons''<br>''-eüssiens'' | ''-eüssoiz''<br>''-eüssez''<br>''-eüssiez'' | ''-eüssent'' |} ]=], }, ["strong-sd"] = { desc = "used by a number of [[:Category:Old French third group verbs|third-group verbs]]", }, ["strong-st"] = { desc = "used by a number of [[:Category:Old French third group verbs|third-group verbs]]", }, ["strong-id"] = { desc = "used by a few [[:Category:Old French third group verbs|third-group verbs]]", }, ["strong-o"] = { desc = "used by a few [[:Category:Old French third group verbs|third-group verbs]]", }, } for pret_type, props in pairs(preterite_types) do local weak_strong, ending = pret_type:match("^(.+)%-(.+)$") if not weak_strong then error("Internal error: Preterite type " .. pret_type .. " cannot be split into weak/strong + ending") end local breadcrumb = weak_strong .. "-''" .. ending .. "''" local displaytitle = "{{{langname}}} verbs with " .. breadcrumb .. " preterite" labels["verbs with " .. pret_type .. " preterite"] = { description = displaytitle .. ", " .. props.desc .. ".", displaytitle = displaytitle, additional = props.additional, breadcrumb_and_first_sort_key = breadcrumb, parents = {"verbs by preterite type"}, } end return {LABELS = labels} dlzoc7j4zsr2r6ziv7ae10j8zuzozxn Modul:category tree/lang/fy 828 118564 342671 2026-05-16T03:37:17Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} local lang = require("Module:languages").getByCode("fy") labels["verbs by derivation type"] = { description = "West Frisian verbs categorized by the type of derivation.", parents = {{name = "verbs", sort = "derivation"}}, } labels["basic verbs"] = { description = "This category contains West Frisian verbs that are neither prefixed nor separable.", parents = {{name = "verbs by derivation type", sort = "basic...' 342671 Scribunto text/plain local labels = {} local handlers = {} local lang = require("Module:languages").getByCode("fy") labels["verbs by derivation type"] = { description = "West Frisian verbs categorized by the type of derivation.", parents = {{name = "verbs", sort = "derivation"}}, } labels["basic verbs"] = { description = "This category contains West Frisian verbs that are neither prefixed nor separable.", parents = {{name = "verbs by derivation type", sort = "basic"}}, } labels["prefixed verbs"] = { description = "This category contains West Frisian prefixed verbs, which are verbs that are compounded with an unstressed prefix, such as " .. "{{m|fy|be-}}.", parents = {{name = "verbs by derivation type", sort = "prefixed"}}, } labels["separable verbs"] = { topright = "{{wikipedia|Separable verb}}", description = "This category contains West Frisian separable verbs, which are verbs that are compounded with a particle, " .. "often an adverb. When the particle is immediately followed by the verb form, it is written together with it as one word. " .. "In other cases, it is separated from the main verb by a space and possibly other words.", parents = {{name = "verbs by derivation type", sort = "separable"}}, } table.insert(handlers, function(data) local pref = data.label:match("^prefixed verbs with (.+%-)$") if pref then local link = require("Module:links").full_link({ lang = lang, term = pref }, "term") local altlink = require("Module:links").full_link({ lang = lang, alt = pref }, "term") return { description = "West Frisian prefixed verbs with the prefix " .. link .. ".", displaytitle = "West Frisian prefixed verbs with " .. altlink, breadcrumb = altlink, parents = {{name = "prefixed verbs", sort = pref}}, } end end) table.insert(handlers, function(data) local particle = data.label:match("^separable verbs with (.+)$") if particle then local link = require("Module:links").full_link({ lang = lang, term = particle }, "term") local altlink = require("Module:links").full_link({ lang = lang, alt = particle }, "term") return { description = "West Frisian separable verbs with the particle " .. link .. ".", displaytitle = "West Frisian separable verbs with " .. altlink, breadcrumb = altlink, parents = {{name = "separable verbs", sort = particle}}, } end end) return {LABELS = labels, HANDLERS = handlers} hgyhgvl2ydprbyygfa0weon3qfjn8mi Modul:category tree/lang/gmq-osw 828 118565 342672 2026-05-16T03:37:48Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} local rmatch = mw.ustring.match table.insert(handlers, function(data) local stem = rmatch(data.label, "^(.+[%s%-]stem) nouns$") if stem then return { description = "Old Swedish " .. stem .. " nouns.", breadcrumb = stem, parents = {{name = "nouns by inflection type", sort = stem}}, } end end) return {LABELS = labels, HANDLERS = handlers}' 342672 Scribunto text/plain local labels = {} local handlers = {} local rmatch = mw.ustring.match table.insert(handlers, function(data) local stem = rmatch(data.label, "^(.+[%s%-]stem) nouns$") if stem then return { description = "Old Swedish " .. stem .. " nouns.", breadcrumb = stem, parents = {{name = "nouns by inflection type", sort = stem}}, } end end) return {LABELS = labels, HANDLERS = handlers} acf8aszl26e0n9pq57cya710i1itn4n Modul:category tree/lang/gu 828 118566 342673 2026-05-16T03:38:24Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} --------------------------------- Verbs -------------------------------- labels["verbs with Perso-Arabic roots"] = { description = "{{{langname}}} verbs whose {{lg|root}}s are [[Perso-Arabic]] rather than native.</br></br>For example, the verbal root of {{m|gu|ગુજરવું}} is Persian rather than native. The verbal root of {{m|gu|તપાસવું}} is Arabic rather than native.", parents = {{name = "verbs", sort = "...' 342673 Scribunto text/plain local labels = {} --------------------------------- Verbs -------------------------------- labels["verbs with Perso-Arabic roots"] = { description = "{{{langname}}} verbs whose {{lg|root}}s are [[Perso-Arabic]] rather than native.</br></br>For example, the verbal root of {{m|gu|ગુજરવું}} is Persian rather than native. The verbal root of {{m|gu|તપાસવું}} is Arabic rather than native.", parents = {{name = "verbs", sort = "Perso-Arabic"}}, } labels["verbs adopted from Sanskrit"] = { description = "{{{langname}}} verbs that are taken directly from Sanskrit rather than being native formations.</br></br>For example, {{m|gu|વાંચવું|t=to read}} is taken directly from {{m+|sa|वाचयति|વાચયતિ}} rather than being a native formation.", parents = {{name = "verbs", sort = "Sanskrit"}}, } --------------------------------- Phonemic Properties -------------------------------- labels["non-tatsamas that reflect the consonant cluster /tɾ/"] = { description = "{{{langname}}} terms that are not directly from Sanskrit and are spelled with {{lang|gu|ત્ર}} or its reduced form {{lang|gu|તર}}.</br></br>For example, {{m|gu|ત્રેવીસ}} retains the [[consonant cluster]] {{IPAchar|/tɾ/}} in its etymon {{m+|sa|त्रयोविंशति|ત્રયોવિંશતિ}}, which is otherwise the same as its cognate {{cog|mr|तेवीस}}. Likewise, the character sequence {{lang|gu|તર}} in {{m|gu|માવતર}} reflects the consonant cluster {{IPAchar|/tɾ/}} in its etymon {{m+|sa|मातृगोत्र|માતૃગોત્ર}}.", parents = {{name = "terms by phonemic property", sort = "cluster"}}, } labels["terms with unexpected lenition"] = { description = "{{{langname}}} terms with an unexpected weakening of a consonant.</br></br>For example, the etymological {{IPAchar|/b/}} of {{m|gu|અમદાવાદ |tr={{xlit|gu|આમ્દાવાદ}}}} is intervocalically weakened to {{IPAchar|/ʋ/}} instead of remaining as {{IPAchar|/b/}} as in {{m|gu|સિકંદરાબાદ|tr={{xlit|gu|સિકંદર્આબાદ}}}}.", parents = {{name = "terms by phonemic property", sort = "lenition"}}, } return {LABELS = labels} mn9io3kr56l7g274115p510o9x47mr2 Modul:category tree/lang/gug 828 118567 342674 2026-05-16T03:38:56Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} labels["circumflex-system forms"] = { description = "{{{langname}}} spellings which use circumflexes to indicate nasalisation, instead of the now more common tilde.", parents = "terms by orthographic property", breadcrumb = "Circumflex", } return { LABELS = labels }' 342674 Scribunto text/plain local labels = {} labels["circumflex-system forms"] = { description = "{{{langname}}} spellings which use circumflexes to indicate nasalisation, instead of the now more common tilde.", parents = "terms by orthographic property", breadcrumb = "Circumflex", } return { LABELS = labels } tgagl17630qhm33ari32vrgbcarazg4 Wikikamus:tmw/bilak 4 118568 342675 2026-05-16T03:39:12Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} bila{{cp|tmw|'''Bilak''' ajih datang ke kenurik tai?|'''Bila'''awak datang ke kenduri?}}' 342675 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} bila{{cp|tmw|'''Bilak''' ajih datang ke kenurik tai?|'''Bila'''awak datang ke kenduri?}} fnf9dzm1k50hu8bjkk4957ca88spbmk Modul:category tree/lang/hnn 828 118569 342676 2026-05-16T03:39:32Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} local native_script = "Hanunoo" labels["terms with " .. native_script .. " script"] = { description = "{{{langname}}} terms with inclusion of " .. native_script .. " script.", parents = {{ name = "terms by script", sort = native_script, }}, can_be_empty = true } labels["terms without " .. native_script .. " script"] = { description = "{{{langname}}} terms without " .. native_script .. " script set.", pa...' 342676 Scribunto text/plain local labels = {} local handlers = {} local native_script = "Hanunoo" labels["terms with " .. native_script .. " script"] = { description = "{{{langname}}} terms with inclusion of " .. native_script .. " script.", parents = {{ name = "terms by script", sort = native_script, }}, can_be_empty = true } labels["terms without " .. native_script .. " script"] = { description = "{{{langname}}} terms without " .. native_script .. " script set.", parents = {"entry maintenance"}, hidden = true, can_be_empty = true } labels["terms with missing " .. native_script .. " script entries"] = { description = "{{{langname}}} terms with missing " .. native_script .. " script entries.", parents = {"entry maintenance"}, hidden = true, can_be_empty = true } labels["terms without pronunciation template"] = { description = "{{{langname}}} terms without either [[Template:hnn-pr]] to indicate pronunciation.", parents = {{name = "entry maintenance"}}, hidden = true, can_be_empty = true } labels["terms where syllabification alignment failed"] = { description = "{{{langname}}} terms where [[Module:hnn-pronunciation]] was unable to align the syllabified respelling with the pagename to produce a syllabified spelling.", parents = {{name = "entry maintenance"}}, hidden = true, can_be_empty = true } return {LABELS = labels, HANDLERS = handlers} 5knkg2343kfiuxhwaf4w4p5an2uxfh1 Modul:category tree/lang/hu 828 118570 342677 2026-05-16T03:40:04Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} local m_strutils = require("Module:string utilities") local m_table = require("Module:table") local split = m_strutils.split local unpack = unpack or table.unpack -- Lua 5.2 compatibility labels["verbal participles"] = { description = "{{{langname}}} [[verbal participle]]s.", parents = {"participles"}, } labels["terms taking arguments"] = { description = "{{{langname}}} terms taking arguments through governi...' 342677 Scribunto text/plain local labels = {} local handlers = {} local m_strutils = require("Module:string utilities") local m_table = require("Module:table") local split = m_strutils.split local unpack = unpack or table.unpack -- Lua 5.2 compatibility labels["verbal participles"] = { description = "{{{langname}}} [[verbal participle]]s.", parents = {"participles"}, } labels["terms taking arguments"] = { description = "{{{langname}}} terms taking arguments through governing [[postposition]]s or [[suffix]]es.", breadcrumb = "taking arguments", parents = {{name = "terms by lexical property", sort = "arguments"}}, } local poses_taking_arguments = m_table.listToSet { "adjectives", "adverbs", "interjections", "nouns", "phrases", "postpositions", "verbs", } for plpos, _ in pairs(poses_taking_arguments) do labels[plpos .. " by argument"] = { description = "{{{langname}}} " .. plpos .. " categorized by the suffix(es) or postposition they govern in order to take an argument.", breadcrumb = "by argument", parents = {{name = plpos, sort = "arguments"}, {name = "terms taking arguments", sort = plpos}}, } end for _, suffix_type_spec in ipairs { {"lative", "which indicate a motion to a location and answer the question {{m|hu|hova|t=to where}}."}, {"locative", "which indicate a location and answer the question {{m|hu|hol|t=where}}."}, {"separative", "which indicate a motion from a location and answer the question {{m|hu|honnan|t=from where}}."}, } do local suffix_type, desc = unpack(suffix_type_spec) for _, pos in ipairs {"terms", "verbs"} do local parents if pos == "terms" then parents = {{name = "terms taking arguments", sort = "*" .. suffix_type}} else parents = {{name = "terms taking " .. suffix_type .. " suffixes", sort = pos}} -- The raw category code had a comment <!-- the set of verbs that can take any, whichever out of -rÓl/-bÓl/-tÓl is a subset of verbs that can take this or that out of them --> for _, bol_tol_rol in ipairs { "-ból/-ből", "-ról/-ről", "-tól/-től" } do table.insert(parents, {name = pos .. " taking " .. bol_tol_rol, sort = suffix_type}) end end labels[pos .. " taking " .. suffix_type .. " suffixes"] = { description = ("{{{langname}}} %s taking [[%s]] suffixes, %s"):format(pos, suffix_type, desc), additional = ("See also the [[Appendix:Hungarian_suffixes#By_reference_to_position_or_direction|list of %s suffixes]]."):format(suffix_type), breadcrumb = pos == "terms" and suffix_type .. " suffixes" or pos, parents = parents, } end end labels["verbs used with a form of maga"] = { description = "{{{langname}}} verbs used with a form of the pronoun {{m|hu|maga||you|pos=formal, singular}}.", displaytitle = "{{{langname}}} verbs used with a form of the pronoun {{m|hu||maga}}", breadcrumb = "used with {{m|hu||maga}}", parents = {{name = "verbs", sort = "maga"}}, } for _, maga_form_spec in ipairs { {"magába", "-ba/-be"}, {"magáért", "-ért"}, {"magához", "-hoz/-hez/-höz"}, {"magára", "-ra/-re"}, } do local maga_form, suffixes = unpack(maga_form_spec) labels["verbs used with " .. maga_form] = { description = "{{{langname}}} verbs used with {{m|hu|" .. maga_form .. "}}, a form of the pronoun {{m|hu|maga||you|pos=formal, singular}}.", displaytitle = "{{{langname}}} verbs used with {{m|hu||" .. maga_form .. "}}", breadcrumb = "{{m|hu||" .. maga_form .. "}}", parents = { {name = "verbs used with a form of maga", sort = suffixes}, {name = "verbs taking " .. suffixes, sort = "maga"}, }, } end labels["verbs used reflexively with magát"] = { description = "{{{langname}}} verbs used reflexively with {{m|hu|magát}}, a form of the pronoun {{m|hu|maga||you|pos=formal, singular}}.", displaytitle = "{{{langname}}} verbs used reflexively with {{m|hu||magát}}", breadcrumb = "used with {{m|hu||magát}}", parents = { {name = "reflexive verbs", sort = "magát"}, {name = "verbs used with a form of maga", sort = "t"}, }, } table.insert(handlers, function(data) local plpos, suffixes_arg = data.label:match("^([a-z]+s) taking (.-)$") if plpos and (plpos == "terms" or poses_taking_arguments[plpos]) then local suffixes = split(suffixes_arg, "/") local suftype if suffixes[1]:sub(1, 1) == "-" then if suffixes[2] then suftype = "suffix variants" else suftype = "suffix" end else suftype = "postposition" end local linked_suffixes = {} local tagged_suffixes = {} for i, suffix in ipairs(suffixes) do linked_suffixes[i] = "{{m|hu|" .. suffix .. "}}" tagged_suffixes[i] = "{{m|hu||" .. suffix .. "}}" end linked_suffixes = m_table.serialCommaJoin(linked_suffixes, {conj = "or"}) tagged_suffixes = table.concat(tagged_suffixes, "/") local desc = ("{{{langname}}} %s that can govern the %s %s."):format(plpos, suftype, linked_suffixes) local displaytitle = ("{{{langname}}} %s taking %s"):format(plpos, tagged_suffixes) if plpos == "terms" then return { description = desc, displaytitle = displaytitle, breadcrumb_and_first_sort_key = tagged_suffixes, parents = {"terms taking arguments"}, } else return { description = desc, preceding = plpos == "verbs" and "{{hu-argument-verb}}" or nil, displaytitle = displaytitle, breadcrumb_and_first_sort_key = plpos, parents = {"terms taking " .. suffixes_arg, {name = plpos .. " by argument", sort = {sort_base = suffixes_arg}}}, } end end end) return { LABELS = labels, HANDLERS = handlers } nzxlvg0g7rw64unvvf3rh4nc9e941bu Modul:category tree/lang/inc-apa 828 118571 342680 2026-05-16T03:40:37Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} labels["terms with unexpected voicing"] = { description = "Apabhramsa terms undergoing unexpected voicing.", parents = {"terms by phonemic property"}, } labels["terms with unexpected gemination"] = { description = "Apabhramsa terms undergoing unexpected gemination.", parents = {"terms by phonemic property"}, } labels["terms with unexpected retroflexion"] = { description = "Apabhramsa terms undergoing unexpected retroflexion.",...' 342680 Scribunto text/plain local labels = {} labels["terms with unexpected voicing"] = { description = "Apabhramsa terms undergoing unexpected voicing.", parents = {"terms by phonemic property"}, } labels["terms with unexpected gemination"] = { description = "Apabhramsa terms undergoing unexpected gemination.", parents = {"terms by phonemic property"}, } labels["terms with unexpected retroflexion"] = { description = "Apabhramsa terms undergoing unexpected retroflexion.", parents = {"terms by phonemic property"}, } labels["terms of the defective word group"] = { description = "{{{langname}}} terms belonging to an Indo-Aryan group " .. "of words that {{w|Ralph Lilley Turner|Turner}} refers to " .. "as \"defective\". These words can express a physical, " .. "mental, or moral defect or express a general meaning of " .. "''[[lump]]'' or ''[[heap]]''. Such \"defective\" terms " .. "included here do not have clear Indo-European etymology. " .. "They are characterized by showing a wide variety of " .. "alternative forms, perhaps indicating [[substrate]] " .. "origin or [[taboo deformation]].", parents = {"terms by etymology"} } return {LABELS = labels} 02hz9hkzncuzxt15q9q4qe5ltrqgqd7 Modul:category tree/lang/inc-ash 828 118572 342681 2026-05-16T03:41:15Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} labels["terms with unexpected voicing"] = { description = "Ashokan Prakrit terms undergoing unexpected voicing.", parents = {"terms by phonemic property"}, } labels["Proto-New Indo-Aryan"] = { description = "{{{langname}}} terms reconstructed from New Indo-Aryan lemmas.", parents = {"terms by etymology"}, } return {LABELS = labels}' 342681 Scribunto text/plain local labels = {} labels["terms with unexpected voicing"] = { description = "Ashokan Prakrit terms undergoing unexpected voicing.", parents = {"terms by phonemic property"}, } labels["Proto-New Indo-Aryan"] = { description = "{{{langname}}} terms reconstructed from New Indo-Aryan lemmas.", parents = {"terms by etymology"}, } return {LABELS = labels} 95d6o12a9z3ejv10dkqfw4splqbvgq3 Modul:category tree/lang/ine-bsl-pro 828 118573 342683 2026-05-16T03:41:54Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} --------------------------------- Nouns/Pronouns/Numerals -------------------------------- labels["consonant-stem nouns"] = { description = "{{{langname}}} consonant-stem nouns, deriving from Proto-Indo-European consonant-stem nouns.", additional = "These nouns are differentiated by the presence of a stem-final consonant.", breadcrumb = "consonant-stem", parents = {"nouns by inflection type"}, } labels["nouns by accent paradig...' 342683 Scribunto text/plain local labels = {} --------------------------------- Nouns/Pronouns/Numerals -------------------------------- labels["consonant-stem nouns"] = { description = "{{{langname}}} consonant-stem nouns, deriving from Proto-Indo-European consonant-stem nouns.", additional = "These nouns are differentiated by the presence of a stem-final consonant.", breadcrumb = "consonant-stem", parents = {"nouns by inflection type"}, } labels["nouns by accent paradigm"] = { description = "{{{langname}}} nouns categorized by accent position patterns across their paradigm.", breadcrumb = "by accent paradigm", parents = {"nouns by inflection type"}, } labels["nouns with fixed accent"] = { description = "{{{langname}}} nouns with accent fixed on the first syllable throughout their declension.", parents = {"nouns by accent paradigm"}, } labels["nouns with mobile accent"] = { description = "{{{langname}}} nouns with accent fixed on the last syllable in some forms of their declension, but not all forms.", parents = {"nouns by accent paradigm"}, } labels["nouns with unspecified accent"] = { description = "{{{langname}}} nouns with accent without a specified accent pattern.", parents = {"nouns by accent paradigm"}, } --[=[ Noun declension specifications. The top-level key is the stem class, and the value is an object containing properties of the stem class. If the stem class contains the word 'GENDER' in it, it expands into labels both for a parent category that subsumes several genders (obtained by removing the word 'GENDER' and following whitespace) as well as gender-specific children categories (obtained by replacing the word 'GENDER' with the genders specified in the `possible_genders` field). The stem class can contain literal Latin-script text (e.g. suffixes), which will be italicized in breadcrumbs and titles. The fields of the property object for a given stem class are as follows: * `gender`: The description of the gender(s) of the stem class. If preceded by ~, the description is preceded by "most commonly". This appears in the `additional` field of the label properties. It is not used in gender-specific children categories; instead the gender of that category is used. * `possible_genders`: The possible genders this class occurs in. If this is specified, the word 'GENDER' must occur in the stem class, and gender-specific variants of the stem class (with GENDER replaced by the possible genders) are handled along with a parent category subsuming all genders. * `breadcrumb`: The breadcrumb for the category, appearing in the trail of breadcrumbs at the top of the page. If this stem has gender-specific variants, the breadcrumb specified here is used only for the parent category, while the gender-specific child categories use the gender as the breadcrumb. If not specified, it defaults to `sortkey`. If that is also not specified, or if the breadcrumb has the value "+", the stem class (without the word 'GENDER') is used. (Use "+" when a sortkey is specified but the stem class should be used as the breadcrumb.) * `parent`: The parent category or categories. If specified, the actual category label is formed by appending the part of speech (e.g. "nouns"). Defaults to "POS by inflection type" where POS is the part of speech. Note that gender-specific child categories do not use this, but always have the gender-subsuming parent stem class category as their parent. * `sortkey`: The sort key used for sorting this category among its parent's children. Defaults to the stem class (without the word 'GENDER'). Note that gender-specific child categories do not use this, but always use the gender as the sort key. ]=] local noun_decls = { ["GENDER <o>-stem"] = { gender = "masculine or neuter", possible_genders = {"masculine", "neuter"}, addl = "These nouns derive from Proto-Indo-European thematic nouns ending in {{m|cel-pro|*-os}} (masculine) and {{m|cel-pro|*-om}} " .. "(neuter).", }, ["<ā>-stem"] = { gender = "feminine", }, ["<ī>-stem"] = { gender = "feminine", }, ["GENDER <i>-stem"] = { gender = "masculine, feminine or neuter", possible_genders = {"masculine or feminine", "neuter"}, }, ["GENDER <u>-stem"] = { gender = "masculine, feminine or neuter", possible_genders = {"masculine or feminine", "neuter"}, }, ["<r>-stem"] = { gender = "masculine or feminine", parent = "consonant-stem", }, ["neuter <s>-stem"] = { gender = "neuter", parent = "consonant-stem", }, ["GENDER <n>-stem"] = { gender = "masculine or neuter", possible_genders = {"masculine", "neuter"}, parent = "consonant-stem", }, ["<ū>-stem"] = { gender = "masculine or feminine", parent = "consonant-stem", }, ["GENDER consonant-stem"] = { gender = "masculine, feminine or neuter", possible_genders = {"masculine or feminine", "neuter"}, }, } require("Module:category tree/utilities").add_inflection_labels { labels = labels, pos = "noun", stem_classes = noun_decls, principal_parts = { }, } return {LABELS = labels} 9tmqb20ziq9ha8tx4p46ti6ihjj0nnn Modul:category tree/lang/is 828 118574 342685 2026-05-16T03:42:29Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local unpack = unpack or table.unpack -- Lua 5.2 compatibility ----------------- Nouns ----------------- labels["nouns with irregular stem"] = { description = "{{{langname}}} nouns built using an irregular stem.", additional = "This means that the stem is not the same as what is found in the lemma. An example is " .. "{{m|is|maður||man}} and compounds, which use a stem ''mann-'' outside of the nominative singular.", parents =...' 342685 Scribunto text/plain local labels = {} local unpack = unpack or table.unpack -- Lua 5.2 compatibility ----------------- Nouns ----------------- labels["nouns with irregular stem"] = { description = "{{{langname}}} nouns built using an irregular stem.", additional = "This means that the stem is not the same as what is found in the lemma. An example is " .. "{{m|is|maður||man}} and compounds, which use a stem ''mann-'' outside of the nominative singular.", parents = {"irregular nouns"}, } labels["nouns with multiple stems"] = { description = "{{{langname}}} nouns built using multiple stems.", additional = "Typically one of the stems is regular and the other is irregular and is used in alternative " .. "variant forms.", parents = {{name = "irregular nouns", sort = "multiple stems"}}, breadcrumb = "with multiple stems", } labels["nouns with actual gender different from declined gender"] = { description = "{{{langname}}} nouns with a different gender (as determined by adjective concord) than would be expected by the pattern of declension endings.", additional = "There are only a few examples in Icelandic, all of which are proper masculine names declined like feminine nouns, such as the names {{m|is|Sturla}} and {{m|is|Skúta}}.", parents = { {name = "irregular nouns", sort = "actual gender"}, }, breadcrumb = "with actual gender different from declined gender", } labels["scraping errors in Template:is-ndecl"] = { description = "{{{langname}}} entries where scraping errors occurred in {{tl|is-ndecl}} or {{tl|is-noun}}.", additional = "This generally means that {{tl|is-ndecl}} for a compound noun was unable to scrape the declension spec " .. "from the base noun, or {{tl|is-noun}} was unable to self-scrape the declension spec from the corresponding call to " .. "{{tl|is-ndecl}} on the same page. There are many causes of this, but often are related to misspelled or missing ID's when " .. "self-scraping in the presence of multiple {{tl|is-ndecl}} calls, or ambiguous scraping specs when scraping another page. " .. "The displayed error message (which does not trigger an actual Lua error) should give more information.", parents = {"entry maintenance"}, hidden = true, can_be_empty = true, } labels["nouns declined using scraped base declensions"] = { description = "{{{langname}}} nouns, generally compounds, whose declension was derived from scraping the declension of a base noun.", additional = "This generally means that {{tl|is-ndecl}} contained a scraping spec like {{cd|@k}} when used on a " .. "noun like {{m|is|vinkona||female friend}} (in this case, the declension for {{m|is|kona||woman}} would be used to " .. "construct the declension for {{m|is|vinkona}}). If scraping fails, the noun is added to " .. "[[:Category:{{{langname}}} scraping errors in Template:is-ndecl]].", parents = {"entry maintenance"}, hidden = true, can_be_empty = true, } ----------------- Adjectives ----------------- for _, compsupspec in ipairs {{"comparative", "superlative"}, {"superlative", "comparative"}} do local compsup, other = unpack(compsupspec) labels["adjectives with multiple " .. compsup .. "s"] = { description = "{{{langname}}} adjectives with more than one possible " .. compsup .. " form.", additional = "Some forms may be more common than others, and some may even be archaic. See also " .. "{{category|Icelandic adjectives with multiple " .. other .. "s}} and " .. "{{category|Icelandic adjectives with umlauted comparative or superlative}}.", breadcrumb = "with multiple " .. compsup .. "s", parents = {{name = "adjectives", sort = "multiple " .. compsup .. "s"}}, } end labels["adjectives with umlauted comparative or superlative"] = { description = "{{{langname}}} adjectives with umlaut (''i''-mutation) in at least one comparative or superlative form.", additional = "Some adjectives had their comparative in Proto-Germanic built using the affix ''-iz-'' and some " .. "with ''-ōz-''. The former triggered umlaut/''i''-mutation, but it is not (and may never have been) predictable " .. "which affix is/was used, and in modern Icelandic the adjectives with umlauted comparative or superlative are a " .. "closed, irregular class.", breadcrumb = "with umlauted comparative or superlative", parents = {{name = "irregular adjectives", sort = "umlauted comparative or superlative"}}, } labels["scraping errors in Template:is-adecl"] = { description = "{{{langname}}} entries where scraping errors occurred in {{tl|is-adecl}} or {{tl|is-adj}}.", additional = "This generally means that {{tl|is-adecl}} for a compound adjective was unable to scrape the declension spec " .. "from the base adjective, or {{tl|is-adj}} was unable to self-scrape the declension spec from the corresponding call to " .. "{{tl|is-adecl}} on the same page. There are many causes of this, but often are related to misspelled or missing ID's when " .. "self-scraping in the presence of multiple {{tl|is-adecl}} calls, or ambiguous scraping specs when scraping another page. " .. "The displayed error message (which does not trigger an actual Lua error) should give more information.", parents = {"entry maintenance"}, hidden = true, can_be_empty = true, } labels["adjectives declined using scraped base declensions"] = { description = "{{{langname}}} adjectives, generally compounds, whose declension was derived from scraping the declension of a base adjective.", additional = "This generally means that {{tl|is-adecl}} contained a scraping spec like {{cd|@m}} when used on a " .. "adjective like {{m|is|aðsópsmikill||impressive}} (in this case, the declension for {{m|is|mikill||much; great}} would be used to " .. "construct the declension for {{m|is|aðsópsmikill}}). If scraping fails, the adjective is added to " .. "[[:Category:{{{langname}}} scraping errors in Template:is-adecl]].", parents = {"entry maintenance"}, hidden = true, can_be_empty = true, } return {LABELS = labels} kk6y8gbogcfoq4aztkobk4p7atmg2vl Wikikamus:tmw/kitak 4 118575 342687 2026-05-16T03:43:18Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} kita{{cp|tmw|'''Kitak''' sungai petang tai|'''Kita''' pergi ke sungai petang tadi}}' 342687 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} kita{{cp|tmw|'''Kitak''' sungai petang tai|'''Kita''' pergi ke sungai petang tadi}} kv3ylq544mw2smj1zl4nj36mr2dcyf2 Wikikamus:tmw/jala 4 118576 342692 2026-05-16T03:45:48Z Kentangputarr 10725 Kentangputarr telah memindahkan laman [[Wikikamus:tmw/jala]] ke [[Wikikamus:tmw/jaghas]] 342692 wikitext text/x-wiki #LENCONG [[Wikikamus:tmw/jaghas]] lilkx1z0r7n8njesccc4k861yn3agl4 Modul:category tree/lang/jpo 828 118578 342697 2026-05-16T03:49:19Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} ----------------- Brivla and their types ----------------- labels["brivla"] = { description = "{{{langname}}} [[brivla]], i.e. [[predicate]]s in the sense of {{w|first-order predicate logic}}, which express a relationship among arguments.", additional = "Depending on the semantics, a [[brivla]] can correspond to a [[verb]] (“X acts-on Y”), a [[noun]] (“X is-a-person-or-thing”) or [[adjective]] (“X is-...' 342697 Scribunto text/plain local labels = {} local handlers = {} ----------------- Brivla and their types ----------------- labels["brivla"] = { description = "{{{langname}}} [[brivla]], i.e. [[predicate]]s in the sense of {{w|first-order predicate logic}}, which express a relationship among arguments.", additional = "Depending on the semantics, a [[brivla]] can correspond to a [[verb]] (“X acts-on Y”), a [[noun]] (“X is-a-person-or-thing”) or [[adjective]] (“X is-adjective”).", parents = {"lemmas", "selma'o"}, } labels["gismu"] = { description = "{{{langname}}} [[gismu]], i.e. [[brivla]] ([[predicate]]s) that are basic [[root]]s, rather than being derived through [[compound]]ing or [[borrow]]ing.", parents = {"brivla"}, } labels["gismu with three rafsi"] = { description = "{{{langname}}} [[gismu]] ([[root]] words) containing three corresponding [[rafsi]] ([[combining form]]s).", additional = "Such [[gismu]] are rare; most have only one or two rafsi.", parents = {{name = "gismu", sort = "3"}}, breadcrumb = "with three rafsi", } labels["lujvo"] = { description = "{{{langname}}} [[lujvo]], i.e. [[brivla]] ([[predicate]]s) that are [[compound]] [[word]]s, made up of several [[gismu]] ([[root]]s) in their [[rafsi]] (abbreviated) form.", parents = {"brivla"}, } labels["fu'ivla"] = { description = "{{{langname}}} [[fu'ivla]], i.e. [[brivla]] ([[predicate]]s) that are [[loanword]]s ([[borrow]]ed from another language) and function like [[common noun]]s.", parents = {"brivla"}, } labels["rafsi"] = { description = "{{{langname}}} [[rafsi]] ([[combining form]]s) of [[gismu]] ([[root]] words), used as [[affix]]es to make [[lujvo]] ([[compound]] [[word]]s).", additional = "Rafsi are abbreviated versions of [[gismu]] and are usually composed of three letters, while [[gismu]] are made up of five letters. " .. "Most [[gismu]] have a single corresponding [[rafsi]], but some have two, and a small number have three.", preceding = "{{wikibooks|Lojban/Rafsi}}", parents = {"non-lemma forms"}, } ----------------- Cmavo and related categories ----------------- labels["cmavo"] = { description = "{{{langname}}} [[cmavo]], i.e. [[function]] [[word]]s ([[particle]]s).", additional = "They are structure words roughly comparable to English [[conjunction]]s, [[preposition]]s, [[article]]s, [[numeral]]s, and some [[adverb]]s.", parents = {"lemmas"}, } labels["selma'o"] = { description = "{{{langname}}} [[selma'o]], i.e. sets of [[cmavo]] ([[particle]]s or [[function word]]s) that are [[grammatically]] [[interchangeable]].", additional = "An individual [[selma'o]] can be viewed similarly to a [[part of speech]].\n\n" .. "This is a grouping category. It contains no dictionary entries, but only categories holding the words in a specific [[selma'o]].", parents = {{name = "Lojban language", raw = true, lang = "jbo"}, "Category:jbo:Grammar", "cmavo"}, } table.insert(handlers, function(data) local selmao = data.label:match("^cmavo of selma'o (.*)$") if not selmao then return nil end local params = { singleton = {type = "boolean"}, } local args = require("Module:parameters").process(data.args, params) return { description = "{{{langname}}} [[cmavo]] ([[structure]]/[[function word]]s) of the [[selma'o]] ([[structure]] [[word]] [[class]]) ''" .. selmao .. "''.", additional = args.singleton and "''Note:'' This class is a [[singleton set]], i.e. there is only one [[cmavo]] (element) in this class." or nil, displaytitle = "{{{langname}}} cmavo of selma'o ''" .. selmao .. "''", breadcrumb_and_first_sort_key = "''" .. selmao .. "''", parents = {"selma'o"}, }, true end) labels["cmavo clusters"] = { description = "{{{langname}}} [[cmavo]] [[cluster]]s, i.e. [[compound]]s of two or more [[cmavo]] ([[particle]]s or [[function word]]s).", parents = {"cmavo"}, breadcrumb_and_first_sort_key = "clusters", } labels["abstractors"] = { description = "{{{langname}}} [[abstractor]]s, i.e. [[cmavo]] ([[particle]]s) that convert a [[bridi]] (Lojban sentence) into an abstract noun-like phrase.", additional = "This allows the phrase to be embedded in another sentence, similar to a [[subordinate clause]].\n\n" .. "All abstractors come from the [[selma'o]] (grammatical class) [[:Category:Lojban cmavo of selma'o NU|NU]].", parents = {"cmavo"}, } labels["elidable terminators"] = { description = "{{{langname}}} [[elidable]] [[terminator]]s, used to [[indicate]] the end of certain [[phrase]]s.", parents = {"cmavo"}, } labels["indicators"] = { description = "{{{langname}}} [[indicator]]s, i.e. [[cmavo]] ([[particle]]s) used to express the speaker's [[emotional]] [[attitude]] or add other [[metalinguistic]] [[information]] to a [[sentence]].", additional = "Often the term ''indicator'' is used synonymously with ''[[:Category:Lojban attitudinal indicators|attitudinal indicator]]'', in which case " .. "[[:Category:Lojban discursive indicators|discursive indicators]] and [[:Category:Lojban evidential indicators|evidential indicators]] are called simply ''discursives'' and ''evidentials''.", parents = {"cmavo"}, } labels["attitudinal indicators"] = { description = "{{{langname}}} [[attitudinal]] [[indicator]]s, i.e. [[cmavo]] ([[particle]]s) used to express the speaker's [[emotional]] [[attitude]].", additional = "These function somewhat similarly to [[interjection]]s in English but are integrated into the sentence structure.\n\n" .. "Often attitudinal indicators are simply called ''indicators'', in which case what Wiktionary calls [[:Category:Lojban discursive indicators|discursive indicators]] " .. "and [[:Category:Lojban evidential indicators|evidential indicators]] are called simply ''discursives'' and ''evidentials''.", parents = {"indicators"}, breadcrumb_and_first_sort_key = "attitudinal", } labels["discursive indicators"] = { description = "{{{langname}}} [[discursive]] [[indicator]]s, i.e. [[cmavo]] ([[particle]]s) used to express [[metalinguistic]] ([[discourse]]) [[information]] about a sentence, similarly to English ''[[but]]'' and ''[[also]]''.", additional = "These are often called simply ''discursives'', and [[:Category:Lojban attitudinal indicators|attitudinal indicators]] are simply called ''indicators''.", parents = {"indicators"}, breadcrumb_and_first_sort_key = "discursive", } labels["evidential indicators"] = { description = "{{{langname}}} [[evidential]] [[indicator]]s, i.e. [[cmavo]] ([[particle]]s) used to express how the [[speaker]] came to make a given [[statement]] (e.g. by direct observation, by belief, by [[hearsay]], etc.).", additional = "These are often called simply ''evidentials'', and [[:Category:Lojban attitudinal indicators|attitudinal indicators]] are simply called ''indicators''.", parents = {"indicators"}, breadcrumb_and_first_sort_key = "evidential", } labels["letterals"] = { description = "{{{langname}}} [[letteral]]s, i.e. [[name]]s of {{{langname}}} and non-{{{langname}}} [[letter]]s.", parents = {"cmavo"}, } labels["logical connectives"] = { description = "{{{langname}}} [[logical]] [[connective]]s, similar to [[conjunction]]s in [[English]].", parents = {"cmavo"}, } labels["pro-forms"] = { description = "{{{langname}}} [[pro-form]]s, used to make [[reference]] to previously specified [[phrase]]s or [[clause]]s.", parents = {"cmavo"}, } labels["pro-sumti"] = { description = "{{{langname}}} [[pro-sumti]], similar to [[pronoun]]s (of various sorts) in [[English]].", parents = {"pro-forms"}, } labels["pro-bridi"] = { description = "{{{langname}}} [[pro-]][[bridi]], similar to [[pro-sumti]] but which stand for entire [[sentence]]s ([[bridi]]) rather than individual [[element]]s ([[sumti]]).", parents = {"pro-forms"}, } labels["sumti tcita"] = { description = "{{{langname}}} [[sumti tcita]], used to add extra non-required [[argument]]s in a [[sentence]], similar to [[preposition]]s in [[English]].", additional = "Morphologically, [[sumti tcita]] are abbreviated (“[[modal]]”) forms of certain [[gismu]], and should not be confused with [[rafsi]].", parents = {"cmavo"}, } labels["tense tags"] = { description = "{{{langname}}} [[tense]] [[tag]]s, used to specify the [[tense]] (e.g. [[past]], [[present]], [[future]]) of a [[sentence]].", parents = {"cmavo"}, } ----------------- Cmene and related categories ----------------- labels["cmene"] = { description = "{{{langname}}} [[cmene]], i.e. [[proper noun]]s [[law of Hobson-Jobson|respelled according to Lojban rules]].", additional = "They are considered a separate part of speech from [[brivla]] (content words) and [[cmavo]] (function words).", parents = {"lemmas"}, } labels["fu'ivla cmene"] = { description = "{{{langname}}} [[fu'ivla]] [[cmene]], i.e. [[cmene]] ([[proper noun]]s) that are also [[fu'ivla]] (single [[loanword]]s rather than [[compound]]s).", parents = {"fu'ivla", "cmene"}, } labels["lujvo cmene"] = { description = "{{{langname}}} [[lujvo]] [[cmene]], i.e. [[cmene]] ([[proper noun]]s) that are also [[lujvo]] ([[compound]]s).", parents = {"lujvo", "cmene"}, } return {LABELS = labels, HANDLERS = handlers} rh0ivwlckrhqpgpxhivwv7bjpxwklt7 Wikikamus:tmw/jedup 4 118579 342698 2026-05-16T03:49:33Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} mendung{{cp|tmw|Langit hari ini '''jedup''' pagi tai|Langit hari ini mendung sejak pagi}}' 342698 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} mendung{{cp|tmw|Langit hari ini '''jedup''' pagi tai|Langit hari ini mendung sejak pagi}} ne37d463zlhae6iin2ds890etdhdubz Modul:category tree/lang/jv 828 118580 342699 2026-05-16T03:50:08Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} local lang = require("Module:languages").getByCode("jv") labels["Ngoko"] = { parents = {"Kelainan bahasa Jawa"}, } labels["Madya"] = { parents = {"Kelainan bahasa Jawa"}, } labels["Krama"] = { parents = {"Kelainan bahasa Jawa"}, } labels["Krama ngoko"] = { parents = {"Javanese terms by usage"}, } return {LABELS = labels, HANDLERS = handlers}' 342699 Scribunto text/plain local labels = {} local handlers = {} local lang = require("Module:languages").getByCode("jv") labels["Ngoko"] = { parents = {"Kelainan bahasa Jawa"}, } labels["Madya"] = { parents = {"Kelainan bahasa Jawa"}, } labels["Krama"] = { parents = {"Kelainan bahasa Jawa"}, } labels["Krama ngoko"] = { parents = {"Javanese terms by usage"}, } return {LABELS = labels, HANDLERS = handlers} om1wy5qmrh14k4g19y89yuts2e9xjn1 342700 342699 2026-05-16T03:50:25Z Hakimi97 2668 342700 Scribunto text/plain local labels = {} local handlers = {} local lang = require("Module:languages").getByCode("jv") labels["Ngoko"] = { parents = {"Kelainan bahasa Jawa"}, } labels["Madya"] = { parents = {"Kelainan bahasa Jawa"}, } labels["Krama"] = { parents = {"Kelainan bahasa Jawa"}, } labels["Krama ngoko"] = { parents = {"Perkataan bahasa Jawa mengikut penggunaan"}, } return {LABELS = labels, HANDLERS = handlers} 1ocqu5jxnm48fqyol2dw62imkn9iq8t Modul:category tree/lang/ket 828 118581 342701 2026-05-16T03:51:02Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} local unpack = unpack or table.unpack -- Lua 5.2 compatibility labels["action nominals"] = { description = "{{{langname}}} action nominals, similar to verbal nouns.", parents = {"verbs"}, } for _, conjspec in ipairs { {"I", 1}, {"II", 2}, {"III", 3}, {"IV", 4}, {"V", 5}, {"mixed", "mixed"} } do local conj, sort = unpack(conjspec) label = conj == "mixed" and "mixed conjugation verbs" or "conjugation " .. conj...' 342701 Scribunto text/plain local labels = {} local handlers = {} local unpack = unpack or table.unpack -- Lua 5.2 compatibility labels["action nominals"] = { description = "{{{langname}}} action nominals, similar to verbal nouns.", parents = {"verbs"}, } for _, conjspec in ipairs { {"I", 1}, {"II", 2}, {"III", 3}, {"IV", 4}, {"V", 5}, {"mixed", "mixed"} } do local conj, sort = unpack(conjspec) label = conj == "mixed" and "mixed conjugation verbs" or "conjugation " .. conj .. " verbs" labels[label] = { description = "{{{langname}}} " .. label .. ".", parents = {{name = "verbs by inflection type", sort = sort}}, breadcrumb_and_first_sort_key = conj, } end labels["adpositions"] = { description = "{{{langname}}} adpositions.", parents = {"lemmas"}, } return {LABELS = labels, HANDLERS = handlers} k5cbmf3shs4dw244h31xfhq1c111xx4 Modul:category tree/lang/kn 828 118582 342703 2026-05-16T03:51:38Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} --------------------------------- Verbs -------------------------------- labels["verbs adopted from Sanskrit"] = { description = "{{{langname}}} verbs that are taken directly from Sanskrit rather than being native formations.</br></br>For example, {{m|kn|ಜ್ವಲಿಸು}} is taken directly from {{m+|sa|ज्वलति|ಜ್ವಲತಿ}} rather than being a native formation.", parents = {{name = "verbs", sort = "Sanskrit...' 342703 Scribunto text/plain local labels = {} --------------------------------- Verbs -------------------------------- labels["verbs adopted from Sanskrit"] = { description = "{{{langname}}} verbs that are taken directly from Sanskrit rather than being native formations.</br></br>For example, {{m|kn|ಜ್ವಲಿಸು}} is taken directly from {{m+|sa|ज्वलति|ಜ್ವಲತಿ}} rather than being a native formation.", parents = {{name = "verbs", sort = "Sanskrit"}}, } return {LABELS = labels} l5ebhvmdlwt4pns732b06abya2i3zce Modul:category tree/lang/ko 828 118583 342705 2026-05-16T03:52:09Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} table.insert(handlers, function(data) local irreg_type, plpos = data.label:match("^([a-z-]+)-irregular ([a-z]+s)$") if irreg_type and (plpos == "adjectives" or plpos == "verbs") then local ital_irreg_type if #irreg_type <= 3 then ital_irreg_type = "''" .. irreg_type .. "''" else local subpos, stem = irreg_type:match("^([a-z]+)%-([a-z]+)$") if subpos then -- "determiner-h-irregular adjectives"...' 342705 Scribunto text/plain local labels = {} local handlers = {} table.insert(handlers, function(data) local irreg_type, plpos = data.label:match("^([a-z-]+)-irregular ([a-z]+s)$") if irreg_type and (plpos == "adjectives" or plpos == "verbs") then local ital_irreg_type if #irreg_type <= 3 then ital_irreg_type = "''" .. irreg_type .. "''" else local subpos, stem = irreg_type:match("^([a-z]+)%-([a-z]+)$") if subpos then -- "determiner-h-irregular adjectives" ital_irreg_type = subpos .. "-''" .. stem .. "''" end end ital_irreg_type = ital_irreg_type or irreg_type local displaytitle = "{{{langname}}} " .. ital_irreg_type .. "-irregular " .. plpos return { description = displaytitle .. ".", -- FIXME: Explain what the irregular types mean displaytitle = displaytitle, breadcrumb_and_first_sort_key = ital_irreg_type, parents = {"irregular " .. plpos}, } end end) return { LABELS = labels, HANDLERS = handlers } dpris2sf1bdlt95ft9qmtpd1fza41jc Modul:category tree/lang/ky 828 118584 342706 2026-05-16T03:52:39Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} labels["verbs with consonant-final stem"] = { description = "{{{langname}}} verbs where the stem ends in a consonant.", breadcrumb_and_first_sort_key = "consonant-final stem", parents = {"verbs"}, } labels["verbs with vowel-final stem"] = { description = "{{{langname}}} verbs where the stem ends in a vowel.", breadcrumb_and_first_sort_key = "vowel-final stem", parents = {"verbs"}, } return {LABELS = labels}' 342706 Scribunto text/plain local labels = {} labels["verbs with consonant-final stem"] = { description = "{{{langname}}} verbs where the stem ends in a consonant.", breadcrumb_and_first_sort_key = "consonant-final stem", parents = {"verbs"}, } labels["verbs with vowel-final stem"] = { description = "{{{langname}}} verbs where the stem ends in a vowel.", breadcrumb_and_first_sort_key = "vowel-final stem", parents = {"verbs"}, } return {LABELS = labels} 5xm7j5y6d614st0nil3vnbmnq0wm1s4 Modul:category tree/lang/mhr 828 118585 342707 2026-05-16T03:53:07Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} local unpack = unpack or table.unpack -- Lua 5.2 compatibility local function mark_ending(ending) return (ending:gsub("<(.-)>", "{{m|mhr||%1|tr=-}}")) end --------------------------------- Verbs -------------------------------- for _, type_spec in ipairs { {"I", "1", "ending in <-ына>, <-ыда>, <-ыт> in the present indicative plural and <-ш> in the third person singular present indicative"}, {"II", "...' 342707 Scribunto text/plain local labels = {} local handlers = {} local unpack = unpack or table.unpack -- Lua 5.2 compatibility local function mark_ending(ending) return (ending:gsub("<(.-)>", "{{m|mhr||%1|tr=-}}")) end --------------------------------- Verbs -------------------------------- for _, type_spec in ipairs { {"I", "1", "ending in <-ына>, <-ыда>, <-ыт> in the present indicative plural and <-ш> in the third person singular present indicative"}, {"II", "2", "generally ending in <-ена>, <-еда>, <-ат> in the present indicative plural and a vowel in the third person singular present indicative"}, } do local type, sort, ending = unpack(type_spec) labels["type " .. type .. " conjugation verbs"] = { description = "{{{langname}}} type " .. type .. " verbs, " .. mark_ending(ending) .. ".", breadcrumb = "type " .. type, parents = {{name = "verbs by inflection type", sort = sort}}, } end return {LABELS = labels, HANDLERS = handlers} brhzzg3r9w6h6vu0ec25am3t5zua268 Modul:category tree/lang/moh 828 118586 342708 2026-05-16T03:53:33Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} labels["agent pronominal prefixes"] = { description = "This category contains Mohawk agent pronominal prefixes", parents = "prefixes", } labels["patient pronominal prefixes"] = { description = "This category contains Mohawk patient pronominal prefixes", parents = "prefixes", } labels["transitive pronominal prefixes"] = { description = "This category contains Mohawk transitive pronominal prefixes", parents = "prefixes", } ret...' 342708 Scribunto text/plain local labels = {} labels["agent pronominal prefixes"] = { description = "This category contains Mohawk agent pronominal prefixes", parents = "prefixes", } labels["patient pronominal prefixes"] = { description = "This category contains Mohawk patient pronominal prefixes", parents = "prefixes", } labels["transitive pronominal prefixes"] = { description = "This category contains Mohawk transitive pronominal prefixes", parents = "prefixes", } return {LABELS = labels} qq9fd65dgx17co3rh0k6ztl45rcbqwr Modul:category tree/lang/mvi 828 118587 342709 2026-05-16T03:54:03Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} -- Orthographic properties labels["kyūjitai spellings"] = { breadcrumb = "kyūjitai", description = "{{{langname}}} terms spelled with {{ja-lg|kyūjitai}} {{ja-lg|kanji}}.", additional = "To add a word to this category, you can use {{temp|cln|mvi|kyūjitai spellings}} or {{temp|mvi-kyujitai spelling of}}.", parents = {"terms by orthographic property", "obsolete forms"} } return {LABELS = labels}' 342709 Scribunto text/plain local labels = {} -- Orthographic properties labels["kyūjitai spellings"] = { breadcrumb = "kyūjitai", description = "{{{langname}}} terms spelled with {{ja-lg|kyūjitai}} {{ja-lg|kanji}}.", additional = "To add a word to this category, you can use {{temp|cln|mvi|kyūjitai spellings}} or {{temp|mvi-kyujitai spelling of}}.", parents = {"terms by orthographic property", "obsolete forms"} } return {LABELS = labels} 53ynevyy69714v516nihep2l2senq95 Wikikamus:tmw/perun 4 118588 342711 2026-05-16T03:54:44Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} bakar{{cp|tmw|Nenek akuk '''perun''' sampah|Nenek saya sedang '''bakar''' sampah}}' 342711 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} bakar{{cp|tmw|Nenek akuk '''perun''' sampah|Nenek saya sedang '''bakar''' sampah}} 7e10cg2jithmqmx68gku49s1vlggnzm Modul:category tree/lang/mwl 828 118589 342712 2026-05-16T03:54:44Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local unpack = unpack or table.unpack -- Lua 5.2 compatibility ----------------------------------------------------------------------------- -- -- -- VERBS -- -- -- -------------------------------------------------------------...' 342712 Scribunto text/plain local labels = {} local unpack = unpack or table.unpack -- Lua 5.2 compatibility ----------------------------------------------------------------------------- -- -- -- VERBS -- -- -- ----------------------------------------------------------------------------- labels["verbs by vowel alternation"] = { description = "{{{langname}}} verbs categorized by type of vowel alternation.", parents = {"verbs by inflection type"}, } labels["verbs by consonant alternation"] = { description = "{{{langname}}} verbs categorized by type of consonant alternation.", parents = {"verbs by inflection type"}, } -- Add labels for e.g. [[Category:Mirandese verbs with e-ie alternation]]. local vowel_alternations = { ["o-uo"] = { stressed = {"o", "uo"}, }, ["e-ie"] = { stressed = {"e", "ie"}, }, ["a-i"] = { stressed = {"a", "i"}, }, ["e-i"] = { stressed = {"e", "i"}, }, ["a-ei"] = { stressed = {"a", "ei"}, }, ["e-ei"] = { stressed = {"e", "ei"}, }, ["a-e"] = { stressed = {"a", "e"}, }, ["o-e"] = { stressed = {"o", "e"}, }, ["u-o"] = { stressed = {"u", "o"}, }, } for alt, obj in pairs(vowel_alternations) do local from, to = unpack(obj.stressed) local desc = "{{{langname}}} verbs whose root vowel changes from ''" .. from .. "'' to ''" .. to .. "'' when stressed" desc = desc .. "." labels["verbs with " .. alt .. " alternation"] = { description = desc, displaytitle = "{{{langname}}} verbs with {{m|mwl||" .. alt .. "}} alternation", parents = {{name = "verbs by vowel alternation", sort = alt}}, breadcrumb = "{{m|mwl||" .. alt .. "}}", } end -- Add labels for e.g. [[Category:Mirandese verbs with c-qu alternation]]. local consonant_alternations = { ["c-ç"] = {"c", "ç"}, ["c-qu"] = {"qu", "c"}, ["c-z"] = {"c", "z"}, ["c-zc"] = {"c", "zc"}, ["g-gu"] = {"gu", "g"}, ["g-j"] = {"g", "j"}, } for alt, frontback in pairs(consonant_alternations) do local desc local front, back = unpack(frontback) desc = "{{{langname}}} verbs whose final consonant alternates between ''" .. front .. "'' before front vowels (''e'', ''i'') " .. "and ''" .. back .. "'' before back vowels (''a'', ''o'', ''u'')." labels["verbs with " .. alt .. " alternation"] = { description = desc, displaytitle = "{{{langname}}} verbs with {{m|mwl||" .. alt .. "}} alternation", parents = {{name = "verbs by consonant alternation", sort = alt}}, breadcrumb = "{{m|mwl||" .. alt .. "}}", } end labels["third-person-only verbs"] = { description = "{{{langname}}} verbs with forms that exist only in the third person, and have no imperatives.", parents = {{name = "defective verbs"}}, breadcrumb = "third-person-only", } return {LABELS = labels} 62jjsuyuwx8yr327p4qkyujeq857zoc Modul:category tree/lang/ny 828 118590 342713 2026-05-16T03:55:17Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} labels["applicative verbs"] = { description = "{{{langname}}} verbs with formed with {{m|ny|-ira}} or {{m|ny|-era}}, which has several uses.", additional = "See [[Appendix:Chichewa verbal derivation]] for more.", topright = "{{wp|Chewa language#grammar}}<br/>{{swp|applicative voice}}", parents = "verbs", } labels["conversive verbs"] = { description = "{{{langname}}} verbs formed with {{m|ny|-ula//-ola}} or its intransitive coun...' 342713 Scribunto text/plain local labels = {} labels["applicative verbs"] = { description = "{{{langname}}} verbs with formed with {{m|ny|-ira}} or {{m|ny|-era}}, which has several uses.", additional = "See [[Appendix:Chichewa verbal derivation]] for more.", topright = "{{wp|Chewa language#grammar}}<br/>{{swp|applicative voice}}", parents = "verbs", } labels["conversive verbs"] = { description = "{{{langname}}} verbs formed with {{m|ny|-ula//-ola}} or its intransitive counterpart {{m|ny|-uka//-oka}}, which gives it a meaning {{lg|antonym}}ous to the root.", additional = "See [[Appendix:Chichewa verbal derivation]] for more.", parents = "verbs", } labels["reduplicative verbs"] = { description = "{{{langname}}} verbs formed by reduplication, which typically indicates [[repetition]] over a short amount of time.", additional = "See [[Appendix:Chichewa verbal derivation]] for more.", parents = "verbs", } return {LABELS = labels} isk2rqcuh6dlhy4ty4mbjbl3n1fd1qm Modul:category tree/lang/odt 828 118591 342715 2026-05-16T03:55:49Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} local insert = table.insert labels["verbs by derivation type"] = { parents = {{ name = "verbs", sort = "derivation" }}, breadcrumb = "by derivation type", } labels["separable verbs"] = { description = "{{{langname}}} verbs that split into two parts in certain constructions.", parents = "verbs by derivation type", breadcrumb = "separable", } labels["basic verbs"] = { description = "{{{langname}}} verbs whi...' 342715 Scribunto text/plain local labels = {} local handlers = {} local insert = table.insert labels["verbs by derivation type"] = { parents = {{ name = "verbs", sort = "derivation" }}, breadcrumb = "by derivation type", } labels["separable verbs"] = { description = "{{{langname}}} verbs that split into two parts in certain constructions.", parents = "verbs by derivation type", breadcrumb = "separable", } labels["basic verbs"] = { description = "{{{langname}}} verbs which are not prefixed and cannot be separated.", parents = "verbs by derivation type", breadcrumb = "basic", } labels["prefixed verbs"] = { parents = "verbs by derivation type", breadcrumb = "prefixed", } labels["contracted verbs"] = { -- add a description parents = { "verbs by inflection type", "irregular verbs", }, breadcrumb = "contracted", } labels["irregular strong verbs"] = { -- add a description parents = { "verbs by inflection type", "irregular verbs", "strong verbs", }, breadcrumb = "irregular strong", } labels["Verner alternating verbs"] = { description = "{{{langname}}} verbs which alternate between consonants according to [[w:Verner's law|Verner's law]].", parents = "irregular strong verbs", breadcrumb = "Verner alternating", } labels["irregular weak verbs"] = { -- add a description parents = { "verbs by inflection type", "irregular verbs", "weak verbs", }, breadcrumb = "irregular weak", } labels["hiatus verbs"] = { -- add a description parents = { "verbs by inflection type", "irregular verbs", }, breadcrumb = "hiatus", } labels["consonant stem nouns"] = { description = "{{{langname}}} nouns which end in a consonant.", parents = "nouns by inflection type", breadcrumb = "consonant stem", } insert(handlers, function (data) local separable, with = data.label:match("^(separable) verbs with (.+)$") if separable and with then return { description = "{{{langname}}} verbs which separate into " .. with .. " and their stem.", parents = "separable verbs", breadcrumb = with, } end end) insert(handlers, function(data) local gender, category for _, g in ipairs({ "feminine", "masculine", "neuter" }) do gender, category = data.label:match("^(" .. g .. ") (.+)$") if gender then break end end category = category or data.label local stem, POS = category:match("^(.-)%-stem (%w+)$") if stem and POS then local ret = { description = "{{{langname}}} " .. (gender or "") .. " " .. POS .. " which decline in historical {{m|odt||-" .. stem .. "}}.", breadcrumb = (gender and gender .. " " or "") .. "-" .. stem .. " stems", } if gender then ret.parents = { stem .. "-stem " .. POS, "nouns by inflection type", } else ret.parents = { { name = POS, sort = stem }, { name = "nouns by inflection type", sort = stem }, } end return ret end end) return { LABELS = labels, HANDLERS = handlers } j96p1axwod9whx7cj9twchwnynd34is Modul:category tree/lang/osx 828 118592 342716 2026-05-16T03:56:17Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} local rmatch = mw.ustring.match table.insert(handlers, function(data) local stem = rmatch(data.label, "^(.+%-stem) nouns$") if stem then return { description = "Old Saxon " .. stem .. " nouns.", breadcrumb = stem, parents = {{name = "nouns by inflection type", sort = stem}}, } end end) return {LABELS = labels, HANDLERS = handlers}' 342716 Scribunto text/plain local labels = {} local handlers = {} local rmatch = mw.ustring.match table.insert(handlers, function(data) local stem = rmatch(data.label, "^(.+%-stem) nouns$") if stem then return { description = "Old Saxon " .. stem .. " nouns.", breadcrumb = stem, parents = {{name = "nouns by inflection type", sort = stem}}, } end end) return {LABELS = labels, HANDLERS = handlers} ikcfv3ew3nsi5kad8kyuokdkjuvdv52 Modul:category tree/lang/pra 828 118593 342719 2026-05-16T03:57:59Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} labels["terms with unexpected voicing"] = { description = "Prakrit terms undergoing unexpected voicing.", parents = {"terms by phonemic property"}, } labels["terms with unexpected gemination"] = { description = "Prakrit terms undergoing unexpected gemination.", parents = {"terms by phonemic property"}, } labels["terms with unexpected retroflexion"] = { description = "Prakrit terms undergoing unexpected retroflexion.", parents...' 342719 Scribunto text/plain local labels = {} labels["terms with unexpected voicing"] = { description = "Prakrit terms undergoing unexpected voicing.", parents = {"terms by phonemic property"}, } labels["terms with unexpected gemination"] = { description = "Prakrit terms undergoing unexpected gemination.", parents = {"terms by phonemic property"}, } labels["terms with unexpected retroflexion"] = { description = "Prakrit terms undergoing unexpected retroflexion.", parents = {"terms by phonemic property"}, } labels["terms with unexpected lenition"] = { description = "Prakrit terms undergoing unexpected lenition (e.g. expected ''-kkh-'' > ''-h-'').", parents = {"terms by phonemic property"}, } labels["Proto-New Indo-Aryan"] = { description = "{{{langname}}} terms reconstructed from New Indo-Aryan lemmas.", parents = {"terms by etymology"}, } labels["terms of the defective word group"] = { description = "{{{langname}}} terms belonging to an Indo-Aryan group " .. "of words that {{w|Ralph Lilley Turner|Turner}} refers to " .. "as \"defective\". These words can express a physical, " .. "mental, or moral defect or express a general meaning of " .. "''[[lump]]'' or ''[[heap]]''. Such \"defective\" terms " .. "included here do not have clear Indo-European etymology. " .. "They are characterized by showing a wide variety of " .. "alternative forms, perhaps indicating [[substrate]] " .. "origin or [[taboo deformation]].", parents = {"terms by etymology"} } return {LABELS = labels} rrdinz6n9n7ol6c3mdnuwf7u3rsdq4x Wikikamus:tmw/tungguk 4 118594 342720 2026-05-16T03:58:09Z Kentangputarr 10725 Mencipta laman baru dengan kandungan '{{label|tmw|dialek|Bukit Lagong}}tanya {{cp|tmw|}} ==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Johor}} contoh' 342720 wikitext text/x-wiki {{label|tmw|dialek|Bukit Lagong}}tanya {{cp|tmw|}} ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Johor}} contoh emalmct1l92jt6dnhr6qs46kzg129ji 342725 342720 2026-05-16T04:00:05Z Kentangputarr 10725 342725 wikitext text/x-wiki {{label|tmw|dialek|Bukit Lagong}}{{cp|tmw|}} ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}}tunggu 0iyts1soiihxk4256bllz7enwv2e670 Wikikamus:tmw/koros 4 118595 342721 2026-05-16T03:58:13Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} kurus{{cp|tmw|Koceng itu '''koros''' betul|Kucing itu sangat '''kurus'''}}' 342721 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} kurus{{cp|tmw|Koceng itu '''koros''' betul|Kucing itu sangat '''kurus'''}} ewcbtjoptb7dwrr6fffi4733ek96z54 Modul:category tree/lang/roa-opt 828 118596 342724 2026-05-16T03:59:44Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local insert = table.insert labels["verbs by auxiliary"] = { description = "{{{langname}}} verbs categorized by the auxiliary they take in the composed tenses.", parents = {{name = "verbs", sort = "auxiliary"}}, } local function join_or(items) return mw.text.listToText(items, nil, " or ") end for _, aux in ipairs {"haver", "seer", {"haver", "seer"}} do local bare_aux, link_aux, nolink_aux if type(aux) == "table" then bare_...' 342724 Scribunto text/plain local labels = {} local insert = table.insert labels["verbs by auxiliary"] = { description = "{{{langname}}} verbs categorized by the auxiliary they take in the composed tenses.", parents = {{name = "verbs", sort = "auxiliary"}}, } local function join_or(items) return mw.text.listToText(items, nil, " or ") end for _, aux in ipairs {"haver", "seer", {"haver", "seer"}} do local bare_aux, link_aux, nolink_aux if type(aux) == "table" then bare_aux = join_or(aux) link_aux = {} nolink_aux = {} for _, au in ipairs(aux) do insert(link_aux, "{{m|{{{langcode}}}|" .. au .. "}}") insert(nolink_aux, "{{m|{{{langcode}}}||" .. au .. "}}") end link_aux = join_or(link_aux) nolink_aux = join_or(nolink_aux) else bare_aux = aux link_aux = "{{m|{{{langcode}}}|" .. aux .. "}}" nolink_aux = "{{m|{{{langcode}}}||" .. aux .. "}}" end labels["verbs taking " .. bare_aux .. " as auxiliary"] = { description = "{{{langname}}} verbs taking " .. link_aux .. " as auxiliary in the composed tenses.", displaytitle = "{{{langname}}} verbs taking " .. nolink_aux .. " as auxiliary", parents = {{name = "verbs by auxiliary", sort = bare_aux}}, breadcrumb = nolink_aux, } end return {LABELS = labels} mc3blaid5zgrib8wp96799jhc3otcrw Wikikamus:tmw/koceng 4 118597 342726 2026-05-16T04:00:28Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=kucing}} kucing{{cp|tmw|'''Koceng''' akuk lawa nah|'''Kucing''' saya sangat comel}}' 342726 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=kucing}} kucing{{cp|tmw|'''Koceng''' akuk lawa nah|'''Kucing''' saya sangat comel}} b3qxc0ks28be3hp2bq9f6xt3bvz9c7w Modul:category tree/lang/rsk 828 118598 342727 2026-05-16T04:00:34Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} local rmatch = mw.ustring.match --------------------------------- Adjectives -------------------------------- for _, pos in ipairs({ "adjectives", "pronouns", "determiners", "numerals", "suffixes", "adjective forms" }) do labels["hard " .. pos] = { description = "{{{langname}}} hard-stem " .. pos .. ", or " .. pos .. " ending in -и.", additional = "Where not borrowed, these adjectives are usually inheri...' 342727 Scribunto text/plain local labels = {} local handlers = {} local rmatch = mw.ustring.match --------------------------------- Adjectives -------------------------------- for _, pos in ipairs({ "adjectives", "pronouns", "determiners", "numerals", "suffixes", "adjective forms" }) do labels["hard " .. pos] = { description = "{{{langname}}} hard-stem " .. pos .. ", or " .. pos .. " ending in -и.", additional = "Where not borrowed, these adjectives are usually inherited from Old Slovak adjectives ending in -y or -ý, although this is not always the case, particularly with Old Slovak adjectives ending in -ci, -či, -di, -si, -ši, -ti, -zi or -ži, or their long equivalents.", breadcrumb = "hard", parents = { { name = pos .. " by inflection type", sort = "hard-stem" } }, } labels["soft " .. pos] = { description = "{{{langname}}} soft-stem " .. pos .. ", or " .. pos .. " ending in -ї.", additional = "Where not borrowed, these adjectives are usually inherited from Old Slovak adjectives ending in -li, -lí, -ni or -ní.", breadcrumb = "soft", parents = { { name = pos .. " by inflection type", sort = "soft-stem" } }, } end --------------------------------- Nouns/Pronouns/Numerals -------------------------------- for _, pos in ipairs({ "nouns", "proper nouns", "pronouns", "numerals" }) do local function make_label(label, description, parents, breadcrumb) labels[pos .. " " .. label] = { description = "{{{langname}}} " .. pos .. " " .. description, breadcrumb = breadcrumb or label, parents = parents, } end make_label("with reducible stem", "with a reducible stem, where an extra vowel is inserted " .. "before the last stem consonant in the nominative singular.", { { name = pos .. " by inflection type", sort = "reducible stem" } } ) labels["adjectival " .. pos] = { description = "{{{langname}}} " .. pos .. " with adjectival endings.", parents = { pos }, } make_label("with irregular stem", "with an irregular stem, which occurs in all cases except the nominative singular and maybe the accusative singular.", { { name = "irregular " .. pos, sort = "stem" } } ) end --------------------------------- Verbs -------------------------------- labels["verbs by class"] = { description = "{{{langname}}} verbs categorized by class.", parents = { { name = "verbs by inflection type", sort = "class" } }, } table.insert(handlers, function(data) local class = rmatch(data.label, "^class ([0-9]+) verbs$") if class then return { description = "{{{langname}}} class " .. class .. " verbs.", breadcrumb = class, parents = { { name = "verbs by class", sort = class } }, } end end) return { LABELS = labels, HANDLERS = handlers } cwsgxpv4ekvkrwq7cjhasxjuto1c5qx Modul:category tree/lang/rue 828 118599 342729 2026-05-16T04:01:21Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} local rfind = mw.ustring.find local rmatch = mw.ustring.match local unpack = unpack or table.unpack -- Lua 5.2 compatibility --------------------------------- Adjectives -------------------------------- labels["adjectives by stem type and stress"] = { description = "Carpathian Rusyn adjectives categorized by stem type and stress. " .. "Unlike for nouns, adjectives are consistently either stem-stressed or endi...' 342729 Scribunto text/plain local labels = {} local handlers = {} local rfind = mw.ustring.find local rmatch = mw.ustring.match local unpack = unpack or table.unpack -- Lua 5.2 compatibility --------------------------------- Adjectives -------------------------------- labels["adjectives by stem type and stress"] = { description = "Carpathian Rusyn adjectives categorized by stem type and stress. " .. "Unlike for nouns, adjectives are consistently either stem-stressed or ending-stressed.", parents = {{name = "adjectives by inflection type", sort = "stem type and stress"}}, } local adj_stem_expl = { ["soft-stem"] = "a soft consonant", ["hard-stem"] = "a hard consonant", ["possessive"] = "-їв, -ів or -ин", } local adj_decl_endings = { ["hard stem-stressed"] = {"-ый", "-а", "-е", "-ы"}, ["hard ending-stressed"] = {"-ы́й", "-а́", "-е́", "-ы́"}, ["soft"] = {"-їй/ій", "-я", "-є", "-ї"}, ["possessive"] = {"-", "-а", "-е", "-ы"}, } table.insert(handlers, function(data) -- FIXME! Harmonize stem types here with stem types in 'adj_decl_endings' (used -- directly in adjectival nouns). local function stem_to_ending_type(stem, stress) if stem == "hard-stem" and stress == "stem" then return "hard stem-stressed" elseif stem == "hard-stem" and stress == "ending" then return "hard ending-stressed" elseif stress == "" then if stem == "soft-stem" then return "soft" elseif stem == "possessive" then return "possessive" end end return nil end local breadcrumb, stem, stress = rmatch(data.label, "^(([^ ]*) ([^ *]*)-stressed) adjectives") if not breadcrumb then breadcrumb, stem = rmatch(data.label, "^(([^ ]*)) adjectives") stress = "" end if breadcrumb then local ending_type = stem_to_ending_type(stem, stress) if ending_type and adj_stem_expl[stem] then local m, f, n, p = unpack(adj_decl_endings[ending_type]) local stresstext = stress == "stem" and "The adjectives in this category have stress on the stem." or stress == "ending" and "The adjectives in this category have stress on the endings." or "All adjectives of this type have stress on the stem." local endingtext = "ending in the nominative in masculine singular " .. m .. ", feminine singular " .. f .. ", neuter singular " .. p .. " and plural " .. p .. "." local stemtext = " The stem ends in " .. adj_stem_expl[stem] .. "." return { description = "Carpathian Rusyn " .. stem .. " adjectives, " .. endingtext .. stemtext .. " " .. stresstext, breadcrumb = breadcrumb, parents = {"adjectives by stem type and stress"}, } end end end) return {LABELS = labels, HANDLERS = handlers} 6o7ifdxrbzj709qg4jqgg2u0k45ine9 Modul:category tree/lang/sd 828 118600 342730 2026-05-16T04:01:59Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} local u = mw.ustring.char local unpack = unpack or table.unpack -- Lua 5.2 compatibility for _, pos in ipairs({"nouns", "verbs", "adjectives"}) do labels[pos .. " with phonetic respelling"] = { description = "{{{langname}}} " .. pos .. " using phonetic respelling in their " .. (pos == "verbs" and "conjugation" or "declension") .. " tables due to irregular or unpredictable pronunciations.", additional...' 342730 Scribunto text/plain local labels = {} local handlers = {} local u = mw.ustring.char local unpack = unpack or table.unpack -- Lua 5.2 compatibility for _, pos in ipairs({"nouns", "verbs", "adjectives"}) do labels[pos .. " with phonetic respelling"] = { description = "{{{langname}}} " .. pos .. " using phonetic respelling in their " .. (pos == "verbs" and "conjugation" or "declension") .. " tables due to irregular or unpredictable pronunciations.", additional = [=[ ===See also=== * [[Wiktionary:Sindhi transliteration]] * [[Module:sd-Arab-translit]]]=], parents = { "terms by orthographic property", "terms by phonemic property", {name = pos, sort = "phonetic respelling"}, }, } end --------------------------------- Nouns -------------------------------- labels["nouns by gender and stem type"] = { description = "{{{langname}}} nouns categorized by gender and stem type.", parents = {{name = "nouns", sort = "gender and stem type"}}, breadcrumb = "by gender and stem type", } labels["nouns with irregular plural stem"] = { description = "{{{langname}}} nouns with an irregular plural stem.", parents = {{name = "nouns", sort = "irregular plural stem"}}, breadcrumb = "with irregular plural stem", } table.insert(handlers, function(data) local gender, stem, pos gender, stem, pos = data.label:match("^([a-z]+ine) (independent unmarked [^ %-]*%-stem) (.*)s$") if not gender then gender, stem, pos = data.label:match("^([a-z]+ine) (independent [^ %-]*%-stem) (.*)s$") end if not gender then gender, stem, pos = data.label:match("^([a-z]+ine) (unmarked [^ %-]*%-stem) (.*)s$") end if not gender then gender, stem, pos = data.label:match("^([a-z]+ine) ([^ %-]*%-stem) (.*)s$") end if gender and pos == "noun" then local desc = "{{{langname}}} " .. gender .. " " .. stem .. " " .. pos .. "s." local additional if stem:find("independent") then additional = "* Here, 'independent' means that the stem ending directly " .. "follows a vowel and so uses the independent Devanagari form of the vowel that begins the ending." end if stem:find("unmarked") then additional = additional and additional .. "\n" or "" additional = additional .. "* Here, 'unmarked' means that the endings are added onto the full direct singular form " .. "without removing the stem ending (although final nasalization, if present, will move to the ending)." end return { description = desc, additional = additional, parents = { {name = pos .. "s by gender and stem type", sort = stem:gsub("independent ", ""):gsub("unmarked ", "")} }, breadcrumb = gender .. " " .. stem, } end end) return {LABELS = labels, HANDLERS = handlers} j53a2lg30txuv9pssswc6k8yknmxeri Modul:category tree/lang/sh 828 118601 342732 2026-05-16T04:03:07Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} local lang = require("Module:languages").getByCode("sh") local rfind = mw.ustring.find local rmatch = mw.ustring.match for _, pos in ipairs { "nouns" } do labels["masculine animate " .. pos] = { description = "{{{langname}}} masculine " .. pos .. " that refer to humans or animals.", breadcrumb = "animate", parents = {{name = "masculine " .. pos, sort = "animate"}}, } labels["masculine inanimate " .. p...' 342732 Scribunto text/plain local labels = {} local handlers = {} local lang = require("Module:languages").getByCode("sh") local rfind = mw.ustring.find local rmatch = mw.ustring.match for _, pos in ipairs { "nouns" } do labels["masculine animate " .. pos] = { description = "{{{langname}}} masculine " .. pos .. " that refer to humans or animals.", breadcrumb = "animate", parents = {{name = "masculine " .. pos, sort = "animate"}}, } labels["masculine inanimate " .. pos] = { description = "{{{langname}}} masculine " .. pos .. " that refer to inanimate objects.", breadcrumb = "inanimate", parents = {{name = "masculine " .. pos, sort = "inanimate"}}, } end return {LABELS = labels} 482dpk5ewtb3mh92elxn8o2k8t10ll1 Modul:category tree/lang/skr 828 118602 342733 2026-05-16T04:03:37Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} labels["terms with unexpected gemination"] = { description = "Saraiki terms with an unexpected lengthening of a consonant.", parents = {"terms by phonemic property"}, } labels["terms with unexpected lenition"] = { description = "Saraiki terms with an unexpected weakening of a consonant.", parents = {"terms by phonemic property"}, } return {LABELS = labels}' 342733 Scribunto text/plain local labels = {} labels["terms with unexpected gemination"] = { description = "Saraiki terms with an unexpected lengthening of a consonant.", parents = {"terms by phonemic property"}, } labels["terms with unexpected lenition"] = { description = "Saraiki terms with an unexpected weakening of a consonant.", parents = {"terms by phonemic property"}, } return {LABELS = labels} 9s18dih6nz8zx2mx76n7jec1hj10li0 Modul:category tree/lang/sw 828 118603 342734 2026-05-16T04:04:20Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} for i = 1, 18 do labels["class " .. require("Module:roman numerals").arabic_to_roman(i) .. " nouns"] = { description = "Swahili nouns that belong to class " .. require("Module:roman numerals").arabic_to_roman(i) .. ".", breadcrumb = class, umbrella = false, parents = {{name = "nouns by class", sort = i}}, } end labels["class I/IX nouns"] = { description = "Swahili nouns that belong to class I, but have possessive adjectiv...' 342734 Scribunto text/plain local labels = {} for i = 1, 18 do labels["class " .. require("Module:roman numerals").arabic_to_roman(i) .. " nouns"] = { description = "Swahili nouns that belong to class " .. require("Module:roman numerals").arabic_to_roman(i) .. ".", breadcrumb = class, umbrella = false, parents = {{name = "nouns by class", sort = i}}, } end labels["class I/IX nouns"] = { description = "Swahili nouns that belong to class I, but have possessive adjectives agree in class IX.", breadcrumb = class, umbrella = false, parents = {{name = "nouns by class", sort = "1a"}}, } return {LABELS = labels} 793uvu3ec75cztasi9wb4f9ccpsqqyc Modul:category tree/lang/syc 828 118604 342735 2026-05-16T04:04:50Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} labels["invariant nouns"] = { description = "{{{langname}}} nouns for which number is not marked, and which do not change form/pronunciation in the emphatic plural.", breadcrumb = "invariant", parents = {"nouns with irregular plurals"}, } return {LABELS = labels}' 342735 Scribunto text/plain local labels = {} labels["invariant nouns"] = { description = "{{{langname}}} nouns for which number is not marked, and which do not change form/pronunciation in the emphatic plural.", breadcrumb = "invariant", parents = {"nouns with irregular plurals"}, } return {LABELS = labels} mcpem3yzxl12ix52kf5j8atcxry1am2 Modul:category tree/lang/szl 828 118605 342736 2026-05-16T04:05:23Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} labels["Phonetic Silesian Alphabet spellings"] = { description = "{{{langname}}} terms spelled in the Phonetic Silesian Alphabet.", additional = "Entries can be added to this category with {{tl|szl-phonetic}}.", topright = "{{wp|szl:Ślōnski alfabet fōnetyczny}}", parents = "terms by orthographic property", } labels["Steuer spellings"] = { description = "{{{langname}}} terms spelled in the Steuer system.", additional = "Entr...' 342736 Scribunto text/plain local labels = {} labels["Phonetic Silesian Alphabet spellings"] = { description = "{{{langname}}} terms spelled in the Phonetic Silesian Alphabet.", additional = "Entries can be added to this category with {{tl|szl-phonetic}}.", topright = "{{wp|szl:Ślōnski alfabet fōnetyczny}}", parents = "terms by orthographic property", } labels["Steuer spellings"] = { description = "{{{langname}}} terms spelled in the Steuer system.", additional = "Entries can be added to this category with {{tl|szl-Steuer}}.", topright = "{{wp|Silesian orthography#Steuer's alphabet}}", parents = "terms by orthographic property", } labels["short adjective forms"] = { description = "{{{langname}}} adjective forms which are used in predicates.", parents = "adjective forms" } return {LABELS = labels} fbqiqbhojmvedz2g5pbvuthijmgmuml Wikikamus:tmw/majok 4 118606 342737 2026-05-16T04:05:40Z Sakura Comel 10752 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} merajuk' 342737 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} merajuk 3m7jxvjmir1a6aq8ydq6r53qej8b8z2 Modul:category tree/lang/te 828 118607 342738 2026-05-16T04:05:56Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} --------------------------------- Verbs -------------------------------- labels["verbs adopted from Sanskrit"] = { description = "{{{langname}}} verbs that are taken directly from Sanskrit rather than being native formations.</br></br>For example, {{m|te|జ్వలించు}} is taken directly from {{m+|sa|ज्वलति|జ్వలతి}} rather than being a native formation.", parents = {{name = "verbs", sort = "Sansk...' 342738 Scribunto text/plain local labels = {} --------------------------------- Verbs -------------------------------- labels["verbs adopted from Sanskrit"] = { description = "{{{langname}}} verbs that are taken directly from Sanskrit rather than being native formations.</br></br>For example, {{m|te|జ్వలించు}} is taken directly from {{m+|sa|ज्वलति|జ్వలతి}} rather than being a native formation.", parents = {{name = "verbs", sort = "Sanskrit"}}, } return {LABELS = labels} r381ktyfz7u86k6rweebewlege45cc8 Modul:category tree/lang/ulw 828 118608 342739 2026-05-16T04:06:25Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local conjugations = { ["-da-"] = "{{{langname}}} verbs with thematic ''-d-'' (in all forms).", ["-wa-"] = "{{{langname}}} verbs with thematic ''-w-'' (in all forms).", ["-ra-"] = "{{{langname}}} verbs with thematic ''-r-'' (in all forms).", ["-ta-"] = "{{{langname}}} verbs with thematic ''-t-'' (in some forms).", ["-pa-"] = "{{{langname}}} verbs with thematic ''-p-'' (in some forms).", ["∅"] = "{{{langname}}} verbs lacking a...' 342739 Scribunto text/plain local labels = {} local conjugations = { ["-da-"] = "{{{langname}}} verbs with thematic ''-d-'' (in all forms).", ["-wa-"] = "{{{langname}}} verbs with thematic ''-w-'' (in all forms).", ["-ra-"] = "{{{langname}}} verbs with thematic ''-r-'' (in all forms).", ["-ta-"] = "{{{langname}}} verbs with thematic ''-t-'' (in some forms).", ["-pa-"] = "{{{langname}}} verbs with thematic ''-p-'' (in some forms).", ["∅"] = "{{{langname}}} verbs lacking a thematic consonant.", } local sorting = {["-da-"] = " da", ["-wa-"] = " wa", ["-ra-"] = " ra", ["-ta-"] = " ta", ["-pa-"] = " pa", ["∅"] = " 0"} for conj, conjdesc in pairs(conjugations) do local class_italics = conj == "∅" and "∅" or "{{m|{{{langcode}}}||" .. conj .. "}}" labels["class " .. conj .. " verbs"] = { description = conjdesc, displaytitle = "{{{langname}}} class " .. class_italics .. " verbs", parents = { {name = "verbs by inflection type", sort = sorting[conj]}, }, breadcrumb = class_italics, } end return {LABELS = labels} 358ltzlc7b310nkzkixgcxv8m1u52s1 Modul:category tree/lang/vec 828 118609 342741 2026-05-16T04:06:48Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} ----------------------------------------------------------------------------- -- -- -- VERBS -- -- -- ----------------------------------------------------------------------------- labels["verbs by conjugation"] = { descript...' 342741 Scribunto text/plain local labels = {} ----------------------------------------------------------------------------- -- -- -- VERBS -- -- -- ----------------------------------------------------------------------------- labels["verbs by conjugation"] = { description = "{{{langname}}} verbs categorized by conjugation.", breadcrumb = "by conjugation", parents = {{name = "verbs by inflection type", sort = "conjugation"}}, } labels["first conjugation verbs"] = { description = "{{{langname}}} first conjugation verbs, whose infinitive ends in ''-ar''.", breadcrumb = "1st", parents = {{name = "verbs by conjugation", sort = "1st"}}, } labels["second conjugation verbs"] = { description = "{{{langname}}} second conjugation verbs, whose infinitive ends in ''-ar'', ''-er'' or ''-dur''.", breadcrumb = "2nd", parents = {{name = "verbs by conjugation", sort = "2nd"}}, } labels["third conjugation verbs"] = { description = "{{{langname}}} second conjugation verbs, whose infinitive ends in ''-ir''.", breadcrumb = "3nd", parents = {{name = "verbs by conjugation", sort = "3nd"}}, } labels["verbs taking èser as auxiliary"] = { description = "{{{langname}}} verbs that can take {{m|vec|èser}} as their auxiliary verb when forming compound tenses and used intransitively.", additional = "They may not always take {{m|vec|èser}} under these circumstances, however. Check the entries themselves for more information.", displaytitle = "{{{langname}}} verbs taking {{m|vec||èser}} as auxiliary", parents = {{name = "verbs by inflection type", sort = "èser as auxiliary"}}, breadcrumb = "{{m|vec||èser}} as auxiliary", } labels["verbs taking aver or èser as auxiliary"] = { description = "{{{langname}}} verbs that can take {{m|vec|aver}} or {{m|vec|èser}} as their auxiliary verb when forming compound tenses and used intransitively.", displaytitle = "{{{langname}}} verbs taking {{m|vec||aver}} or {{m|vec||èser}} as auxiliary", parents = {{name = "verbs by inflection type", sort = "aver or èser as auxiliary"}}, breadcrumb = "{{m|vec||aver}} or {{m|vec||èser}} as auxiliary", } labels["combined forms"] = { description = "{{{langname}}} combinations of verbs with cliticized pronouns.", parents = {"verb forms"}, } return {LABELS = labels} 15hf8y05djkz2pyu19f783efet6r5xf Modul:category tree/lang/zle-ono 828 118610 342742 2026-05-16T04:07:18Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} local en_utilities_module = "Module:en-utilities" --------------------------------- Adjectives -------------------------------- local adj_like_poses = {"adjective", "pronoun", "determiner", "numeral", "suffix"} for _, pos in ipairs(adj_like_poses) do local plpos = require(en_utilities_module).pluralize(pos) labels["hard " .. plpos] = { description = "{{{langname}}} hard-stem " .. plpos .. ".", breadcrumb...' 342742 Scribunto text/plain local labels = {} local handlers = {} local en_utilities_module = "Module:en-utilities" --------------------------------- Adjectives -------------------------------- local adj_like_poses = {"adjective", "pronoun", "determiner", "numeral", "suffix"} for _, pos in ipairs(adj_like_poses) do local plpos = require(en_utilities_module).pluralize(pos) labels["hard " .. plpos] = { description = "{{{langname}}} hard-stem " .. plpos .. ".", breadcrumb = "hard", parents = {{name = plpos .. " by inflection type", sort = "hard-stem"}}, } labels["soft " .. plpos] = { description = "{{{langname}}} soft-stem " .. plpos .. ".", breadcrumb = "soft", parents = {{name = plpos .. " by inflection type", sort = "soft-stem"}}, } labels[plpos .. " with short forms"] = { description = "{{{langname}}} " .. plpos .. " with short-form inflections.", breadcrumb = "with short forms", parents = {{name = plpos .. " by inflection type", sort = "short forms"}}, } end --------------------------------- Nouns/Pronouns/Numerals -------------------------------- --[=[ Noun declension specifications. The top-level key is the stem class, and the value is an object containing properties of the stem class. If the stem class contains the word 'GENDER' in it, it expands into labels both for a parent category that subsumes several genders (obtained by removing the word 'GENDER' and following whitespace) as well as gender-specific children categories (obtained by replacing the word 'GENDER' with the genders specified in the `possible_genders` field). The fields of the property object for a given stem class are as follows: * `gender`: The description of the gender(s) of the stem class. If preceded by ~, the description is preceded by "most commonly". This appears in the `additional` field of the label properties. It is not used in gender-specific children categories; instead the gender of that category is used. * `possible_genders`: The possible genders this class occurs in. If this is specified, the word 'GENDER' must occur in the stem class, and gender-specific variants of the stem class (with GENDER replaced by the possible genders) are handled along with a parent category subsuming all genders. * `singular`: The nominative singular ending. Use <...> to enclose Old Church Slavonic text; it will be given the appropriate language tag and italicized. * `GENDER_singular`: The nominative singular ending for the GENDER variant of this stem class. If not specified, the value of `singular` is used. * `plural`: The nominative plural ending. * `GENDER_singular`: The nominative plural ending for the GENDER variant of this stem class. If not specified, the value of `plural` is used. * `breadcrumb`: The breadcrumb for the category, appearing in the trail of breadcrumbs at the top of the page. If this stem has gender-specific variants, the breadcrumb specified here is used only for the parent category, while the gender-specific child categories use the gender as the breadcrumb. If not specified, it defaults to `sortkey`. If that is also not specified, or if the breadcrumb has the value "+", the stem class (without the word 'GENDER') is used. (Use "+" when a sortkey is specified but the stem class should be used as the breadcrumb.) * `parent`: The parent category. If specified, the actual category label is formed by appending the part of speech (e.g. "nouns"). Defaults to "POS by inflection type" where POS is the part of speech. Note that gender-specific child categories do not use this, but always have the gender-subsuming parent stem class category as their parent. * `sortkey`: The sort key used for sorting this category among its parent's children. Defaults to the stem class (without the word 'GENDER'). Note that gender-specific child categories do nto use this, but always use the gender as the sort key. ]=] local noun_decls = { ["hard GENDER a-stem"] = { gender = "~feminine", possible_genders = {"masculine", "feminine"}, singular = "<-а>", plural = "<-ꙑ>", breadcrumb = "+", sortkey = "a-stem", }, ["soft GENDER a-stem"] = { gender = "~feminine", possible_genders = {"masculine", "feminine"}, singular = "<-ꙗ> (or <-а> after an unpaired palatal consonant), or <-ꙑни>, or sometimes <-ии>/<-ьи>", masculine_singular = "<-ꙗ> (or <-а> after an unpaired palatal consonant), or <-ии>/<-ьи>", plural = "<-ѩ> (or <-ѧ> after an unpaired palatal consonant)", breadcrumb = "+", sortkey = "a-stem", }, ["GENDER i-stem"] = { gender = "~feminine (sometimes masculine)", possible_genders = {"masculine", "feminine"}, singular = "<-ь>", plural = "<-и> (usually <-ьѥ> or <-иѥ> when masculine)", masculine_plural = "<-ьѥ> or <-иѥ>", feminine_plural = "<-и>", }, ["GENDER ī-stem"] = { gender = "~feminine (masculine when referring to a person)", possible_genders = {"masculine", "feminine"}, singular = "<-ии> or <-ьи>", plural = "<-иѭ> or <-ьѩ>", parent = "soft a-stem", }, ["hard GENDER o-stem"] = { gender = "masculine or neuter", possible_genders = {"masculine", "neuter"}, singular = "<-е> when masculine, <-о> when neuter", masculine_singular = "<-ъ>", neuter_singular = "<-о>", plural = "<-и> when masculine, <-а> when neuter", masculine_plural = "<-и>", neuter_plural = "<-а>", breadcrumb = "+", sortkey = "o-stem", }, ["soft GENDER o-stem"] = { gender = "masculine or neuter", possible_genders = {"masculine", "neuter"}, singular = "<-ь> when masculine, <-ѥ> (or <-е> after an unpaired palatal consonant) when neuter", masculine_singular = "<-ь>", neuter_singular = "<-ѥ> (or <-е> after an unpaired palatal consonant)", plural = "<-и> when masculine, <-ꙗ> (or <-а> after an unpaired palatal consonant) when neuter", masculine_plural = "<-и>", neuter_plural = "<-ꙗ> (or <-а> after an unpaired palatal consonant)", breadcrumb = "+", sortkey = "o-stem", }, ["u-stem"] = { gender = "~masculine", singular = "<-ъ>", plural = "<-ове>", }, ["GENDER n-stem"] = { gender = "~masculine (nouns in <-мѧ> are neuter)", possible_genders = {"masculine", "neuter"}, singular = "<-ꙑ>, <-нь>, or <-мѧ>", masculine_singular = "<-ꙑ> or <-нь>", neuter_singular = "<-мѧ>", plural = "<-не> (or <-мена> if ending in <-мѧ)>", masculine_plural = "<-не>", neuter_plural = "<-мена>", parent = "consonant-stem", }, ["nt-stem"] = { gender = "~neuter", singular = "<-ѧ>", plural = "<-ѧта>", parent = "consonant-stem", }, ["r-stem"] = { gender = "~feminine", singular = "<-и>", plural = "<-ери>", parent = "consonant-stem", }, ["s-stem"] = { gender = "~neuter", singular = "<-о> (<-е> after a palatal consonant)", plural = "<-еса>", parent = "consonant-stem", }, ["v-stem"] = { gender = "~feminine", singular = "<-ꙑ>", plural = "<-ъви>", parent = "consonant-stem", }, } for _, pos in ipairs({"nouns"}) do local sgpos = pos:gsub("s$", "") labels["consonant-stem " .. pos] = { description = "{{{langname}}} consonant-stem " .. pos .. ".", additional = "This is not a single declension class, but a set of related declension classes, with endings that are" .. " largely identical outside of the nominative, accusative and vocative.", breadcrumb = "consonant-stem", parents = pos .. " by inflection type", } local function mark_ending(ending) return (ending:gsub("<(.-)>", "{{m|zle-ono||%1|tr=-}}")) end for full_decl, spec in pairs(noun_decls) do local most_commonly, gender = spec.gender:match("^(~)(.*)$") gender = gender or spec.gender local subgenders = spec.possible_genders local decl if subgenders then if not full_decl:find("GENDER") then error(("Internal error: Declension spec '%s' needs to have the word 'GENDER' in it, in all caps"):format(full_decl)) end decl = full_decl:gsub("GENDER ", "") else decl = full_decl end local breadcrumb = spec.breadcrumb or spec.sortkey or "+" if breadcrumb == "+" then breadcrumb = decl end labels[decl .. " " .. pos] = { description = "{{{langname}}} " .. decl .. " " .. pos .. ".", additional = ("These %s normally end in the singular in %s; in the plural in %s; and are %s%s."):format( pos, mark_ending(spec.singular), mark_ending(spec.plural), most_commonly and "most commonly " or "", mark_ending(gender)), breadcrumb = breadcrumb, parents = {{ name = spec.parent and spec.parent .. " " .. pos or pos .. " by inflection type", sort = spec.sortkey or decl, }}, } if subgenders then for _, subgender in ipairs(subgenders) do local gender_decl = full_decl:gsub("GENDER", subgender) labels[gender_decl .. " " .. pos] = { description = "{{{langname}}} " .. gender_decl .. " " .. pos .. ".", additional = ("These %s normally end in the singular in %s; in the plural in %s; and are %s."):format( pos, mark_ending(spec[subgender .. "_singular"] or spec.singular), mark_ending(spec[subgender .. "_plural"] or spec.plural), subgender), breadcrumb = subgender, parents = {{ name = decl .. " " .. pos, sort = subgender, }}, } end end end end return {LABELS = labels, HANDLERS = handlers} oghn99ypq3ajyyv20gnpbj5t2uf1bye Modul:category tree/lang/zle-ort 828 118611 342743 2026-05-16T04:07:46Z Hakimi97 2668 Mencipta laman baru dengan kandungan 'local labels = {} local handlers = {} --------------------------------- Nouns/Pronouns/Numerals -------------------------------- local noun_decls = { ["hard a-stem"] = { singular = "-а", plural = "-ы", gender = "feminine", sortkey = "a-stem", }, ["soft a-stem"] = { singular = "-ꙗ", plural = "-и", -- ? FIXME gender = "feminine", sortkey = "a-stem", }, ["masculine i-stem"] = { singular = "-ь", plural = "-?", gender = "m...' 342743 Scribunto text/plain local labels = {} local handlers = {} --------------------------------- Nouns/Pronouns/Numerals -------------------------------- local noun_decls = { ["hard a-stem"] = { singular = "-а", plural = "-ы", gender = "feminine", sortkey = "a-stem", }, ["soft a-stem"] = { singular = "-ꙗ", plural = "-и", -- ? FIXME gender = "feminine", sortkey = "a-stem", }, ["masculine i-stem"] = { singular = "-ь", plural = "-?", gender = "masculine", sortkey = "i-stem", }, ["feminine i-stem"] = { singular = "-ь", plural = "-?", gender = "feminine", sortkey = "i-stem", }, --[==[ ["ī-stem"] = { singular = "-ии or -ьи", plural = "-иѭ or -ьѩ", gender = "feminine (masculine when referring to a person)", parent = "soft a-stem", }, ]==] ["hard masculine o-stem"] = { singular = "-ъ", plural = "-и", gender = "masculine", sortkey = "o-stem", }, ["soft masculine o-stem"] = { singular = "-ь", plural = "-и", -- ? FIXME gender = "masculine", sortkey = "o-stem", }, ["hard neuter o-stem"] = { singular = "-о", plural = "-а", gender = "neuter", sortkey = "o-stem", }, ["soft neuter o-stem"] = { singular = "-e", plural = "-ꙗ", -- ? FIXME gender = "neuter", sortkey = "o-stem", }, --[==[ ["u-stem"] = { singular = "a hard stem consonant", plural = "-оvé", gender = "masculine", }, ["masculine n-stem"] = { singular = "-n", plural = "-ni", gender = "masculine", parent = "consonant-stem", }, ["neuter n-stem"] = { singular = "-ě", plural = "-ena", gender = "neuter", parent = "consonant-stem", }, ["masculine t-stem"] = { singular = "et", plural = "-ty", gender = "masculine", parent = "consonant-stem", }, ["neuter t-stem"] = { singular = "-ě", plural = "-ata", gender = "neuter", parent = "consonant-stem", }, ["r-stem"] = { singular = "-i", plural = "-ery", gender = "feminine", parent = "consonant-stem", }, ["v-stem"] = { singular = "-ev", plural = "-ve", gender = "feminine", parent = "consonant-stem", } ]==] } for _, pos in ipairs({"nouns"}) do labels[pos .. " by stem type and gender"] = { description = "{{{langname}}} " .. pos .. " categorized by stem type and gender.", parents = {{name = pos .. " by inflection type", sort = "stem type and gender"}}, } labels["consonant-stem " .. pos] = { description = "{{{langname}}} consonant-stem " .. pos .. ".", additional = "This is not a single declension class, but a set of related declension classes, with endings that are" .. " largely identical outside of the nominative, accusative and vocative.", breadcrumb = "consonant-stem", parents = pos .. " by stem type and gender", } for decl, spec in pairs(noun_decls) do labels[decl .. " " .. pos] = { description = "{{{langname}}} " .. decl .. " " .. pos .. ".", additional = "These " .. pos .. " normally end in " .. spec.singular .. " in the singular and " .. spec.plural .. " in the" .. " plural, and are most commonly " .. spec.gender .. ".", breadcrumb = decl, parents = {{ name = spec.parent and spec.parent .. " " .. pos or pos .. " by stem type and gender", sort = spec.sortkey or decl, }}, } end end --------------------------------- Adjectives -------------------------------- local adj_like_poses = {"adjectives", "pronouns", "determiners", "numerals", "suffixes"} for _, plpos in ipairs(adj_like_poses) do labels["hard " .. plpos] = { description = "{{{langname}}} hard " .. plpos .. ".", parents = {{name = plpos .. " by inflection type", sort = "hard-stem"}}, } labels["soft " .. plpos] = { description = "{{{langname}}} soft " .. plpos .. ".", parents = {{name = plpos .. " by inflection type", sort = "soft-stem"}}, } labels[plpos .. " with short forms"] = { description = "{{{langname}}} " .. plpos .. " with short-form inflections.", parents = {{name = plpos .. " by inflection type", sort = "short forms"}}, } end return {LABELS = labels, HANDLERS = handlers} bx7rr5z37zrtiomq06885427pz6qppa Modul:category tree/lang/jpx 828 118612 342747 2026-05-16T04:09:00Z Hakimi97 2668 Hakimi97 telah memindahkan laman [[Modul:category tree/lang/jpx]] ke [[Modul:category tree/fam/jpx]] 342747 Scribunto text/plain return require [[Modul:category tree/fam/jpx]] bcpq8eng8ni72qp30s68mey6as8xjb0 Modul:category tree/lang/zhx 828 118613 342749 2026-05-16T04:09:16Z Hakimi97 2668 Hakimi97 telah memindahkan laman [[Modul:category tree/lang/zhx]] ke [[Modul:category tree/fam/zhx]] 342749 Scribunto text/plain return require [[Modul:category tree/fam/zhx]] 3ktay7csor162rgat3r717fg7jqbgh7 Modul:category tree/lang/qfa-kor/doc 828 118614 342750 2026-05-16T04:09:51Z Hakimi97 2668 Mencipta laman baru dengan kandungan '{{delete}}' 342750 wikitext text/x-wiki {{delete}} 35r2j9t4ectnt1cmb7mlgcqvwz6h5k6 342751 342750 2026-05-16T04:10:25Z Hakimi97 2668 342751 wikitext text/x-wiki {{delete|dipindahkan ke [[Modul:category tree/fam/qfa-kor]]}} so73n2qysxt5yslq6l3hzm46lbjo2v6 Wikikamus:tmw/kompol 4 118615 342755 2026-05-16T04:13:10Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata kerja=== {{inti|{{safesubst:ROOTPAGENAME}}|kata kerja}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} kumpul{{cp|tmw|Kitak '''kompol''' di balai petang nin|Kita '''kumpul''' di balai pada petang ini}}' 342755 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata kerja=== {{inti|tmw|kata kerja}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} kumpul{{cp|tmw|Kitak '''kompol''' di balai petang nin|Kita '''kumpul''' di balai pada petang ini}} cp6mtnis2f8aawt2fagr4a6f59p0lg7 Wikikamus:tmw/satuk 4 118616 342760 2026-05-16T04:20:27Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan '==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata nama=== {{inti|{{safesubst:ROOTPAGENAME}}|kata nama}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} satu{{cp|tmw|Akuk ada '''satuk''' buku bahuk|Aku ada '''satu''' buku baru}}' 342760 wikitext text/x-wiki ==Bahasa {{bahasa|tmw}}== ===Kata nama=== {{inti|tmw|kata nama}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} satu{{cp|tmw|Akuk ada '''satuk''' buku bahuk|Aku ada '''satu''' buku baru}} m3lothj1xnerzd6heqyjm0j4af97cbd Wikikamus:tmw/bahuk 4 118617 342762 2026-05-16T04:22:40Z Barbiemaripossa 9985 Mencipta laman baru dengan kandungan 'i’m ==Bahasa {{bahasa|{{safesubst:ROOTPAGENAME}}}}== ===Kata sifat=== {{inti|{{safesubst:ROOTPAGENAME}}|kata sifat}} # {{label|1={{safesubst:ROOTPAGENAME}}|2=dialek|3=Bukit Lagong}} baru{{cp|tmw|Akuk ada buku '''bahuk'''|Saya ada buku '''baru'''}}' 342762 wikitext text/x-wiki i’m ==Bahasa {{bahasa|tmw}}== ===Kata sifat=== {{inti|tmw|kata sifat}} # {{label|1=tmw|2=dialek|3=Bukit Lagong}} baru{{cp|tmw|Akuk ada buku '''bahuk'''|Saya ada buku '''baru'''}} s2trgu6ebdv6a3pjbnykubymx0vd0b5 Templat:categoryTOChiragana 10 118618 342771 2026-05-16T06:52:37Z Hakimi97 2668 Hakimi97 telah memindahkan laman [[Templat:categoryTOChiragana]] ke [[Templat:Hira-categoryTOC]] 342771 wikitext text/x-wiki #LENCONG [[Templat:Hira-categoryTOC]] 7o0ru8id3f1otfs3j2vapmciu3or1ct Templat:template cat 10 118619 342773 2026-05-16T06:55:02Z Hakimi97 2668 Mencipta laman baru dengan kandungan '<includeonly>{{#invoke:template cat|categorize}}</includeonly><noinclude>{{documentation}}</noinclude>' 342773 wikitext text/x-wiki <includeonly>{{#invoke:template cat|categorize}}</includeonly><noinclude>{{documentation}}</noinclude> snrmdr6gj01ktlz7f7crr0jyhkh3jtd Templat:tcat 10 118620 342774 2026-05-16T06:55:07Z Hakimi97 2668 Melencong ke [[Templat:template cat]] 342774 wikitext text/x-wiki #LENCONG [[Template:template cat]] 5oss9liise0q27cbq8ztfrvcjkmqsy5 Modul:template cat 828 118621 342775 2026-05-16T06:56:07Z Hakimi97 2668 Mencipta laman baru dengan kandungan '-- Author: Benwing local export = {} local require_when_needed = require("Module:utilities/require when needed") local is_callable = require_when_needed("Module:fun", "is_callable") local format_categories = require_when_needed("Module:utilities", "format_categories") local parse_interface_module = "Module:parse interface" local m_string_utilities = require("Module:string utilities") local und_lang = require("Module:languages").getByCode("und", true)...' 342775 Scribunto text/plain -- Author: Benwing local export = {} local require_when_needed = require("Module:utilities/require when needed") local is_callable = require_when_needed("Module:fun", "is_callable") local format_categories = require_when_needed("Module:utilities", "format_categories") local parse_interface_module = "Module:parse interface" local m_string_utilities = require("Module:string utilities") local und_lang = require("Module:languages").getByCode("und", true) local ugsub = m_string_utilities.gsub local ufind = m_string_utilities.find local split = m_string_utilities.split local insert = table.insert local concat = table.concat local unpack = unpack or table.unpack -- Lua 5.2 compatibility -- This table detects the category type of the template given its name. When this is invoked, the language code has -- already been removed from the beginning, and anything starting with a slash has been truncated. The entries are -- processed in order and are two-element lists of Lua patterns (anchored on both sides; beware of hyphens, which need -- to be %-escaped) and the category type to use. The category types themselves are mapped to categories in -- category_type_to_category. local detect_category_type_list = { -- order is important here -- nouns, proper nouns, pronouns -- (1) unambiguous decl/infl templates {"decl%-.*proper.*", "noun inflection-table"}, {"infl%-.*proper.*", "noun inflection-table"}, {"decl%-.*pron.*", "pronoun inflection-table"}, {"infl%-.*pron.*", "pronoun inflection-table"}, {"decl%-noun.*", "noun inflection-table"}, {"infl%-noun.*", "noun inflection-table"}, -- (2) nouns {"noun", "headword-line"}, {"noun[ -]form", "headword-line"}, {"noun[ -]pl", "headword-line"}, {"noun[ -]plonly", "headword-line"}, -- Some languages, e.g. Urdu, have inflection templates called e.g. [[Template:ur-noun-f-ī]]. They should be called -- [[Template:ur-decl-noun-f-ī]] but we can autodetect them if we exclude the likely cases that are not declension -- templates. {"noun%-.*", "noun inflection-table"}, {"ndecl", "noun inflection-table"}, {"ndecl%-.*", "noun inflection-table"}, -- (3) proper nouns {"proper[ -]?noun", "headword-line"}, {"proper[ -]?noun[ -]form", "headword-line"}, {"proper[ -]?noun[ -]pl", "headword-line"}, {"proper[ -]?noun[ -]plonly", "headword-line"}, {"pnoun", "headword-line"}, {"pnoun[ -]form", "headword-line"}, {"pnoun[ -]pl", "headword-line"}, {"pnoun[ -]plonly", "headword-line"}, {"propn", "headword-line"}, {"propn[ -]form", "headword-line"}, {"propn[ -]pl", "headword-line"}, {"propn[ -]plonly", "headword-line"}, -- See above for inflection templates without 'decl' or 'infl' in them. {"proper[ -]?noun%-.*", "noun inflection-table"}, {"pnoun%-.*", "noun inflection-table"}, {"propn%-.*", "noun inflection-table"}, -- (4) pronouns {"pron", "headword-line"}, {"pronoun", "headword-line"}, {"pron[ -]form", "headword-line"}, {"pronoun[ -]form", "headword-line"}, {"prondecl", "pronoun inflection-table"}, {"prondecl%-.*", "pronoun inflection-table"}, -- adjectives {"decl%-adj.*", "adjective inflection-table"}, {"infl%-adj.*", "adjective inflection-table"}, {"adj", "headword-line"}, {"adjective", "headword-line"}, {"adj[ -]form", "headword-line"}, {"adjective[ -]form", "headword-line"}, {"adj[ -]comp", "headword-line"}, {"adjective[ -]comp", "headword-line"}, {"adj[ -]sup", "headword-line"}, {"adjective[ -]sup", "headword-line"}, -- Some languages, e.g. Urdu and Lithuanian, have inflection templates called e.g. [[Template:ur-adj-1]] and -- [[Template:lt-adj-is]]. They should be called [[Template:ur-decl-adj-1]] and [[Template:lt-decl-adj-is]] but we -- can autodetect them if we exclude the likely cases that are not declension templates. {"adj%-.*", "adjective inflection-table"}, {"adecl", "adjective inflection-table"}, {"adecl%-.*", "adjective inflection-table"}, -- verbs; need to avoid including conjunctions {"verb", "headword-line"}, {"conj", "verb inflection-table"}, {"conj[0-9 -].*", "verb inflection-table"}, {"conjug.*", "verb inflection-table"}, {"infl%-verb.*", "verb inflection-table"}, -- pronunciation {".*IPA.*", "pronunciation"}, {"pronunciation", "pronunciation"}, {"pr", "pronunciation"}, {"p", "pronunciation"}, -- form-of {".*form of", "form-of"}, -- pronominal boxes {".*personal pronouns", "personal pronoun"}, {".*demonstrative.*", "demonstrative"}, {".*interrogative.*", "interrogative"}, {".*possessives", "possessive"}, {".*possessive .*", "possessive"}, {".*reflexives", "reflexive"}, {".*reflexive .*", "reflexive"}, -- these next two should precede 'relative' {".*correlatives", "pro-form"}, {".*correlative .*", "pro-form"}, {".*relative .*", "relative"}, {".*articles", "article"}, {".*prefixes", "affix"}, {".*suffixes", "affix"}, -- TOC tables {".*TOC", "TOC"}, -- numbers, numerals {".*numbers", "number"}, {".*numerals", "number"}, {".*ordinals", "ordinal"}, {".*cardinals", "cardinal"}, {".*digits", "digit"}, -- transliteration {".*xlit", "orthographic conversion"}, {".*translit", "orthographic conversion"}, -- orthographic and regional variants {".*variant", "orthographic variant"}, {".*regional", "regional variant"}, -- sign production templates -- FIXME: We should limit this to sign languages. As it is, we put it near the bottom of the -- pattern list so it doesn't accidentally override other patterns for non-sign languages. {"prod .*", "sign production"}, } -- This table indicates how to convert template category types to categories. It consists of a list of pairs, where the -- first element is the category type and the second element is a key-value table containing the following keys: -- * `aliases`: Optional list of aliases for the category type, which can be used when explicitly specifying the type, -- e.g. {{tcat|hw}} instead of {{tcat|headword-line}}. -- * `cats`: List of categories to add the template to. Each entry either specifies a ''raw'' category (if the category -- name begins with "Category:"), a ''full table'' category (if the category name begins with "label:", where what -- follows specifies the full label without the prefixed language name) or a ''regular label'' category (for other -- strings, where e.g. if the label is "noun inflection-table", the category name is -- "LANG noun inflection-table templates"). An entry is either a string, directly specifying the category name, or a -- key-value table with keys `name` (the category name) and `sort` (how to generate the sort base). By default, the -- sort base for raw categories is a comma-separated list of the language names (not codes) associated with the -- template, or the full template name if there are no languages, and the sort base for label categories is the -- template name minus the initial language code. If this isn't correct, the `sort` field specifies how to compute the -- sort base. It is either a function of two arguments, the template name and language object, which should return the -- sort base; or a table of specs telling how to compute the sort base. In the case of a function, the template name -- passed in is the full name for raw categories, but the name minus any language code prefix in the case of label -- categories; and for raw categories, a list of all associated language objects is passed in, or {nil} if none, while -- for label categories, a single language object is passed in. (Label categories can only exist if there are -- associated languages.) In the case where `sort` is a table of specs, it is a list where each element is a -- two-element list of a Lua pattern anchored on both sides and the corresponding pattern replacement string. The -- specs are processed in order. local category_type_to_category = { -- Inflection-table templates {"noun inflection-table", { aliases = {"nouninfl", "noundecl", "ndecl"}, cats = {{name = "noun inflection-table", sort = { {"infl%-(.*)", "%1"}, {"decl%-(.*)", "%1"}, {"noun%-(.*)", "%1"}, -- put this twice to catch noun-decl-* and decl-noun-* {"infl%-(.*)", "%1"}, {"decl%-(.*)", "%1"}, {"noun", "*"}, {"ndecl%-base%-(.*)", " %1"}, {"ndecl%-base", " "}, {"ndecl%-(.*)", "%1"}, {"ndecl", "*"}, {"propndecl%-base%-(.*)", " %1"}, {"propndecl%-base", " "}, {"propndecl%-(.*)", "%1"}, {"propndecl", "*"}, {"proper[ -]?noun%-(.*)", "%1"}, {"propn%-(.*)", "%1"}, {"pnoun%-(.*)", "%1"}, }}}, }}, {"pronoun inflection-table", { aliases = {"proninfl", "prondecl"}, cats = {{name = "pronoun inflection-table", sort = { {"infl%-(.*)", "%1"}, {"decl%-(.*)", "%1"}, {"pronoun%-(.*)", "%1"}, {"pron%-(.*)", "%1"}, -- put this twice to catch pron-decl-* and decl-pron-* {"infl%-(.*)", "%1"}, {"decl%-(.*)", "%1"}, {"pronoun", "*"}, {"pron", "*"}, {"prondecl%-base%-(.*)", " %1"}, {"prondecl%-base", " "}, {"prondecl%-(.*)", "%1"}, {"prondecl", "*"}, }}}, }}, {"article inflection-table", { aliases = {"artinfl", "artdecl"}, cats = {{name = "article inflection-table", sort = { {"infl%-(.*)", "%1"}, {"decl%-(.*)", "%1"}, {"article%-(.*)", "%1"}, {"art%-(.*)", "%1"}, -- put this twice to catch art-decl-* and decl-art-* {"infl%-(.*)", "%1"}, {"decl%-(.*)", "%1"}, {"article", "*"}, {"art", "*"}, {"artdecl%-base%-(.*)", " %1"}, {"artdecl%-base", " "}, {"artdecl%-(.*)", "%1"}, {"artdecl", "*"}, }}}, }}, {"determiner inflection-table", { aliases = {"detinfl", "detdecl"}, cats = {{name = "determiner inflection-table", sort = { {"infl%-(.*)", "%1"}, {"decl%-(.*)", "%1"}, {"determiner%-(.*)", "%1"}, {"det%-(.*)", "%1"}, -- put this twice to catch det-decl-* and decl-det-* {"infl%-(.*)", "%1"}, {"decl%-(.*)", "%1"}, {"determiner", "*"}, {"det", "*"}, {"detdecl%-base%-(.*)", " %1"}, {"detdecl%-base", " "}, {"detdecl%-(.*)", "%1"}, {"detdecl", "*"}, }}}, }}, {"preposition inflection-table", { aliases = {"prepinfl", "prepdecl"}, cats = {{name = "preposition inflection-table", sort = { {"infl%-(.*)", "%1"}, {"decl%-(.*)", "%1"}, {"preposition%-(.*)", "%1"}, {"prep%-(.*)", "%1"}, -- put this twice to catch prep-decl-* and decl-prep-* {"infl%-(.*)", "%1"}, {"decl%-(.*)", "%1"}, {"preposition", "*"}, {"prep", "*"}, {"prepdecl%-base%-(.*)", " %1"}, {"prepdecl%-base", " "}, {"prepdecl%-(.*)", "%1"}, {"prepdecl", "*"}, {"prepinfl%-base%-(.*)", " %1"}, {"prepinfl%-base", " "}, {"prepinfl%-(.*)", "%1"}, {"prepinfl", "*"}, }}}, }}, {"postposition inflection-table", { aliases = {"postpinfl", "postpdecl"}, cats = {{name = "postposition inflection-table", sort = { {"infl%-(.*)", "%1"}, {"decl%-(.*)", "%1"}, {"postposition%-(.*)", "%1"}, {"postp%-(.*)", "%1"}, {"post%-(.*)", "%1"}, -- put this twice to catch postp-decl-* and decl-postp-* {"infl%-(.*)", "%1"}, {"decl%-(.*)", "%1"}, {"postposition", "*"}, {"postp", "*"}, {"post", "*"}, {"postpdecl%-base%-(.*)", " %1"}, {"postpdecl%-base", " "}, {"postpdecl%-(.*)", "%1"}, {"postpdecl", "*"}, {"postpinfl%-base%-(.*)", " %1"}, {"postpinfl%-base", " "}, {"postpinfl%-(.*)", "%1"}, {"postpinfl", "*"}, }}}, }}, {"adjective inflection-table", { aliases = {"adjinfl", "adjdecl", "adecl"}, cats = {{name = "adjective inflection-table", sort = { {"infl%-(.*)", "%1"}, {"decl%-(.*)", "%1"}, {"adj%-(.*)", "%1"}, {"adjective%-(.*)", "%1"}, -- put this twice to catch adj-decl-* and decl-adj-* {"infl%-(.*)", "%1"}, {"decl%-(.*)", "%1"}, {"adj", "*"}, {"adjective", "*"}, {"adecl%-base%-(.*)", " %1"}, {"adecl%-base", " "}, {"adecl%-(.*)", "%1"}, {"adecl", "*"}, }}}, }}, {"numeral inflection-table", { aliases = {"numinfl", "numdecl"}, cats = {{name = "numeral inflection-table", sort = { {"infl%-(.*)", "%1"}, {"decl%-(.*)", "%1"}, {"numeral%-(.*)", "%1"}, {"number%-(.*)", "%1"}, {"num%-(.*)", "%1"}, -- put this twice to catch num-decl-* and decl-num-* {"infl%-(.*)", "%1"}, {"decl%-(.*)", "%1"}, {"numeral", "*"}, {"number", "*"}, {"num", "*"}, {"numdecl%-base%-(.*)", " %1"}, {"numdecl%-base", " "}, {"numdecl%-(.*)", "%1"}, {"numdecl", "*"}, }}}, }}, {"nominal inflection-table", { aliases = {"nominfl", "nomdecl"}, cats = {{name = "nominal inflection-table", sort = { {"infl%-(.*)", "%1"}, {"decl%-(.*)", "%1"}, {"nominal%-(.*)", "%1"}, {"nom%-(.*)", "%1"}, -- put this twice to catch nom-decl-* and decl-nom-* {"infl%-(.*)", "%1"}, {"decl%-(.*)", "%1"}, {"nominal", "*"}, {"nom", "*"}, {"nomdecl%-base%-(.*)", " %1"}, {"nomdecl%-base", " "}, {"nomdecl%-(.*)", "%1"}, {"nomdecl", "*"}, }}}, }}, {"verb inflection-table", { aliases = {"verbinfl", "conj"}, cats = {{name = "verb inflection-table", sort = { {"infl%-(.*)", "%1"}, {"verb%-(.*)", "%1"}, -- put this twice to catch verb-infl-* and infl-verb-* {"infl%-(.*)", "%1"}, {"conj%-base%-(.*)", " %1"}, {"conj%-base", " "}, -- handle conj2, conj1-c, etc. {"conj%-?(.*)", "%1"}, {"conj", "*"}, }}}, }}, {"adverb inflection-table", { aliases = {"advinfl"}, cats = {{name = "adverb inflection-table", sort = { {"infl%-(.*)", "%1"}, {"decl%-(.*)", "%1"}, {"adverb%-(.*)", "%1"}, {"adv%-(.*)", "%1"}, -- put this twice to catch adv-decl-* and decl-adv-* {"infl%-(.*)", "%1"}, {"decl%-(.*)", "%1"}, {"adverb", "*"}, {"adv", "*"}, {"advinfl%-base%-(.*)", " %1"}, {"advinfl%-base", " "}, {"advinfl%-(.*)", "%1"}, {"advinfl", "*"}, }}}, }}, -- Inflection-table subtemplates {"inflection-table sub", { aliases = {"inflsub"}, cats = {"label:inflection-table subtemplates"}, }}, -- Definition templates -- Headword-line templates {"headword-line", { aliases = {"hw", "headword"}, cats = {"headword-line"}, }}, -- Definition templates {"definition", { aliases = {"def", "defn"}, cats = {"definition"}, }}, {"form-of", { aliases = {"form of"}, cats = {"form-of"}, }}, -- Etymology and pronunciation templates {"etymology", { aliases = {"etym"}, cats = {"etymology"}, }}, {"morphology", { aliases = {"morph"}, cats = {"etymology", "Category:Language-specific morphology templates"}, }}, {"pronunciation", { aliases = {"pron"}, cats = {"pronunciation"}, }}, {"sign production", { aliases = {"signprod"}, cats = {{name = "sign production", sort = { {"prod (.*)", "%1"}, }}}, }}, -- Pseudo-namespace templates {"reference", { aliases = {"ref"}, cats = {{name = "reference", allow_etym = true}}, }}, {"quotation", { aliases = {"quote"}, cats = {"quotation"}, }}, {"usage", { cats = {"usage"}, }}, {"list", { cats = {"list"}, }}, {"auto-table", { aliases = {"table"}, cats = {"auto-table"}, }}, -- Navigation templates -- Pro-form box templates {"pro-form", { aliases = {"pro-forms"}, cats = {"navigation", "Category:Pro-form box templates"}, }}, {"adposition", { aliases = {"adpositions", "preposition", "prepositions", "postposition", "postpositions"}, cats = {"navigation", "Category:Adposition box templates"}, }}, {"affix", { aliases = {"affixes", "prefix", "prefixes", "suffix", "suffixes"}, cats = {"navigation", "Category:Pro-form affix box templates"}, }}, {"article", { aliases = {"articles"}, cats = {"navigation", "Category:Grammatical article box templates"}, }}, {"demonstrative", { aliases = {"demonstratives"}, cats = {"navigation", "Category:Demonstrative box templates"}, }}, {"interrogative", { aliases = {"interrogatives"}, cats = {"navigation", "Category:Interrogative box templates"}, }}, {"personal pronoun", { aliases = {"perspron", "personal pronouns"}, cats = {"navigation", "Category:Personal pronoun box templates"}, }}, {"possessive", { aliases = {"possessives"}, cats = {"navigation", "Category:Possessive pronoun and determiner box templates"}, }}, {"reflexive", { aliases = {"reflexives"}, cats = {"navigation", "Category:Reflexive pronoun and determiner box templates"}, }}, {"relative", { aliases = {"relatives"}, cats = {"navigation", "Category:Relative pronoun and determiner box templates"}, }}, {"navigation", { -- miscellaneous navigation box templates like {{eu-aux verbs}}, {{pt-forms of address}} aliases = {"nav"}, cats = {"navigation"}, }}, {"TOC", { cats = {{name = "navigation", sort = { {"categoryTOC", "TOC"}, }}, "Category:TOC templates"}, }}, {"number", { aliases = {"numbers"}, cats = {"navigation", "Category:Language-specific number templates"}, }}, {"cardinal", { aliases = {"cardinals"}, cats = {"navigation", "Category:Language-specific number templates"}, }}, {"ordinal", { aliases = {"ordinals"}, cats = {"navigation", "Category:Language-specific number templates"}, }}, {"digit", { aliases = {"digits"}, cats = {"list", "Category:Language-specific number templates"}, }}, -- Entry templates {"entry", { cats = {"entry"}, }}, -- Orthographic conversion templates (e.g. for converting between scripts) {"orthographic conversion", { aliases = {"transliteration", "translit", "xlit", "orthconv", "scriptconv"}, cats = {"conversion", "Category:Orthographic conversion templates"}, }}, -- Orthographic and regional variant templates (for displaying orthographic, script and/or regional variants) {"orthographic variant", { aliases = {"orthvar", "scriptvar"}, -- Currently we categorize orthographic and regional variants the same but we could split them if needed cats = {"navigation", "Category:Orthographic and regional variant templates"}, }}, {"regional variant", { aliases = {"regvar"}, cats = {"navigation", "Category:Orthographic and regional variant templates"}, }}, -- Internal link templates {"link", { cats = {"link", "Category:Language-specific internal link templates"}, }}, } local category_type_to_category_map = {} for _, category_type_to_category_spec in ipairs(category_type_to_category) do local category_type, props = unpack(category_type_to_category_spec) category_type_to_category_map[category_type] = props if props.aliases then for _, alias in ipairs(props.aliases) do category_type_to_category_map[alias] = props end end end -- Split an argument on comma, but not comma followed by whitespace; split off sort base after a colon. local function split_on_comma_and_split_off_sort_base(val) local cattypes if val:find(",") then -- Don't optimize more than this because there can be commas backslashed, inside of links or followed by -- whitespace that don't cause splitting. cattypes = require(parse_interface_module).split_on_comma(val) else cattypes = {val} end for i, cattype_spec in ipairs(cattypes) do if cattype_spec:find(":") then local cattype, sort_base = cattype_spec:match("^(.-):(.*)$") sort_base = sort_base:gsub("_", " ") cattypes[i] = {name = cattype, sort_base = sort_base} end end return cattypes end local function get_lang_or_script(code) return code == "-" and code or require("Module:languages").getByCode(code, nil, "allow etym") or require("Module:languages").getByCode(code .. "-pro", nil, "allow etym") or require("Module:scripts").getByCode(code) end local function obj_code(obj) if obj == "-" then return obj end return obj:getCode() end local function get_prefixed_obj(after_prefix) return after_prefix:match("^(%a[%a-]*%a):(.+)$") end local function get_suffixed_obj(after_prefix) local rest, objcode = after_prefix:match("^(.+)/(%a[%a-]*%a)$") return objcode, rest end local pseudo_namespace_templates = { {"R:", { category_type = "reference", get_obj_and_rest = get_prefixed_obj, }}, {"RQ:", { category_type = "quotation", get_obj_and_rest = get_prefixed_obj, }}, {"U:", { category_type = "usage", get_obj_and_rest = get_prefixed_obj, }}, {"list:", { category_type = "list", get_obj_and_rest = get_suffixed_obj, }}, {"table:", { category_type = "auto-table", get_obj_and_rest = get_suffixed_obj, }}, } local function infer_lang_or_script_code_and_category_type(name) if name:find(":") then -- only check for pseudo-namespace prefix when a colon is present for _, pseudo_namespace_spec in ipairs(pseudo_namespace_templates) do local prefix, props = unpack(pseudo_namespace_spec) local after_prefix = name:match("^" .. prefix .. "(.+)$") if after_prefix then local objcode, rest = props.get_obj_and_rest(after_prefix) local obj if objcode then obj = get_lang_or_script(objcode) -- may return nil if not obj then rest = after_prefix end else rest = after_prefix end return obj, rest, props.category_type end end end local hyphen_parts = split(name, "%-") for i = #hyphen_parts - 1, 1, -1 do local code = concat(hyphen_parts, "-", 1, i) local obj = get_lang_or_script(code) if obj then local rest = concat(hyphen_parts, "-", i + 1) return obj, rest, nil end end return nil, name, nil end local function process_sortbase_specs(sortbase, specs) for _, spec in ipairs(specs) do local from, to = unpack(spec) sortbase = ugsub(sortbase, "^" .. from .. "$", to) end return sortbase end local function template_name_minus_langcode_to_category_type(name) for _, type_spec in ipairs(detect_category_type_list) do local pattern, intended_type = unpack(type_spec) if ufind(name, "^" .. pattern .. "$") then return intended_type end end return nil end local function compute_categories_for_template(full_template_name, template_name_minus_langcode, category_type, langs_or_scripts) local overriding_sort_base if type(category_type) == "table" then overriding_sort_base = category_type.sort_base category_type = category_type.name end if not category_type_to_category_map[category_type] then error("Unrecognized template category type: " .. category_type) end local props = category_type_to_category_map[category_type] if not props.cats then error("Internal error: No categories given for category type: " .. category_type) end local categories = {} for _, catspec in ipairs(props.cats) do if type(catspec) == "string" then catspec = {name = catspec} end local rawcat = catspec.name:match("^Category:(.*)") if rawcat then local sortbase -- User-specified sort base does not apply to raw categories, which have a different sort key format -- than language-specific categories. if not catspec.sort then if langs_or_scripts then local langnames = {} for _, lang_or_sc in ipairs(langs_or_scripts) do insert(langnames, lang_or_sc:getCanonicalName()) -- FIXME: or lang:getFullName()? end sortbase = concat(langnames, ",") else sortbase = full_template_name end elseif is_callable(catspec.sort) then sortbase = catspec.sort(full_template_name, langs_or_scripts) else sortbase = process_sortbase_specs(full_template_name, catspec.sort) end insert(categories, {cat = rawcat, lang = und_lang, sort_base = sortbase}) elseif langs_or_scripts then for _, lang_or_sc in ipairs(langs_or_scripts) do local sortbase if overriding_sort_base then sortbase = overriding_sort_base elseif not catspec.sort then sortbase = template_name_minus_langcode elseif is_callable(catspec.sort) then sortbase = catspec.sort(template_name_minus_langcode, lang_or_sc) else sortbase = process_sortbase_specs(template_name_minus_langcode, catspec.sort) end if lang_or_sc:hasType("script") then insert(categories, { cat = ("%s templates"):format(lang_or_sc:getCategoryName()), lang = und_lang, sc = lang_or_sc, sort_base = sortbase, }) else local cat local full_label = catspec.name:match("^label:(.*)$") local lang_name = catspec.allow_etym and lang_or_sc:getCanonicalName() or lang_or_sc:getFullName() if full_label then cat = ("%s %s"):format(lang_name, full_label) else cat = ("%s %s templates"):format(lang_name, catspec.name) end insert(categories, { cat = cat, lang = lang_or_sc:getFull(), sort_base = sortbase, }) end end end end if not categories[1] then error(("No categories generated for template [[Template:%s]] with category type '%s'"):format( full_template_name, category_type)) end return categories end --[==[ Main entry point. ]==] function export.categorize(frame) local params = { [1] = {}, -- comma-separated list of category types; by default, inferred from template name lang = {}, -- comma-separated list of languages; by default, inferred from template name ["pagename"] = {}, -- for testing ["json"] = {type = "boolean"}, -- for testing } local parent_args = frame:getParent().args args = require("Module:parameters").process(parent_args, params) local category_specs = {} local function insert_cat(cat, sort_key) for _, existing_cat in ipairs(category_specs) do if existing_cat.cat == cat then return end end insert(category_specs, {cat = cat, sort_key = sort_key}) end local pagename = args.pagename if not pagename then title = mw.title.getCurrentTitle() pagename = title.fullText end if pagename:find("/documentation$") or pagename:find("/documentation/") then return "" end if pagename:find("^Template:User:") then insert_cat("User sandbox templates", (pagename:gsub("^Template:User:", ""))) elseif pagename:find("^User:") then insert_cat("User sandbox templates", (pagename:gsub("^User:", ""))) else if not pagename:find("^Template:") then error(("This template should only be used in the Template namespace, not on page '%s'"):format(pagename)) end local full_template_name = pagename:gsub("^Template:", "") local rootpage = full_template_name:gsub("/.*", "") if full_template_name:find("/sandbox") then insert_cat("Sandbox templates", full_template_name) elseif full_template_name:find("^sandbox/") then insert_cat("Sandbox templates", full_template_name:gsub("^sandbox/", "")) else local template_objs if args.lang == "-" then template_objs = false elseif args.lang then template_objs = {} for _, code in ipairs(split(args.lang, ",")) do -- We need to have an indicator of families because we allow bare family codes to stand for proto-languages. if code:find("^fam:") then code = code:gsub("^fam:", "") local family = require("Module:families").getByCode(code) or error(("Unrecognized family code '%s' in [[Module:template cat]]"):format(code)) local descendants = family:getDescendantCodes() for _, desc in ipairs(descendants) do local obj = get_lang_or_script(desc) if obj then -- make sure we skip families without proto-languages insert(template_objs, obj) end end else local obj = get_lang_or_script(code) if not obj then error(("Unrecognized language or script code '%s'"):format(code)) end insert(template_objs, obj) end end end local cattypes if args[1] then cattypes = split_on_comma_and_split_off_sort_base(args[1]) end local inferred_obj, inferred_rest, inferred_cattype = infer_lang_or_script_code_and_category_type(rootpage) if template_objs == nil or not cattypes then if template_objs == nil then if not inferred_obj then if not inferred_cattype then error(("Unable to infer language or script from template root page '%s' for template '%s'; specify lang/script and type explicitly"):format( rootpage, pagename)) else error(("Unable to infer language or script from template root page '%s' for template '%s', inferred category type '%s'; specify lang/script explicitly"):format( rootpage, pagename, inferred_cattype)) end else template_objs = {inferred_obj} end end if not cattypes then inferred_cattype = inferred_cattype or template_name_minus_langcode_to_category_type(inferred_rest) if not inferred_cattype then error(("Unable to infer template category type from template remainder (after stripping langcode) '%s' for template '%s'; specify type explicitly"):format( inferred_rest, pagename)) end cattypes = {inferred_cattype} end end for _, cattype in ipairs(cattypes) do local cats = compute_categories_for_template(full_template_name, inferred_rest, cattype, template_objs) for _, cat in ipairs(cats) do insert(category_specs, cat) end end end end -- We are returning categories for templates or user-space pages, so we need to force the output. local retval = format_categories(category_specs, nil, nil, nil, "force_output") if args.json then return require("Module:JSON").toJSON { category_specs = category_specs, retval = mw.text.nowiki(retval), } else return retval end end --[==[Table used in the documentation to {{tl|template cat}}.]==] function export.pattern_to_category_type_table() local parts = {} local function ins(text) insert(parts, text) end ins('{|class="wikitable"') ins("! Pattern !! Inferred category type") for _, detect_spec in ipairs(detect_category_type_list) do local pattern, category_type = unpack(detect_spec) ins("|-") ins(("| <code>%s</code> || <code>%s</code>"):format(pattern, category_type)) end ins("|}") return concat(parts, "\n") end --[==[Table used in the documentation to {{tl|template cat}}.]==] function export.category_type_to_category_table() local parts = {} local function ins(text) insert(parts, text) end local category_types = {} local category_type_to_aliases = {} for _, category_type_to_category_spec in ipairs(category_type_to_category) do local category_type, props = unpack(category_type_to_category_spec) insert(category_types, category_type) category_type_to_aliases[category_type] = {} if props.aliases then for _, alias in ipairs(props.aliases) do insert(category_type_to_aliases[category_type], alias) end table.sort(category_type_to_aliases[category_type]) end end table.sort(category_types) local function get_category_type_categories(category_type) local cats = {} for _, catspec in ipairs(category_type_to_category_map[category_type].cats) do if type(catspec) == "string" then catspec = {name = catspec} end local cat = catspec.name if cat:find("^Category:") then insert(cats, ("<code>%s</code>"):format((cat:gsub("^Category:", "")))) elseif cat:find("^label:") then insert(cats, ("<code><var>LANG</var> %s</code>"):format((cat:gsub("^label:", "")))) else insert(cats, ("<code><var>LANG</var> %s templates</code>"):format(cat)) end end return concat(cats, ", ") end ins('{|class="wikitable"') ins("! Category type !! Canonical category type !! Categories") for _, category_type in ipairs(category_types) do ins("|-") ins(("| <code>'''%s'''</code> || ''(same)'' || <code>%s</code>"):format( category_type, get_category_type_categories(category_type))) for _, alias in ipairs(category_type_to_aliases[category_type]) do ins("|-") ins(("| <code>%s</code> || <code>'''%s'''</code> || <code>%s</code>"):format( alias, category_type, get_category_type_categories(category_type))) end end ins("|}") return concat(parts, "\n") end return export 33dgd2grqionii83906l7r69sspy2t1 Kategori:fa:Badan samawi 14 118622 342786 2026-05-16T10:33:33Z Hakimi97 2668 Hakimi97 telah memindahkan laman [[Kategori:fa:Badan samawi]] ke [[Kategori:fa:Jasad cakerawala]] 342786 wikitext text/x-wiki #LENCONG [[:Kategori:fa:Jasad cakerawala]] op76jz4o1vyf3z6gbcfwf49i7undj3r Kategori:ja:Sistem penulisan 14 118623 342792 2026-05-16T11:46:32Z Hakimi97 2668 Hakimi97 telah memindahkan laman [[Kategori:ja:Sistem penulisan]] ke [[Kategori:ja:Sistem tulisan]] 342792 wikitext text/x-wiki #LENCONG [[:Kategori:ja:Sistem tulisan]] 5ne57va7yfl7azr8tws76njlmk20m67