Wiksiyonaryo tlwiktionary https://tl.wiktionary.org/wiki/Wiksiyonaryo:Unang_Pahina MediaWiki 1.47.0-wmf.19 case-sensitive Midya Natatangi Usapan Tagagamit Usapang tagagamit Wiksiyonaryo Usapang Wiksiyonaryo Talaksan Usapang talaksan MediaWiki Usapang MediaWiki Padron Usapang padron Tulong Usapang tulong Kategorya Usapang kategorya TimedText TimedText talk Module Module talk Event Event talk Module:category tree/lexical properties 828 34560 177953 177448 2026-09-15T10:29:13Z Yivan000 4078 177953 Scribunto text/plain local labels = {} local raw_categories = {} local handlers = {} local raw_handlers = {} local insert = table.insert local ucfirst = require("Module:string utilities").ucfirst ----------------------------------------------------------------------------- -- -- -- LABELS -- -- -- ----------------------------------------------------------------------------- labels["na salita ayon sa katangiang leksikal"] = { --TLCHANGE --TLCHANGE description = "{{{langname}}} terms categorized by properties relating to spelling, pronunciation or meaning.", description = "Mga salitang {{{langname}}} na nakaayos ayon sa mga katangiang kaugnay sa pagbaybay, pagbigkas, o kahulugan.", umbrella_parents = "Pangkalahatan", --TLCHANGE "Fundamental" parents = {{name = "{{{langcat}}}", raw = true}}, english_name = "terms by lexical property", --TLCHANGE } labels["autohyponyms"] = { description = "{{{langname}}} terms that have at least two meanings, one of which is a hyponym of the other.", parents = {"na salita ayon sa katangiang leksikal"}, --TLCHANGE {"terms by lexical property"}, } labels["contranyms"] = { description = "{{{langname}}} terms that have two opposite meanings.", parents = {"na salita ayon sa katangiang leksikal"}, --TLCHANGE {"terms by lexical property"}, } labels["double negatives"] = { description = "{{{langname}}} terms which include a [[double negative]], either etymologically or in a definition.", parents = {"na salita ayon sa katangiang leksikal"}, --TLCHANGE {"terms by lexical property"}, } labels["heteronyms"] = { description = "{{{langname}}} terms that have different meanings depending on their etymology and/or on how they are pronounced.", parents = {"na salita ayon sa katangiang leksikal"}, --TLCHANGE {"terms by lexical property"}, } labels["nuqtaless forms"] = { description = "{{{langname}}} terms that are spelled without a [[nuqta]].", parents = {"na salita ayon sa katangiang ortograpiko"}, --TLCHANGE {"terms by orthographic property"}, } labels["unhamzated forms"] = { description = "{{{langname}}} terms that are spelled without a [[hamza]].", parents = {"na salita ayon sa katangiang ortograpiko"}, --TLCHANGE {"terms by orthographic property"}, } labels["palindromes"] = { description = "{{{langname}}} terms whose characters are read equally both from left to right and vice versa, normally ignoring spaces, [[diacritic]]s and punctuation.", parents = {"terms by their sequences of characters"}, } labels["pleonastic compounds"] = { description = "{{{langname}}} compound terms where the head is a hyponym of its other part and whose other part is its synonym.", parents = {"terms by lexical property", "compound terms"}, } labels["pleonastic compound adjectives"] = { description = "{{{langname}}} compound adjectives where the head is a hyponym of its other part and whose other part is its synonym.", breadcrumb = "adjectives", parents = {{name = "pleonastic compounds", sort = "adjectives"}, "compound adjectives"}, } labels["pleonastic compound nouns"] = { description = "{{{langname}}} compound nouns where the head is a hyponym of its other part and where the head is the synonym for the whole.", breadcrumb = "nouns", parents = {{name = "pleonastic compounds", sort = "nouns"}, "compound nouns"}, } labels["pronunciation spellings"] = { description = "{{{langname}}} terms spelled to represent a pronunciation, often a nonstandard one.", parents = {"na salita ayon sa katangiang ortograpiko"}, --TLCHANGE {"terms by orthographic property"}, } labels["tautophrases"] = { description = "{{{langname}}} phrases that repeat the same idea or concept using the same words.", parents = {"na salita ayon sa katangiang leksikal"}, --TLCHANGE {"terms by lexical property"}, } labels["na salita ayon sa katangiang ortograpiko"] = { --TLCHANGE --TLCHANGE description = "{{{langname}}} terms categorized by properties relating to [[orthography]] or [[spelling]].", description = "Mga salitang {{{langname}}} na iniayos ayon sa mga katangiang nauugnay sa [[ortograpiya]] o [[pagbaybay]].", parents = {{name = "na salita ayon sa katangiang leksikal", sort = "katangiang ortograpiko"}}, --TLCHANGE {"terms by lexical property"}, english_name = "terms by orthographic property", --TLCHANGE } labels["calculator words"] = { description = "{{{langname}}} terms that can be spelled on a [[seven-segment]] display, as found on pocket calculators, by turning numbers upside-down.", parents = {"na salita ayon sa katangiang ortograpiko"}, --TLCHANGE {"terms by orthographic property"}, } labels["words spelled without vowels"] = { description = "{{{langname}}} words spelled without vowels.", additional = "The letters counted as vowels may differ from language to language but typically include the conventional written vowels (''a'' ''e'' ''i'' ''o'' ''u'' ''y''), and may include other less common letters representing vowels (e.g. ''æ'', ''œ'', ''ø''). Terms in this category may contain vowel sounds in their pronunciation.", parents = {"terms by their sequences of characters"}, } labels["na salita ayon sa bilang ng titik"] = { --TLCHANGE --TLCHANGE description = "{{{langname}}} words categorized by number of letters.", description = "Mga salitang {{{langname}}} na nakaayos ayon sa bilang ng titik.", parents = {"na salita ayon sa katangiang ortograpiko"}, --TLCHANGE {"terms by orthographic property"}, english_name = "words by number of letters", --TLCHANGE } labels["abbreviations by number of letters"] = { description = "{{{langname}}} abbreviations categorized by number of letters.", parents = {"na salita ayon sa katangiang ortograpiko"}, --TLCHANGE {"terms by orthographic property"}, } labels["na ugat ayon sa bilang ng titik"] = { --TLCHANGE description = "{{{langname}}} {{lg|roots}} categorized by number of letters.", breadcrumb = "ayon sa bilang ng titik", --TLCHANGE "by number of letters" parents = { {name = "na ugat", sort = "bilang ng titik"}, --TLCHANGE {name = "roots", sort = "number of letters"}, "na salita ayon sa katangiang ortograpiko", --TLCHANGE "terms by orthographic property" }, english_name = "roots by number of letters", --TLCHANGE } labels["na ugat ayon sa hugis"] = { --TLCHANGE description = "{{{langname}}} {{lg|roots}} categorized by their shape.", breadcrumb = "ayon sa hugis", --TLCHANGE "by shape", parents = { {name = "na ugat", sort = "hugis"}, --TLCHANGE {name = "roots", sort = "shape"}, "na salita ayon sa katangiang leksikal" --TLCHANGE "terms by lexical property" }, english_name = "roots by shape", --TLCHANGE } labels["na salita ayon sa bilang ng pantig"] = { --TLCHANGE: "words by number of syllables" --TLCHANGE description = "{{{langname}}} words categorized by number of syllables.", description = "Mga salitang {{{langname}}} words na nakaayos ayon sa bilang ng pantig.", parents = {"na salita ayon sa katangiang ponemiko"}, --TLCHANGE "terms by phonemic property" english_name = "words by number of syllables", --TLCHANGE } labels["na salita ayon sa kanilang indibidwal na karakter"] = { --TLCHANGE description = "{{{langname}}} terms categorized by whether they include certain individual characters.", breadcrumb = "ayon sa kanilang indibidwal na karakter", --TLCHANGE "by their individual characters", parents = {"na salita ayon sa katangiang ortograpiko"}, --TLCHANGE {"terms by orthographic property"}, english_name = "terms by their individual characters", --TLCHANGE } labels["terms by their sequences of characters"] = { description = "{{{langname}}} terms categorized by whether they include certain sequences of characters.", breadcrumb = "by their sequences of characters", parents = {"na salita ayon sa katangiang ortograpiko"}, --TLCHANGE {"terms by orthographic property"}, } labels["terms with consecutive instances of the same letter"] = { description = "{{{langname}}} words categorized by the number of consecutive instances of the same letter they contain.", breadcrumb = "consecutive instances of the same letter", parents = {{name = "terms by orthographic property", sort = "consecutive instances of the same letter"}}, } labels["terms containing italics"] = { description = "{{{langname}}} terms containing [[italics]].", breadcrumb = "containing italics", parents = {{name = "terms by orthographic property", sort = "containing italics"}}, } labels["terms containing Roman numerals"] = { description = "{{{langname}}} terms containing [[Roman numeral]]s.", breadcrumb = "containing Roman numbers", parents = {{name = "terms by orthographic property", sort = "containing Roman numbers"}, {name = "terms spelled with numbers", sort = "Roman numerals"}}, } labels["terms with mixed convergence"] = { description = "{{{langname}}} terms where the spelling represents a variant pronunciation that differs from (one of) the current standard pronunciation(s).", breadcrumb = "with mixed convergence", parents = {{name = "terms by orthographic property", sort = "mixed convergence"}, "terms by phonemic property"}, } labels["na salitang may homofono"] = { --TLCHANGE description = "{{{langname}}} terms that have one or more [[homophones]]: other terms that are pronounced in the same way but spelled differently.", breadcrumb = "may homofono", --TLCHANGE "with homophones", parents = {{name = "na salita ayon sa katangiang leksikal", sort = "homofono"}}, --TLCHANGE {{name = "terms by lexical property", sort = "homophones"}}, english_name = "terms with homophones", --TLCHANGE } labels["terms with honorific transposition"] = { description = "{{{langname}}} compound terms where the written order of the elements is reversed due to [[honorific transposition]].", breadcrumb = "with honorific transposition", parents = {{name = "terms by orthographic property", sort = "honorific transposition"}}, } labels["terms where the adjective follows the noun"] = { description = "{{{langname}}} terms where the adjective follows the noun. These adjectives within these terms are sometimes referred to as postpositive or postnominal adjectives.", breadcrumb = "adjective follows the noun", parents = {{name = "terms by lexical property", sort = "adjective follows the noun"}}, } labels["na salitang sinulat sa banyagang katitikan"] = { --TLCHANGE description = "{{{langname}}} terms that are written in a different, non-native script.", breadcrumb = "sinulat sa banyagang katitikan", --TLCHANGE "written in foreign scripts" parents = {{name = "na salita ayon sa katangiang ortograpiko", sort = "sinulat sa banyagang katitikan"}}, --TLCHANGE {"terms by orthographic property"}, english_name= "terms written in foreign scripts", --TLCHANGE } labels["terms written in multiple scripts"] = { description = "{{{langname}}} terms that are written using more than one script.", breadcrumb = "written in multiple scripts", parents = {{name = "terms by orthographic property", sort = "written in multiple scripts"}}, } labels["na salita ayon sa katangiang ponemiko"] = { --TLCHANGE description = "{{{langname}}} terms categorized by properties relating to [[pronunciation]] and [[phonemics]].", parents = {{name = "na salita ayon sa katangiang leksikal", sort = "katangiang ponemiko"}}, --TLCHANGE {"terms by lexical property"}, english_name = "terms by phonemic property", --TLCHANGE } -- Add 'umbrella_parents' key if not already present. for _, data in pairs(labels) do if not data.umbrella_parents then data.umbrella_parents = "Subkategoryang pansalita ayon sa katangiang leksikal ayon sa wika" --TLCHANGE "Terms by lexical property subcategories by language" end end ----------------------------------------------------------------------------- -- -- -- RAW CATEGORIES -- -- -- ----------------------------------------------------------------------------- raw_categories["Subkategoryang pansalita ayon sa katangiang leksikal ayon sa wika"] = { --TLCHANGE breadcrumb = "subkategorya", --TLCHANGE "subcategories", description = "Umbrella categories covering topics related to terms categorized by their lexical properties, such as palindromes and number of letters or syllables in a word.", additional = "{{{umbrella_meta_msg}}}", parents = { {name = "na salita ayon sa katangiang leksikal", is_label = true, sort = " "}, --TLCHANGE "terms by lexical property" "Kataas-taasang kategorya", --TLCHANGE "Umbrella metacategories" }, english_name = "Terms by lexical property subcategories by language", --TLCHANGE } for _, v in ipairs{ --TLCHANGE params 3 and 4 are added for english_name, param 5 is for "pang-" {"salita", "titik", "words", "letters", "pansalita"}, {"daglat", "titik", "abbreviations", "letters", "pandaglat"}, {"ugat", "titik", "roots", "letters", "pang-ugat"}, {"salita", "pantig", "words", "syllables", "pansalita"} } do raw_categories[("Subkategoryang %s ayon sa bilang ng %s ayon sa wika"):format(v[5], v[2])] = { breadcrumb = "subkategorya", --TLCHANGE description = ("Umbrella categories covering topics related to %s categorized by their number of %s."):format(v[1], v[2]), additional = "{{{umbrella_meta_msg}}}", parents = { {name = ("na %s ayon sa bilang ng %s"):format(v[1], v[2]), is_label = true, sort = " "}, "Kataas-taasang kategorya", --TLCHANGE "Umbrella metacategories" }, english_name = ("%s by number of %s subcategories by language"):format(ucfirst(v[3]), v[4]) } end raw_categories["Terms with consecutive instances of the same letter subcategories by language"] = { breadcrumb = "subkategorya", --TLCHANGE "subcategories", description = "Umbrella categories covering topics related to terms categorized by the number of consecutive instances of the same letter they contain.", additional = "{{{umbrella_meta_msg}}}", parents = { {name = "terms with consecutive instances of the same letter", is_label = true, sort = " "}, "Kataas-taasang kategorya", --TLCHANGE "Umbrella metacategories" }, } raw_categories["Long words by language"] = { description = "Categories with terms that are longer than a given (per-language) threshold.", additional = "{{{umbrella_msg}}}", parents = { {name = "terms by lexical property", is_label = true, sort = " "}, }, } ----------------------------------------------------------------------------- -- -- -- HANDLERS -- -- -- ----------------------------------------------------------------------------- for _, v in ipairs{ --TLCHANGE params 5 is added in to remove the pang-angkop; params 6 & 7 are for the english_name; param 8 is with pang- {"salitang", "titik", "naglalaman ng", function(n) return ("They have meaning(s) other than their letter%s or the shape of their letter%s which are not abbreviations, numbers or symbols.") end, "salita", "words", "letter", "pansalita"}, {"daglat na", "titik", "naglalaman ng", nil, "daglat", "abbreviations", "letter", "pandaglat"}, {"ugat na", "titik", "naglalaman ng", nil, "ugat", "roots", "letter", "pang-ugat"}, {"salitang", "pantig", "ibinibigkas nang may", nil, "salita", "words", "syllable", "pansalita"} } do insert(handlers, function(data) local n = data.label:match(("^na %s may ([1-9]%%d*)%% %s$"):format(v[1], v[2])) if not n then return end local sortkey = require("Module:category tree").numeral_sortkey(n, 2097152) return { breadcrumb = n, description = ("Mga %s {{{langname}}} na %s %d %s."):format(v[1], v[3], n, v[2]), additional = v[4] and v[4](n) or nil, umbrella = { breadcrumb = ("%d %s"):format(n, v[2]), parents = {{name = ("Subkategoryang %s ayon sa bilang ng %s ayon sa wika"):format(v[8], v[2]), sort = sortkey}}, }, parents = {{name = ("na %s ayon sa bilang ng %s"):format(v[5], v[2]), sort = sortkey}}, english_name = ("%d-%s %s"):format(n, v[7], v[6]) } end) end insert(handlers, function(data) local n = data.label:match("^terms with ([1-9]%d*) consecutive instances of the same letter$") if not (n and tonumber(n) > 2) then return end local sortkey = require("Module:category tree").numeral_sortkey(n, 2097152) return { breadcrumb = n, description = ("{{{langname}}} terms containing %d consecutive instances of the same letter."):format(n), umbrella = { breadcrumb = ("%d consecutive instances"):format(n), parents = {{name = "Terms with consecutive instances of the same letter subcategories by language", sort = sortkey}}, }, parents = {{name = "terms with consecutive instances of the same letter", sort = sortkey}} } end) ----------------------------------------------------------------------------- -- -- -- RAW HANDLERS -- -- -- ----------------------------------------------------------------------------- insert(raw_handlers, function(data) local langname = data.category:match("^Long (.*) words$") if langname then local lang = require("Module:languages").getByCanonicalName(langname) if lang then local length_threshold = require("Module:headword/data").long_word_thresholds[lang:getCode()] if length_threshold then return { lang = lang:getCode(), description = "{{{langname}}} words that are " .. length_threshold .. " letters or longer.", parents = { {name = "terms by orthographic property", lang = lang:getCode(), is_label = true}, {name = "Long words by language"}, }, } end end end end) return {LABELS = labels, RAW_CATEGORIES = raw_categories, HANDLERS = handlers, RAW_HANDLERS = raw_handlers} 1to76h23i6g8ixajb20vypa75miax58 Module:eo-headword 828 35524 177944 171571 2026-09-15T09:59:25Z Yivan000 4078 177944 Scribunto text/plain local export = {} local pos_functions = {} local concat = table.concat local insert = table.insert local umatch = mw.ustring.match local PAGENAME = mw.title.getCurrentTitle().text local lang = require("Module:languages").getByCode("eo") local except = require("Module:eo-headword/exceptions") -- Verb stem must have at least two letters. local participle_pattern = "..([aio]n?t[aeo]j?n?)$" local function monosyllabic(word) return select(2, word:gsub("[AEIOUaeiou]", "")) == 1 end local function check(data, tracking_categories) local catname = "Esperanto nouns with red links in their headword lines" if data.pos_category == "adjectives" or data.pos_category == "determiners" or data.pos_category == "adjectival participles" then catname = "Esperanto adjectives with red links in their headword lines" end for _, entry in ipairs(data.check) do local t = mw.title.new(entry) if t and not t.exists then insert(tracking_categories, catname) end end end -- Determines which function in pos_functions should be used for a word in {{eo-head}}. local function getPOS(word) -- deal with some exceptions if except[word] then return except[word] elseif word:sub(1, 1) == "-" then return word:sub(-1) == "-" and "interfixes" or "prefixes" elseif word:sub(-1) == "-" then return "suffixes" end -- delete anything after "de" word = word:gsub(" de .+$", "") if word:find(" ", nil, true) then if word:match("o%f[%z%s]") and word:match("a%f[%z%s]") then return "nouns" end end -- deal with letters if word:match("^[aeiou]$") or umatch(word,"^[bcĉdfgĝhĥjĵklmnprsŝtŭvz]o$") then return "nouns" end -- deal with ordinals if word:match("^%d+%-?a$") then return "adjectives" elseif word:match("^%d+%-?aj?n?$") then return "adjective forms" end -- Words with only one vowel are always irregular if monosyllabic(word) then return nil elseif umatch(word, participle_pattern) then -- detect this first return "participles" end local ending = word:match("[aeiou][^aeiou]*$") if ending == "a" then return "adjectives" elseif ending == "aj" or ending == "an" or ending == "ajn" then return "adjective forms" elseif ending == "e" or ending == "en" then return "adverbs" elseif ending == "o" then return umatch(word, "^%u") and "proper nouns" or "nouns" elseif ending == "oj" or ending == "on" or ending == "ojn" then return umatch(word, "^%u") and "proper noun forms" or "noun forms" elseif ending == "i" then return "verbs" elseif ending:match("^[iaou]s$") or ending == "u" then return "verb forms" else return nil end end export.getPOS = getPOS -- The main entry point function export.show(frame) local tracking_categories = {} local parent_args = frame:getParent().args local poscat = parent_args["pos"] or frame.args["poscat"] or getPOS(PAGENAME) if not poscat then local namespace = mw.title.getCurrentTitle().namespace if namespace == 10 or namespace == 828 then poscat = "nouns" else error("Part of speech of \"" .. PAGENAME .. "\" cannot be automatically determined.") end else if poscat == "plurale tantum" then poscat = "pluralia tantum" elseif not (poscat == "pluralia tantum" or poscat:find("s$")) then poscat = poscat .. "s" -- Pluralize part of speech. end end local params = { ["head"] = {list = true}, ["pos"] = {}, ["suff"] = {type = "boolean"}, } if pos_functions[poscat] then for key, val in pairs(pos_functions[poscat].params) do params[key] = val end end local args = require("Module:parameters").process(parent_args, params) local data = {lang = lang, pos_category = poscat, categories = {}, heads = args["head"], genders = {}, inflections = {}, check = {}} if pos_functions[poscat] then pos_functions[poscat].func(args, data) end check(data, tracking_categories) return require("Module:headword").full_headword(data) .. require("Module:utilities").format_categories(tracking_categories, lang) end pos_functions["adjectives"] = { params = { }, func = function(args, data) insert(data.inflections, {label = "akusatibong isahan", accel = {form = "acc|s"}, PAGENAME .. "n"}) --TLCHANGE "accusative singular" insert(data.inflections, {label = "maramihan", accel = {form = "p"}, PAGENAME .. "j"}) --TLCHANGE "plural" insert(data.inflections, {label = "akusatibong maramihan", accel = {form = "acc|p"}, PAGENAME .. "jn"}) --TLCHANGE accusative plural insert(data.check, PAGENAME .. "n") insert(data.check, PAGENAME .. "j") insert(data.check, PAGENAME .. "jn") end } pos_functions["pang-uri"] = pos_functions["adjectives"] --TLCHANGE pos_functions["determiners"] = { params = { }, func = function(args, data) insert(data.inflections, {label = "akusatibong isahan", accel = {form = "acc|s"}, PAGENAME .. "n"}) --TLCHANGE accusative singular insert(data.inflections, {label = "maramihan", accel = {form = "p"}, PAGENAME .. "j"}) --TLCHANGE plural insert(data.inflections, {label = "akusatibong maramihan", accel = {form = "acc|p"}, PAGENAME .. "jn"}) --TLCHANGE accusative plural insert(data.check, PAGENAME .. "n") insert(data.check, PAGENAME .. "j") insert(data.check, PAGENAME .. "jn") end } pos_functions["nouns"] = { params = { [1] = {list = true, allow_holes = true}, }, func = function(args, data) -- Get the parameters local inflected_words_specified = false local inflected_words = {} for i = 1, args[1].maxindex do local word = args[1][i] if word == "+" or word == "-" then word = nil end if word then inflected_words[word] = true inflected_words_specified = true end end local pl = {} local acc = {} local acc_pl = {} -- Split multi-word terms for word in mw.text.gsplit(PAGENAME, " ", true) do local pos = getPOS(word) -- Inflect each word separately if (not inflected_words_specified or inflected_words[word]) and (pos == "adjectives" or pos == "nouns" or pos == "proper nouns") then local is_letter = "" if word:match("^[aeiou]$") or umatch(word,"^[bcĉdfgĝhĥjĵklmnprsŝtŭvz]o$")then is_letter = "-o" end insert(acc, word .. is_letter .. "n") insert(pl, word .. is_letter .. "j") insert(acc_pl, word .. is_letter .. "jn") else insert(acc, word) insert(pl, word) insert(acc_pl, word) end end -- Merge back together acc = concat(acc, " ") pl = concat(pl, " ") acc_pl = concat(acc_pl, " ") local acc2, pl2, acc_pl2 if PAGENAME == "sozo" then acc2 = "sozo-on" pl2 = "sozo-oj" acc_pl2 = "sozo-ojn" end if args[1][1] == "-" then insert(data.inflections, {label = "uncountable"}) insert(data.inflections, {label = "akusatibo", accel = {form = "acc"}, acc}) --TLCHANGE accusative insert(data.categories, lang:getCanonicalName() .. " na pangngalang di-pamilang") --TLCHANGE " uncountable nouns" insert(data.check, acc) else insert(data.inflections, {label = "akusatibong isahan", accel = {form = "acc|s"}, acc, acc2}) --TLCHANGE accusative singular insert(data.inflections, {label = "maramihan", accel = {form = "p"}, pl, pl2}) --TLCHANGE "plural" insert(data.inflections, {label = "akusatibong maramihan", accel = {form = "acc|p"}, acc_pl, acc_pl2}) --TLCHANGE accusative plural insert(data.check, acc) insert(data.check, pl) insert(data.check, acc_pl) end end } pos_functions["proper nouns"] = { params = { [1] = {list = true, allow_holes = true}, }, func = function(args, data) -- Get the parameters local inflected_words_specified = false local inflected_words = {} for i = 1, args[1].maxindex do local word = args[1][i] if word == "+" or word == "-" then word = nil end if word then inflected_words[word] = true inflected_words_specified = true end end local acc = {} local pl = {} local acc_pl = {} local de = false -- Split multi-word terms for word in mw.text.gsplit(PAGENAME, " ", true) do local pos = getPOS(word) if word == "de" then de = true end -- Inflect each word separately if (not inflected_words_specified or inflected_words[word]) and (pos == "adjectives" or pos == "nouns" or pos == "proper nouns" or word:match("[ao]j$") and not monosyllabic(word)) and not de then insert(acc, word .. "n") insert(pl, word .. "j") insert(acc_pl, word .. "jn") else insert(acc, word) insert(pl, word) insert(acc_pl, word) end end -- Merge back together acc = concat(acc, " ") pl = concat(pl, " ") acc_pl = concat(acc_pl, " ") if args[1][1] == "+" then insert(data.inflections, {label = "akusatibong isahan", accel = {form = "acc|s"}, acc}) --TLCHANGE accusative singular insert(data.inflections, {label = "maramihan", accel = {form = "p"}, pl}) --TLCHANGE "plural" insert(data.inflections, {label = "akusatibong maramihan", accel = {form = "acc|p"}, acc_pl}) --TLCHANGE accusative plural insert(data.check, acc) insert(data.check, pl) insert(data.check, acc_pl) else insert(data.inflections, {label = "akusatibo", accel = {form = "acc"}, acc}) --TLCHANGE accusative insert(data.check, acc) end end } pos_functions["verbs"] = { params = { }, func = function(args, data) local stem = PAGENAME:sub(1, -2) insert(data.inflections, {label = "present", accel = {form = "pres"}, stem .. "as"}) insert(data.inflections, {label = "past", accel = {form = "past"}, stem .. "is"}) insert(data.inflections, {label = "future", accel = {form = "futr"}, stem .. "os"}) insert(data.inflections, {label = "conditional", accel = {form = "cond"}, stem .. "us"}) insert(data.inflections, {label = "volitive", accel = {form = "voli"}, stem .. "u"}) end } pos_functions["noun forms"] = { params = { [1] = {}, }, func = function(args, data) if args[1] == "p" or args[1] == "p+" then insert(data.genders, "p") data.categories = {"Esperanto nouns", "Esperanto pluralia tantum"} insert(data.inflections, {label = "akusatibo", accel = {form = "acc"}, PAGENAME .. "n"}) --TLCHANGE accusative insert(data.check, PAGENAME .. "n") if args[1] == "p+" then local singular = PAGENAME:gsub("j$", "") insert(data.inflections, {label = "isahan", singular}) --TLCHANGE "singular" insert(data.check, singular) end end end } pos_functions["pluralia tantum"] = { params = { [1] = {}, }, func = function(args, data) data.pos_category = "nouns" insert(data.categories, 1, "Esperanto pluralia tantum") insert(data.inflections, {label = "akusatibo", accel = {form = "acc"}, PAGENAME .. "n"}) --TLCHANGE accusative insert(data.check, PAGENAME .. "n") if args[1] == "+" then local singular = PAGENAME:gsub("j$", "") insert(data.inflections, {label = "isahan", singular}) --TLCHANG "singular" insert(data.check, singular) end end } pos_functions["participles"] = { params = { [1] = {}, [2] = {}, --these will be phased out }, func = function(args, data) local ending = umatch(PAGENAME, participle_pattern) if ending then local vowel, consonant = ending:match("([aoe])(j?n?)$") if consonant == "" then if vowel == "a" or vowel == "o" then insert(data.inflections, {label = "akusatibong isahan", accel = {form = ending .. "n"}, PAGENAME .. "n"}) --TLCHANGE accusative singular insert(data.inflections, {label = "maramihan", accel = {form = ending .. "j"}, PAGENAME .. "j"}) --TLCHANGE "plural" insert(data.inflections, {label = "akusatibong maramihan", accel = {form = ending .. "jn"}, PAGENAME .. "jn"}) --TLCHANGE accusative plural insert(data.check, PAGENAME .. "n") insert(data.check, PAGENAME .. "j") insert(data.check, PAGENAME .. "jn") elseif vowel == "e" then data.categories = {"Esperanto adverbial participles"} end elseif vowel == "e" then error("-e" .. consonant .. " is not a valid participle ending!") end if vowel == "a" then data.categories = {"Esperanto adjectival participles"} elseif vowel == "o" then data.categories = {"Esperanto nominal participles"} end else error("This term is not a participle!") end end } return export hkpnz9yq2yy9hpetwsg8wwk4ytwp1yb Module:mk-headword 828 36567 177946 171407 2026-09-15T10:06:39Z Yivan000 4078 177946 Scribunto text/plain local export = {} local pos_functions = {} local lang = require("Module:languages").getByCode("mk") local langname = lang:getCanonicalName() local umatch = mw.ustring.match local function make_entry_name(head) return (lang:makeEntryName(require("Module:links").remove_links(head))) end local function glossary_link(entry, text) text = text or entry return "[[Appendix:Glossary#" .. entry .. "|" .. text .. "]]" end local function track(page) require("Module:debug").track("mk-headword/" .. page) return true end -- The main entry point. -- This is the only function that can be invoked from a template. function export.show(frame) local NAMESPACE = mw.title.getCurrentTitle().nsText local tracking_categories = {} local iparams = { [1] = {required = true}, ["def"] = true, ["suff_type"] = true, } local iargs = require("Module:parameters").process(frame.args, iparams) local args = frame:getParent().args local poscat = iargs[1] local def = iargs.def local suff_type = iargs.suff_type local postype = nil if suff_type then postype = poscat .. '-' .. suff_type else postype = poscat end local data = {lang = lang, categories = {}, heads = {}, genders = {}, inflections = {}} if poscat == "suffixes" then table.insert(data.categories, "Macedonian " .. suff_type .. "-forming suffixes") end if pos_functions[postype] then local new_poscat = pos_functions[postype](postype, def, args, data) if new_poscat then poscat = new_poscat end end for _, head in ipairs(data.heads) do if umatch(head, "[́̀ѐѝ]") then track("accents") end end if not poscat:match(" forms?$") then for _, head in ipairs(data.heads) do -- Don't trigger on prefixes, suffixes or reflexive verbs. if (head:find(" ", nil, true) or head:match(".%-.")) and not head:match("^се [^ ]+$") then table.insert(data.categories, "Macedonian multiword terms") break end end end for _, inflection_set in ipairs(data.inflections) do for _, inflection in ipairs(inflection_set) do local title = mw.title.new(make_entry_name(inflection)) if title and not title.exists then table.insert(tracking_categories, langname .. " " .. poscat .. " with red links in their headword lines") end end end data.pos_category = (NAMESPACE == "Reconstruction" and "reconstructed " or "") .. poscat return require("Module:headword").full_headword(data) .. require("Module:utilities").format_categories(tracking_categories, lang) end pos_functions["verbs"] = function(postype, def, args, data) local list = {list = true} local params = { ["head"] = list, [1] = true, ["pf"] = list, ["impf"] = list, ["dim"] = list, ["id"] = true, } local args = require("Module:parameters").process(args, params) local cats = {} data.heads = args.head data.id = args.id if args[1] == "pf" then data.genders = {"pf"} cats = {"perfective verbs"} elseif args[1] == "impf" then data.genders = {"impf"} cats = {"imperfective verbs"} elseif args[1] == "both" then data.genders = {"impf", "pf"} cats = {"biaspectual verbs", "imperfective verbs", "perfective verbs"} elseif args[1] == "?" or not args[1] then data.genders = {"?"} else error("Unrecognized aspect '" .. args[1] .. "'") end for _, cat in ipairs(cats) do table.insert(data.categories, "Macedonian " .. cat) end local pf = args.pf if #pf == 1 and pf[1] == "-" then table.insert(data.inflections, {label = "no perfective"}) elseif #pf > 0 then pf.label = "perfective" table.insert(data.inflections, pf) end local impf = args.impf if #impf == 1 and impf[1] == "-" then table.insert(data.inflections, {label = "no imperfective"}) elseif #impf > 0 then impf.label = "imperfective" table.insert(data.inflections, impf) end local dim = args.dim if #dim == 1 and dim[0] == "-" then table.insert(data.inflections, {label = "no diminutive"}) elseif #dim > 0 then dim.label = "diminutive" table.insert(data.inflections, dim) end data.gloss = "third-singular present" end local function nouns(pos, def, args, data) local list = {list = true} local params = { ["head"] = list, [1] = {list = "g"}, [2] = {list = "pl"}, [3] = {alias_of = "dim", list = false}, ["dim"] = list, ["m"] = list, ["f"] = list, ["adj"] = list, ["aug"] = list, ["voc"] = list, ["indecl"] = {type = "boolean"}, ["id"] = true, } local args = require("Module:parameters").process(args, params) data.heads = args.head local genders = {} local cat2 = nil for _, g in ipairs(args[1]) do if g == "m" or g == "m-p" then cat2 = "Masedonyo na pangngalang panlalaki" --TLCHANGE "Macedonian masculine nouns" elseif g == "f" or g == "f-p" then cat2 = "Masedonyo na pangngalang pambabae" --TLCHANGE "Macedonian feminine nouns" elseif g == "n" or g == "n-p" then cat2 = "Masedonyo na pangngalang pambalaki" --TLCHANGE "Macedonian neuter nouns" elseif g ~= "p" and g ~= "?" then error("Unrecognized gender: '" .. g .. "'") end if g == "m-p" or g == "f-p" or g == "n-p" or g == "p" then table.insert(data.categories, "Masedonyo na salitang tanging maramihan") --TLCHANGE "Macedonian pluralia tantum" end table.insert(genders, g) end if #genders == 0 then genders = {"?"} end if cat2 then table.insert(data.categories, cat2) end if #genders > 1 then table.insert(data.categories, "Macedonian nouns with multiple genders") end data.genders = genders if args.indecl then table.insert(data.inflections, {label = glossary_link("indeclinable")}) table.insert(data.categories, "Macedonian indeclinable nouns") end local pl = args[2] if #pl == 1 and pl[1] == "-" then table.insert(data.inflections, {label = glossary_link("di-pamilang")}) --TLCHANGE "uncountable" table.insert(data.categories, "Masedonyo na salitang tanging isahan") --TLCHANGE "Macedonian singularia tantum" elseif #pl > 0 then pl.label = "maramihan" --TLCHANGE "plural" pl.accel = {form = "indef|pl|;|voc|pl"} table.insert(data.inflections, pl) end local m = args.m if #m > 0 then m.label = "masculine" table.insert(data.inflections, m) end local f = args.f if #f > 0 then f.label = "feminine" table.insert(data.inflections, f) end local adj = args.adj if #adj > 0 then adj.label = "relational adjective" table.insert(data.inflections, adj) end local dim = args.dim if #dim == 1 and dim[0] == "-" then table.insert(data.inflections, {label = "no diminutive"}) elseif #dim > 0 then dim.label = "diminutive" table.insert(data.inflections, dim) end local aug = args.aug if #aug == 1 and aug[0] == "-" then table.insert(data.inflections, {label = "no augmentative"}) elseif #aug > 0 then aug.label = "augmentative" aug.accel = {form = "augmentative"} table.insert(data.inflections, aug) end local voc = args.voc if #voc == 1 and voc[0] == "-" then table.insert(data.inflections, {label = "no vocative"}) elseif #voc > 0 then voc.label = "vocative" table.insert(data.inflections, voc) end data.id = args.id end pos_functions["nouns"] = nouns pos_functions["proper nouns"] = nouns local function adverbs(pos, def, args, data) local params = { ["head"] = {list = true}, [1] = {list = "comp"}, [2] = {list = "sup"}, ["id"] = true, } local args = require("Module:parameters").process(args, params) data.heads = args.head local comp = args[1] if comp[1] == "-" then table.insert(data.inflections, {label = "not " .. glossary_link("comparable")}) else local head if #data.heads > 0 then head = make_entry_name(data.heads[1]) else head = mw.title.getCurrentTitle().text end if #comp == 0 then comp = {"по" .. head} end comp.label = "comparative" comp.accel = {form = "comparative"} table.insert(data.inflections, comp) local sup = args[2] if #sup == 0 then sup = {"нај" .. head} end sup.label = "superlative" sup.accel = {form = "superlative"} table.insert(data.inflections, sup) end data.id = args.id end pos_functions["adverbs"] = adverbs local function adjectives(pos, def, args, data) local list = {list = true} local params = { ["head"] = list, [1] = {list = "comp"}, [2] = {list = "sup"}, ["indecl"] = {type = "boolean"}, ["dim"] = list, ["adv"] = list, ["absn"] = list, ["id"] = true, } local args = require("Module:parameters").process(args, params) data.heads = args.head if args.indecl then table.insert(data.inflections, {label = glossary_link("indeclinable")}) table.insert(data.categories, "Macedonian indeclinable adjectives") end local comp = args[1] if comp[1] == "-" then table.insert(data.inflections, {label = "not " .. glossary_link("comparable")}) else local head if #data.heads > 0 then head = make_entry_name(data.heads[1]) else head = mw.title.getCurrentTitle().text end if #comp == 0 then comp = {"по" .. head} end comp.label = "comparative" comp.accel = {form = "indef|m|sg|comd"} table.insert(data.inflections, comp) local sup = args[2] if #sup == 0 then sup = {"нај" .. head} end sup.label = "superlative" sup.accel = {form = "indef|m|sg|supd"} table.insert(data.inflections, sup) end local dim = args.dim if #dim > 0 then dim.label = "diminutive" table.insert(data.inflections, dim) end local adv = args.adv if #adv > 0 then adv.label = "adverb" adv.accel = {form = "adverb"} table.insert(data.inflections, adv) end local absn = args.absn if #absn > 0 then absn.label = "abstract noun" table.insert(data.inflections, absn) end data.id = args.id end pos_functions["adjectives"] = adjectives pos_functions["determiners"] = adjectives pos_functions["pronouns"] = adjectives pos_functions["suffixes-adjective"] = function(postype, def, args, data) return adjectives("suffixes", def, args, data) end pos_functions["numerals-adjective"] = function(postype, def, args, data) return adjectives("numerals", def, args, data) end pos_functions["participles"] = function(pos, def, args, data) local params = { ["head"] = {list = true}, [1] = {required = true, list = true, default = "aor"}, ["id"] = true, } local args = require("Module:parameters").process(args, params) data.heads = args.head data.id = args.id table.insert(data.categories, "Macedonian verb forms") for _, part in ipairs(args[1]) do if part == "adv" then table.insert(data.categories, "Macedonian adverbial participles") elseif part == "aor" then table.insert(data.categories, "Macedonian past active aorist participles") elseif part == "impf" then table.insert(data.categories, "Macedonian past active imperfect participles") elseif part == "pres" then table.insert(data.categories, "Macedonian present active participles") elseif part == "pass" or part == "ppp" then table.insert(data.categories, "Macedonian past passive participles") elseif part == "prespass" then table.insert(data.categories, "Macedonian present passive participles") else error("Unrecognized participle type '" .. part .. "': Should be adv, aor, impf, pres, pass or prespass") end end end pos_functions["phrases"] = function(postype, def, args, data) local params = { ["head"] = {list = true, default = def}, ["id"] = true, } local args = require("Module:parameters").process(args, params) data.heads = args.head data.id = args.id end local function non_lemma_forms(postype, def, args, data) local params = { ["head"] = {list = true, default = def}, ["g"] = {list = true}, ["id"] = true, } local args = require("Module:parameters").process(args, params) data.heads = args.head data.genders = args.g data.id = args.id if postype == "participle forms" or postype == "verbal nouns" then table.insert(data.categories, "Macedonian verb forms") elseif postype == "verbal noun forms" then table.insert(data.categories, "Macedonian verb forms") return "noun forms" end end pos_functions["noun forms"] = non_lemma_forms pos_functions["proper noun forms"] = non_lemma_forms pos_functions["pronoun forms"] = non_lemma_forms pos_functions["verb forms"] = non_lemma_forms pos_functions["verbal nouns"] = non_lemma_forms pos_functions["verbal noun forms"] = non_lemma_forms pos_functions["adjective forms"] = non_lemma_forms pos_functions["participle forms"] = non_lemma_forms pos_functions["determiner forms"] = non_lemma_forms pos_functions["numeral forms"] = non_lemma_forms pos_functions["suffix forms"] = non_lemma_forms return export q5dwyylxf76pmpiubtvnal0ffbh2qtw Padron:mk-decl-noun-f-ј 10 37441 177947 175173 2026-09-15T10:07:09Z Yivan000 4078 enwikt parity 177947 wikitext text/x-wiki {{#invoke:checkparams|warn}}<!-- Validate template parameters -->{{mk-decl-noun-table{{#if:{{{n|}}}|-single}}<!-- -->|n={{{n|}}}<!-- -->|ind_sg={{#if:{{{1|}}}|{{{1}}}ја|{{pagename}}}}<!-- -->|def_unsp_sg={{#if:{{{1|}}}|{{{1}}}јата|{{pagename}}та}}<!-- -->|def_prox_sg={{#if:{{{1|}}}|{{{1}}}јава|{{pagename}}ва}}<!-- -->|def_dist_sg={{#if:{{{1|}}}|{{{1}}}јана|{{pagename}}на}}<!-- -->|voc_sg={{#if:{{{1|}}}|{{{1}}}јо|{{#invoke:string/templates|sub|s={{pagename}}|1|{{#expr:-1-1}}}}о}}<!-- -->|ind_pl={{#if:{{{1|}}}|{{{1}}}и|{{#invoke:string/templates|sub|s={{pagename}}|1|{{#expr:-2-1}}}}и}}<!-- -->|def_unsp_pl={{#if:{{{1|}}}|{{{1}}}ите|{{#invoke:string/templates|sub|s={{pagename}}|1|{{#expr:-2-1}}}}ите}}<!-- -->|def_prox_pl={{#if:{{{1|}}}|{{{1}}}иве|{{#invoke:string/templates|sub|s={{pagename}}|1|{{#expr:-2-1}}}}иве}}<!-- -->|def_dist_pl={{#if:{{{1|}}}|{{{1}}}ине|{{#invoke:string/templates|sub|s={{pagename}}|1|{{#expr:-2-1}}}}ине}}<!-- -->|voc_pl={{#if:{{{1|}}}|{{{1}}}и|{{#invoke:string/templates|sub|s={{pagename}}|1|{{#expr:-2-1}}}}и}}<!-- -->}}<!-- -->{{#if:{{{mf|}}}|{{catlangname|mk|masculine nouns with a feminine declension}}|}}<!-- -->{{#ifeq:{{{n|}}}|sg|{{catlangname|mk|singularia tantum}}|}}<!-- --><noinclude>{{documentation}}</noinclude> 9bhhzfxv0xgiustmiwhhs6de5jfyrny 177948 177947 2026-09-15T10:08:09Z Yivan000 4078 177948 wikitext text/x-wiki {{#invoke:checkparams|warn}}<!-- Validate template parameters -->{{mk-decl-noun-table{{#if:{{{n|}}}|-single}}<!-- -->|n={{{n|}}}<!-- -->|ind_sg={{#if:{{{1|}}}|{{{1}}}ја|{{pagename}}}}<!-- -->|def_unsp_sg={{#if:{{{1|}}}|{{{1}}}јата|{{pagename}}та}}<!-- -->|def_prox_sg={{#if:{{{1|}}}|{{{1}}}јава|{{pagename}}ва}}<!-- -->|def_dist_sg={{#if:{{{1|}}}|{{{1}}}јана|{{pagename}}на}}<!-- -->|voc_sg={{#if:{{{1|}}}|{{{1}}}јо|{{#invoke:string/templates|sub|s={{pagename}}|1|{{#expr:-1-1}}}}о}}<!-- -->|ind_pl={{#if:{{{1|}}}|{{{1}}}и|{{#invoke:string/templates|sub|s={{pagename}}|1|{{#expr:-2-1}}}}и}}<!-- -->|def_unsp_pl={{#if:{{{1|}}}|{{{1}}}ите|{{#invoke:string/templates|sub|s={{pagename}}|1|{{#expr:-2-1}}}}ите}}<!-- -->|def_prox_pl={{#if:{{{1|}}}|{{{1}}}иве|{{#invoke:string/templates|sub|s={{pagename}}|1|{{#expr:-2-1}}}}иве}}<!-- -->|def_dist_pl={{#if:{{{1|}}}|{{{1}}}ине|{{#invoke:string/templates|sub|s={{pagename}}|1|{{#expr:-2-1}}}}ине}}<!-- -->|voc_pl={{#if:{{{1|}}}|{{{1}}}и|{{#invoke:string/templates|sub|s={{pagename}}|1|{{#expr:-2-1}}}}и}}<!-- -->}}<!-- -->{{#if:{{{mf|}}}|{{catlangname|mk|masculine nouns with a feminine declension}}|}}<!-- -->{{#ifeq:{{{n|}}}|sg|{{catlangname|mk|salitang tanging isahan}}|}}<!--TLCHANGE singularia tantum --><noinclude>{{documentation}}</noinclude> qax8naq1i09opfyf1xrvlgio98xpzoo ŝvito 0 38812 177942 2026-09-14T16:36:28Z Balamax 860 Nilikha ang pahina na may '=={{=eo=}}== {{wikipedia|lang=eo}} ===Etimolohiya=== Mula {{bor|eo|de|schwitzen|t=magpawis}}. ===Pagbigkas=== {{eo-pr|a=LL-Q143 (epo)-Lepticed7-ŝvito.wav}} ===Pangngalan=== {{eo-head}} # [[pawis]] [[kategorya:Mga pangngalang Esperanto]]' 177942 wikitext text/x-wiki =={{=eo=}}== {{wikipedia|lang=eo}} ===Etimolohiya=== Mula {{bor|eo|de|schwitzen|t=magpawis}}. ===Pagbigkas=== {{eo-pr|a=LL-Q143 (epo)-Lepticed7-ŝvito.wav}} ===Pangngalan=== {{eo-head}} # [[pawis]] [[kategorya:Mga pangngalang Esperanto]] jz15uir4lqxexcbble5fqwapcnqaclt 177943 177942 2026-09-15T09:57:24Z Yivan000 4078 177943 wikitext text/x-wiki =={{=eo=}}== {{wikipedia|lang=eo}} ===Etimolohiya=== Mula {{bor|eo|de|schwitzen|t=magpawis}}. ===Pagbigkas=== {{eo-pr|a=LL-Q143 (epo)-Lepticed7-ŝvito.wav}} ===Pangngalan=== {{eo-head|-}} # [[pawis]] cu0vj6u3pu9862lgrsyldbtmdbuj4a6 Kategorya:Esperanto na pangngalang di-pamilang 14 38813 177945 2026-09-15T09:59:38Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177945 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Masedonyo na salitang tanging isahan 14 38814 177949 2026-09-15T10:12:18Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177949 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Salitang tanging isahan ayon sa wika 14 38815 177950 2026-09-15T10:12:45Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177950 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Masedonyo na pangngalang pambabae 14 38816 177951 2026-09-15T10:15:14Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177951 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Masedonyo na pangngalan ayon sa kasarian 14 38817 177952 2026-09-15T10:18:25Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177952 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Masedonyo na salitang may 6 pantig 14 38818 177954 2026-09-15T10:31:46Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177954 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Masedonyo na salita ayon sa bilang ng pantig 14 38819 177955 2026-09-15T10:32:28Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177955 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Masedonyo na salita ayon sa katangiang ponemiko 14 38820 177956 2026-09-15T10:32:31Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177956 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx Kategorya:Masedonyo na salita ayon sa katangiang leksikal 14 38821 177957 2026-09-15T10:32:36Z Yivan000 4078 Nilikha ang pahina na may '{{auto cat}}' 177957 wikitext text/x-wiki {{auto cat}} eomzlm5v4j7ond1phrju7cnue91g5qx