Wiktionary kywiktionary https://ky.wiktionary.org/wiki/%D0%91%D0%B0%D1%88%D0%BA%D1%8B_%D0%B1%D0%B0%D1%80%D0%B0%D0%BA MediaWiki 1.47.0-wmf.1 case-sensitive Медиа Атайын Талкуу Колдонуучу Колдонуучунун баарлашуулары Wiktionary Wiktionary талкуулоо Файл Файлды талкуулоо МедиаВики МедиаВикини талкуулоо Калып Калыпты талкуулоо Жардам Жардамды талкуулоо Категория Категорияны талкуулоо TimedText TimedText talk Модуль Модулду талкуулоо Event Event talk Модуль:module categorization 828 83584 204279 201443 2026-05-09T20:36:42Z Dalmo Pereira 1518 204279 Scribunto text/plain local export = {} local put_module = "Module:parse utilities" local rsplit = mw.text.split local rfind = mw.ustring.find local unpack = unpack or table.unpack -- Lua 5.2 compatibility local keyword_to_module_type = { common = "Language-specific utility", utilities = "Language-specific utility", headword = "Headword-line", translit = "Transliteration", infl = "Inflection", inflection = "Inflection", decl = "Inflection", declension = "Inflection", adecl = "Inflection", conj = "Inflection", conjugation = "Inflection", noun = "Inflection", nouns = "Inflection", pronoun = "Inflection", pronouns = "Inflection", verb = "Inflection", verbs = "Inflection", adjective = "Inflection", adjectives = "Inflection", adj = "Inflection", nominal = "Inflection", nominals = "Inflection", pron = "Pronunciation", pronun = "Pronunciation", pronunc = "Pronunciation", pronunciation = "Pronunciation", IPA = "Pronunciation", stripdiacritics = "Diacritic-stripping", sortkey = "Sortkey-generating", } -- If a module type is here, we will generate a lang-specific module-type category such as -- [[:Category:Pali inflection modules]]. local module_type_generates_lang_specific_cat = { ["Inflection"] = true, ["Data"] = true, ["Testcase"] = true, } -- If a module type is here, we will generate a lang-specific module-type category such as -- [[:Category:Pali inflection modules]]. The value is a module that returns a function that fetches all the -- languages that use a given module for transliteration/diacritic-stripping/sortkey generation. local languages_from_module_name = { ["Transliteration"] = "Module:languages/byTranslitModule", ["Transliteration testcase"] = "Module:languages/byTranslitModule", ["Diacritic-stripping"] = "Module:languages/byStripDiacriticsModule", ["Sortkey-generating"] = "Module:languages/bySortkeyModule", } local module_type_patterns = { {"/data%f[-/%z]", "Data"}, {"/testcases%f[-/%z]", function(typ) if typ == "Pronunciation" then return "Pronunciation testcase" elseif typ == "Transliteration" then return "Transliteration testcase" else return "Testcase" end end}, } -- Split an argument on comma, but not comma followed by whitespace. local function split_on_comma(val) if val:find(",%s") then return require(put_module).split_on_comma(val) else return rsplit(val, ",") end 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 infer_lang_or_script_code(name) local hyphen_parts = rsplit(name, "%-") for i = #hyphen_parts - 1, 1, -1 do local code = table.concat(hyphen_parts, "-", 1, i) local obj = get_lang_or_script(code) if obj then local rest = table.concat(hyphen_parts, "-", i + 1) return obj, rest end end return nil, nil end local function infer_lang_and_script_codes(name) local objs = {} while true do local obj, rest = infer_lang_or_script_code(name) if not obj then return objs, name end if #objs > 0 and obj:getCode() == "to" then -- skip 'to' in e.g. [[Module:ks-Arab-to-Deva-translit]]; it's not Tongan else table.insert(objs, obj) end name = rest end end --[==[ Main entry point. Can be called from Lua or another module. `return_raw` set to true makes function return a table of categories with {"[[Category:"} and {"]]"} stripped away. It is used by [[Module:documentation]]. ]==] function export.categorize(frame, return_raw, noerror) local categories = {} local function insert_cat(cat, sortkey) for _, existing_cat in ipairs(categories) do if existing_cat.name == cat then return end end table.insert(categories, {name = cat, sort = sortkey}) end local pagename if frame.args[1] then pagename = frame.args[1] end local args if frame.args.is_template then local params = { [1] = {}, -- comma-separated list of languages; by default, inferred from module name ["type"] = {}, [2] = {alias_of = "type"}, ["pagename"] = {}, -- for testing ["return_cats"] = {type = "boolean"}, -- for testing } local parent_args = frame:getParent().args args = require("Module:parameters").process(parent_args, params) else args = {} end pagename = pagename or args.pagename local title if pagename then title = mw.title.new(pagename, 'Module') else title = mw.title.getCurrentTitle() -- Fuckme, sometimes this function is called with a faked frame and a title with the namespace already chopped out, -- so this test cannot be done in that case. if title.nsText ~= "Module" then error(("This template should only be used in the Module namespace, not on page '%s'."):format(title.fullText)) end pagename = title.fullText end local subpage = title.subpageText local null_return_value = return_raw and {} or "" -- To ensure no categories are added on documentation pages. if subpage == "documentation" then return null_return_value end local root_pagename if subpage ~= pagename then root_pagename = title.rootText else root_pagename = pagename end root_pagename = root_pagename:gsub("^Module:", "") -- Take the module type(s) from type= if given, or infer from the pagename. local module_types if args.type then module_types = {} local module_type_specs = split_on_comma(args.type) for _, spec in ipairs(module_type_specs) do local modtype, sortkey = spec:match("^(.-):(.*)$") modtype = modtype or spec sortkey = sortkey and sortkey:gsub("_", " ") or nil table.insert(module_types, {type = modtype, sort = sortkey}) end else local module_type_keyword = root_pagename:match("[-%a]+[- ]([^/]+)%f[/%z]") if not module_type_keyword then if noerror then return null_return_value else error(("Could not extract module type from root pagename '%s'"):format(root_pagename)) end end local module_type = keyword_to_module_type[module_type_keyword] if not module_type then if noerror then return null_return_value else error(("Did not recognize inferred module-type keyword '%s' from root pagename '%s'"):format( module_type_keyword, root_pagename)) end end module_types = {{type = module_type}} end -- Look for additional module type(s) inferred by pattern. for _, pattern_spec in ipairs(module_type_patterns) do local pattern, inferred_type = unpack(pattern_spec) if rfind(pagename, pattern) then local function insert_module_type(typ) require("Module:table").insertIfNot(module_types, typ, {key = function(obj) return obj.type end}) end if type(inferred_type) == "string" then insert_module_type({type = inferred_type}) else local addl_types = {} for _, typ in ipairs(module_types) do table.insert(addl_types, {type = inferred_type(typ.type), sort = typ.sort}) end for _, typ in ipairs(addl_types) do insert_module_type(typ) end end end end -- If 1= specified, take the languages/scripts directly from there. Otherwise, (a) try to extract one or more -- languages/scripts from the pagename (e.g. [[Module:uk-be-headword]] -> Ukrainian and Belarusian (languages); -- [[Module:bho-Kthi-translit]] -> Bhojpuri (language) and Kaithi (script); [[Module:Deva-Kthi-translit]] -> -- Devanagari and Kaithi (scripts)); and (b) if the specified or inferred module type(s) contain a type listed in -- languages_from_module_name[], use the function referenced there to extract additional languages (i.e. all the -- languages that use the module we are processing). local inferred_objs if args[1] then inferred_objs = {} for _, code in ipairs(rsplit(args[1], ",")) 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:module categorization]]"):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 table.insert(inferred_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 table.insert(inferred_objs, obj) end end else inferred_objs = infer_lang_and_script_codes(root_pagename) for _, module_type in ipairs(module_types) do local languages_extractor = languages_from_module_name[module_type.type] if languages_extractor then local langs = require(languages_extractor)(root_pagename) if langs then for _, obj in ipairs(langs) do require("Module:table").insertIfNot(inferred_objs, obj, {key = obj_code}) end end end end if #inferred_objs == 0 then if noerror then return null_return_value else error(("Could not infer any languages or scripts from root pagename '%s'"):format(root_pagename)) end end end if pagename:find("^Module:User:") then insert_cat("User sandbox modules") elseif pagename:find("/sandbox") then insert_cat("Sandbox modules") else for _, module_type in ipairs(module_types) do for _, obj in ipairs(inferred_objs) do local function insert_overall_module_type_cat(sortkey) if module_type.type ~= "-" then insert_cat(module_type.type .. " modules", module_type.sort or sortkey) end end if obj == "-" then insert_overall_module_type_cat() else if obj:hasType("script") and module_type.type ~= "-" then insert_cat(module_type.type .. " modules by script", obj:getCanonicalName()) end local function construct_lang_or_sc_cat(obj, suffix) local prefix if obj:hasType("language") then prefix = obj:getFullName() else prefix = obj:getCategoryName() end return prefix .. " " .. suffix end insert_cat(construct_lang_or_sc_cat(obj, "modules"), module_type.type) insert_overall_module_type_cat(obj:getCanonicalName()) if module_type_generates_lang_specific_cat[module_type.type] then insert_cat(construct_lang_or_sc_cat(obj, mw.getContentLanguage():lcfirst(module_type.type) .. " modules")) end end end end end for i, catspec in ipairs(categories) do if catspec.sort then categories[i] = ("%s|%s"):format(catspec.name, catspec.sort) else categories[i] = catspec.name end end if args.return_cats then return table.concat(categories, ",") elseif return_raw then return categories else for i, cat in ipairs(categories) do categories[i] = "[[Category:" .. cat .. "]]" end return table.concat(categories) end end --[==[Table used in the documentation to {{tl|module cat}}.]==] function export.keyword_to_module_type_table() local parts = {} local function ins(text) table.insert(parts, text) end ins('{|class="wikitable"') ins("! Keyword !! Inferred module type") local keywords = {} for k, v in pairs(keyword_to_module_type) do table.insert(keywords, k) end table.sort(keywords) for _, keyword in ipairs(keywords) do ins("|-") ins(("| <code>%s</code> || <code>%s</code>"):format(keyword, keyword_to_module_type[keyword])) end ins("|}") return table.concat(parts, "\n") end return export 49kgokr598jhf8kb74maya3v6r032gc Модуль:Unicode data/templates/doc 828 84128 204276 196041 2026-05-09T20:07:03Z Dalmo Pereira 1518 204276 wikitext text/x-wiki Бул модуль [[Модуль:Unicode data]] бөлүмүндөгү айрым функцияларды шаблондордо колдонуунун жолдорун камсыз кылат. ==Функциялар== ; <code>lookup</code>, <code>is</code> : Call one the functions starting with <code>lookup</code> and <code>is</code>. Replace the first underscore in the function name with a pipe, and add the code point in hexadecimal base, or a bit of text, for <code>is_valid_pagename</code>, as the next parameter. For example, {{temp|#invoke:Unicode data/templates|lookup|name|61}} &rarr; {{#invoke:Unicode data/templates|lookup|name|61}}; {{temp|#invoke:Unicode data/templates|is|valid_pagename|#}} &rarr; {{#invoke:Unicode data/templates|is|valid_pagename|#}}. ; <code>has_aliases</code> : Returns <code>true</code> if a code point has data in [[Module:Unicode data/aliases]], <code>false</code> otherwise. Used in [[Template:character info/save memory]]. For instance, for the space character (U+0020), {{temp|#invoke:Unicode data/templates|has_aliases|20}} &rarr; {{#invoke:Unicode data/templates|has_aliases|20}}. gnadhxyvxwrh25exjv8wrzkxje7gxwb шарнир 0 88032 204270 2026-05-09T19:43:12Z Dalmo Pereira 1518 Жаңы барак: "‎{{-ky-}} шарнир *{{en}}: [[hinge]] *{{pt}}: [[dobradiça]]" 204270 wikitext text/x-wiki {{-ky-}} шарнир *{{en}}: [[hinge]] *{{pt}}: [[dobradiça]] 4rnz4l4vl46g64f683gtq7rs6kpex8u dobradiça 0 88033 204271 2026-05-09T19:43:37Z Dalmo Pereira 1518 Жаңы барак: "‎{{-pt-}} [[шарнир]]" 204271 wikitext text/x-wiki {{-pt-}} [[шарнир]] tn9go32ejgy0xe960m9okbadf79w825 hinge 0 88034 204272 2026-05-09T19:43:46Z Dalmo Pereira 1518 Жаңы барак: "‎{{-en-}} [[шарнир]]" 204272 wikitext text/x-wiki {{-en-}} [[шарнир]] jmp81u1vt9l0jbrfrk5qsygbxsjb7j6 qazaq 0 88035 204273 2026-05-09T19:49:26Z Dalmo Pereira 1518 Жаңы барак: "‎{{-az-}} [[казак]]" 204273 wikitext text/x-wiki {{-az-}} [[казак]] slwmd43qhu6p35inpirp37edtxw40lh ырксыздык 0 88036 204274 2026-05-09T19:50:34Z Dalmo Pereira 1518 Жаңы барак: "‎{{-ky-}} {{PAGENAME}}" 204274 wikitext text/x-wiki {{-ky-}} {{PAGENAME}} el2at9pqtd4ll22u9qqgwzpktnb8fg0 Модуль:Unicode data/datasets 828 88037 204275 2026-05-09T20:05:26Z Dalmo Pereira 1518 Жаңы барак: "‎local export = {} --[==[ Fetches a data set from Wikimedia Commons by the name `dataset_name`, parses it as a Unicode character key-value table, and returns that table. The table is assumed to have at least two fields with the `name` fields set to `key` and `value`. Both values are expected to be strings. The key string is parsed as a hexadecimal numeric literal (e.g. `0x1234`) and converted into a number. The table returned will then have numbers as the keys an..." 204275 Scribunto text/plain local export = {} --[==[ Fetches a data set from Wikimedia Commons by the name `dataset_name`, parses it as a Unicode character key-value table, and returns that table. The table is assumed to have at least two fields with the `name` fields set to `key` and `value`. Both values are expected to be strings. The key string is parsed as a hexadecimal numeric literal (e.g. `0x1234`) and converted into a number. The table returned will then have numbers as the keys and strings as the values.]==] function export.dataset(dataset_name) local dataset = mw.ext.data.get(dataset_name) if not dataset then error("Dataset " .. dataset_name .. " not found") end -- Check schema. local charcode_index = nil local value_index = nil for index, field in ipairs(dataset.schema.fields) do local field_name_lower = field.name:lower() if field_name_lower:find("key") and field.type == "string" then charcode_index = index elseif field_name_lower:find("value") and field.type == "string" then value_index = index end end if not charcode_index then error("Character code field (name='key', type='string') not found in data schema.") end if not value_index then error("Value field (name='value', type='string') not found in data schema.") end -- Extract values from dataset data. local result = {} for _, item in ipairs(dataset.data) do result[tonumber(item[charcode_index])] = item[value_index] end return result end return export ih0vbqsob2atwj1o5cgg418rwdak751 Модуль:ky-person/doc 828 88038 204277 2026-05-09T20:15:58Z Dalmo Pereira 1518 Жаңы барак: "‎кыргыз эли" 204277 wikitext text/x-wiki кыргыз эли 9pawgztkfeqhsmp99od0v8f92wpes8m Модуль:эфа/doc 828 88039 204278 2026-05-09T20:26:46Z Dalmo Pereira 1518 Жаңы барак: "‎<div style="float: right; width: 18em; margin: 0 0 1em 0.5em; border: 1px solid var(--wikt-palette-grey-7,darkgray); padding: 0.5em;> <inputbox> type=fulltext prefix=Module:IPA searchbuttonlabel=Search the various IPA modules </inputbox> </div> Маалыматтар [[Модуль:IPA/data]], [[Модуль:IPA/data/symbols]] жана [[Модуль:IPA/data/X-SAMPA]] папкаларында жайгашкан. == Толук документтештирүү ==..." 204278 wikitext text/x-wiki <div style="float: right; width: 18em; margin: 0 0 1em 0.5em; border: 1px solid var(--wikt-palette-grey-7,darkgray); padding: 0.5em;> <inputbox> type=fulltext prefix=Module:IPA searchbuttonlabel=Search the various IPA modules </inputbox> </div> Маалыматтар [[Модуль:IPA/data]], [[Модуль:IPA/data/symbols]] жана [[Модуль:IPA/data/X-SAMPA]] папкаларында жайгашкан. == Толук документтештирүү == {{module documentation|section_level=3|identifier=^export}} == Көзөмөлдөө == [[Модуль:IPA/tracking]] субмодулу берилген тилдин IPA транскрипцияларында колдонулган белгилүү бир символдорду көзөмөлдөөгө мүмкүндүк берет: мисалы, англис транскрипцияларындагы {{IPAChar|⟨r⟩}} трилл символу. Тилдердин тизмеси жана көзөмөлдөө шарттары үчүн ал жакка өтүңүз. == Бирдиктүү тесттер == : ''Ошондой эле караңыз: [[Module:IPA/testcases]]'' {{module cat|-|Pronunciation}} jk8voviajtf15v5q2tw880cxeg8ipy4 204281 204278 2026-05-09T20:40:44Z Dalmo Pereira 1518 204281 wikitext text/x-wiki <div style="float: right; width: 18em; margin: 0 0 1em 0.5em; border: 1px solid var(--wikt-palette-grey-7,darkgray); padding: 0.5em;> <inputbox> type=fulltext prefix=Module:IPA searchbuttonlabel=Search the various IPA modules </inputbox> </div> Маалыматтар [[Модуль:IPA/data]], [[Модуль:IPA/data/symbols]] жана [[Модуль:IPA/data/X-SAMPA]] папкаларында жайгашкан. == Толук документтештирүү == {{module documentation|section_level=3|identifier=^export}} == Көзөмөлдөө == [[Модуль:IPA/tracking]] субмодулу берилген тилдин IPA транскрипцияларында колдонулган белгилүү бир символдорду көзөмөлдөөгө мүмкүндүк берет: мисалы, англис транскрипцияларындагы {{IPAChar|⟨r⟩}} трилл символу. Тилдердин тизмеси жана көзөмөлдөө шарттары үчүн ал жакка өтүңүз. == Бирдиктүү тесттер == : ''Ошондой эле караңыз: [[Module:IPA/testcases]]'' bf2kpq3cv8qf4ueeftscw5ipn9wu77q Модуль:namespace/doc 828 88040 204280 2026-05-09T20:40:25Z Dalmo Pereira 1518 Жаңы барак: "‎Шаблондорго [[mw:Extension:Scribunto/Lua_reference_manual#mw.site.namespaces|<code>mw.site.namespaces</code>]] дарегинен аталыш мейкиндиктери жөнүндө маалыматка кирүүгө мүмкүндүк берет. Аталыш мейкиндиктерине аталыш же id (номер) аркылуу кирүүгө болот. Буль касиеттери эгер <code>чын</code> болсо <code>1</code>..." 204280 wikitext text/x-wiki Шаблондорго [[mw:Extension:Scribunto/Lua_reference_manual#mw.site.namespaces|<code>mw.site.namespaces</code>]] дарегинен аталыш мейкиндиктери жөнүндө маалыматка кирүүгө мүмкүндүк берет. Аталыш мейкиндиктерине аталыш же id (номер) аркылуу кирүүгө болот. Буль касиеттери эгер <code>чын</code> болсо <code>1</code> га айландырылат, болбосо бош сап, аларды {{temp|#if:}} мейкиндигинде колдонууга болот. * {{temp|#invoke:namespace|info|0|isCapitalized}} →&nbsp;<code>{{#invoke:namespace|info|0|isCapitalized}}</code> * {{temp|#invoke:namespace|info|mediawiki|isCapitalized}} →&nbsp;<code>{{#invoke:namespace|info|mediawiki|isCapitalized}}</code> * {{temp|#invoke:namespace|info|mediawiki|isContent}} →&nbsp;<code>{{#invoke:namespace|info|mediawiki|isContent}}</code> qc13mhoazkbyschpqqi5icf2zltm8z1 келишпөө 0 88041 204282 2026-05-09T20:45:20Z Dalmo Pereira 1518 Жаңы барак: "‎{{-ky-}} {{PAGENAME}}" 204282 wikitext text/x-wiki {{-ky-}} {{PAGENAME}} el2at9pqtd4ll22u9qqgwzpktnb8fg0 Калып:main other 10 88042 204283 2026-05-10T00:31:15Z Dalmo Pereira 1518 Жаңы барак: "‎{{#switch: <!--If no or empty "demospace" parameter then detect namespace--> {{#if:{{{demospace|}}} | {{lc: {{{demospace}}} }} <!--Use lower case "demospace"--> | {{#ifeq:{{NAMESPACE}}|{{ns:0}} | main | other }} }} | main = {{{1|}}} | other | #default = {{{2|}}} }}<noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude>" 204283 wikitext text/x-wiki {{#switch: <!--If no or empty "demospace" parameter then detect namespace--> {{#if:{{{demospace|}}} | {{lc: {{{demospace}}} }} <!--Use lower case "demospace"--> | {{#ifeq:{{NAMESPACE}}|{{ns:0}} | main | other }} }} | main = {{{1|}}} | other | #default = {{{2|}}} }}<noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> ngt28vb1n5t4bh1su57btnqyofkd1d5