ဝိစ်သိဉ်နရီ
blkwiktionary
https://blk.wiktionary.org/wiki/%E1%80%A1%E1%80%93%E1%80%AD%E1%80%80%E1%80%9C%E1%80%AD%E1%80%90%E1%80%BA%E1%80%99%E1%80%B2%E1%80%B7%E1%80%84%E1%80%AB
MediaWiki 1.45.0-wmf.6
case-sensitive
မီဒီယာ
တဲးဝါး
အိုင်ကိုမ်ဒေါ့ꩻရီ
ကေားသုင်ꩻသား
ကေားသုင်ꩻသား အိုင်ကိုမ်ဒေါ့ꩻရီ
ဝိစ်သိဉ်နရီ
ဝိစ်သိဉ်နရီ အိုင်ကိုမ်ဒေါ့ꩻရီ
ဖုဲင်
ဖုဲင် အိုင်ကိုမ်ဒေါ့ꩻရီ
မီဒီယာဝီခီ
မီဒီယာဝီခီ အိုင်ကိုမ်ဒေါ့ꩻရီ
တမ်းပလေက်
တမ်းပလေက် အိုင်ကိုမ်ဒေါ့ꩻရီ
စွဲးကမ်းကို
စွဲးကမ်းကို အိုင်ကိုမ်ဒေါ့ꩻရီ
ကဏ္ဍ
ကဏ္ဍ အိုင်ကိုမ်ဒေါ့ꩻရီ
သွုပ်ဆုဲင်ꩻ
သွုပ်ဆုဲင်ꩻ အိုင်ကိုမ်ဒေါ့ꩻရီ
TimedText
TimedText talk
မော်ဂျူး
မော်ဂျူး ဆွေးနွေးချက်
ကဏ္ဍ:ပအိုဝ်ႏကြိယာႏဖုံႏ
14
120
11793
8983
2025-06-23T07:06:36Z
咽頭べさ
11
[[ကဏ္ဍ:ပအိုဝ်ႏ ကြိယာႏ]] စာမျက်နှာကို [[ကဏ္ဍ:ပအိုဝ်ႏကြိယာႏဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
8983
wikitext
text/x-wiki
[[ကဏ္ဍ:ပအိုဝ်ႏဘာႏသာႏငဝ်းငွါ]]
qe909oz500hnhscr35zyhd3gwlvd0rq
ကဏ္ဍ:ပအိုဝ်ႏကြိယာႏဝိသေသနဖုံႏ
14
121
11720
8984
2025-06-23T05:17:08Z
咽頭べさ
11
[[ကဏ္ဍ:ပအိုဝ်ႏ ကြိယာႏဝိသေသန]] စာမျက်နှာကို [[ကဏ္ဍ:ပအိုဝ်ႏကြိယာႏဝိသေသနဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
8984
wikitext
text/x-wiki
[[ကဏ္ဍ:ပအိုဝ်ႏဘာႏသာႏငဝ်းငွါ|ကြိယာႏဝိသေသန]]
f3m3bcctt1pa7o65vxpxfmwownxypnj
ကဏ္ဍ:ပအိုဝ်ႏဂဏန်ꩻဖုံႏ
14
122
11814
8985
2025-06-23T08:23:47Z
咽頭べさ
11
[[ကဏ္ဍ:ပအိုဝ်ႏ ဂဏန်ꩻ]] စာမျက်နှာကို [[ကဏ္ဍ:ပအိုဝ်ႏဂဏန်ꩻဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
8985
wikitext
text/x-wiki
[[ကဏ္ဍ:ပအိုဝ်ႏဘာႏသာႏငဝ်းငွါ]]
qe909oz500hnhscr35zyhd3gwlvd0rq
ကဏ္ဍ:ပအိုဝ်ႏနာမဝိသေသနဖုံႏ
14
123
11828
8902
2025-06-23T08:35:21Z
咽頭べさ
11
[[ကဏ္ဍ:ပအိုဝ်ႏ နာမဝိသေသန]] စာမျက်နှာကို [[ကဏ္ဍ:ပအိုဝ်ႏနာမဝိသေသနဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
8902
wikitext
text/x-wiki
[[ကဏ္ဍ:ပအိုဝ်ႏဘာႏသာႏငဝ်းငွါ]]
qe909oz500hnhscr35zyhd3gwlvd0rq
ကဏ္ဍ:ပအိုဝ်ႏနာမ်ႏဆဲင်ႏတဖြာꩻဖုံႏ
14
125
11873
369
2025-06-23T11:25:09Z
咽頭べさ
11
[[ကဏ္ဍ:ပအိုဝ်ႏ နာမ်ႏဆဲင်ႏတဖြာꩻ]] စာမျက်နှာကို [[ကဏ္ဍ:ပအိုဝ်ႏနာမ်ႏဆဲင်ႏတဖြာꩻဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
368
wikitext
text/x-wiki
[[ကဏ္ဍ:ပအိုဝ်ႏဘာႏသာႏငဝ်းငွါ]]
qe909oz500hnhscr35zyhd3gwlvd0rq
ကဏ္ဍ:ပအိုဝ်ႏနာမ်ႏတင်ဖုံႏ
14
126
11838
8901
2025-06-23T10:35:57Z
咽頭べさ
11
[[ကဏ္ဍ:ပအိုဝ်ႏ နာမ်ႏတင်]] စာမျက်နှာကို [[ကဏ္ဍ:ပအိုဝ်ႏနာမ်ႏတင်ဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
8901
wikitext
text/x-wiki
[[ကဏ္ဍ:ပအိုဝ်ႏဘာႏသာႏငဝ်းငွါ]]
qe909oz500hnhscr35zyhd3gwlvd0rq
ကဏ္ဍ:ပအိုဝ်ႏဝိဘတ်ဖုံႏ
14
127
11843
8986
2025-06-23T10:43:44Z
咽頭べさ
11
[[ကဏ္ဍ:ပအိုဝ်ႏ ဝိဘတ်]] စာမျက်နှာကို [[ကဏ္ဍ:ပအိုဝ်ႏဝိဘတ်ဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
8986
wikitext
text/x-wiki
[[ကဏ္ဍ:ပအိုဝ်ႏဘာႏသာႏငဝ်းငွါ]]
qe909oz500hnhscr35zyhd3gwlvd0rq
ကဏ္ဍ:အငေါဝ်းထန်ႏလိဉ့်တွမ်ႏပအိုဝ်ႏငေါဝ်းငွါဖုံႏ
14
154
11877
8871
2025-06-23T11:27:34Z
咽頭べさ
11
[[ကဏ္ဍ:အငေါဝ်းထန်ႏလိဉ့်တွမ်ႏပအိုဝ်ႏ ငေါဝ်းငွါဖုံႏ]] စာမျက်နှာကို [[ကဏ္ဍ:အငေါဝ်းထန်ႏလိဉ့်တွမ်ႏပအိုဝ်ႏငေါဝ်းငွါဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
8871
wikitext
text/x-wiki
[[ကဏ္ဍ:ပအိုဝ်ႏဘာႏသာႏငဝ်းငွါ]]
qe909oz500hnhscr35zyhd3gwlvd0rq
မော်ဂျူး:IPA/templates
828
165
11796
8239
2025-06-23T07:15:04Z
咽頭べさ
11
11796
Scribunto
text/plain
local export = {}
local m_IPA = require("Module:IPA")
local parameter_utilities_module = "Module:parameter utilities"
local function track(template, page)
require("Module:debug/track")(template .. "/" .. page)
return true
end
-- Used for [[Template:IPA]].
function export.IPA(frame)
local parent_args = frame:getParent().args
-- Track uses of n so they can be converted to ref.
-- Track uses of qual so they can be converted to q.
for k, v in pairs(parent_args) do
if type(k) == "string" and k:find("^qual%d*$") then
track("IPA", "q")
end
end
local include_langname = frame.args.include_langname
local compat = parent_args.lang
local offset = compat and 0 or 1
local lang_arg = compat and "lang" or 1
local params = {
[lang_arg] = {required = true, type = "language", default = "en"},
[1 + offset] = {list = true, disallow_holes = true},
-- Deprecated; don't use in new code.
["qual"] = {list = true, separate_no_index = true, alias_of = "q"},
["nocount"] = {type = "boolean"},
["nocat"] = {type = "boolean"},
["sort"] = {},
}
local m_param_utils = require(parameter_utilities_module)
local param_mods = m_param_utils.construct_param_mods {
{group = {"ref", "a", "q"}},
{group = "link", include = {"t", "gloss", "pos"}},
}
local items, args = m_param_utils.parse_list_with_inline_modifiers_and_separate_params {
params = params,
param_mods = param_mods,
raw_args = parent_args,
termarg = 1 + offset,
term_dest = "pron",
track_module = "IPA",
}
local lang = args[lang_arg]
for _, item in ipairs(items) do
require("Module:IPA/tracking").run_tracking(item.pron, lang)
end
local data = {
lang = lang,
items = items,
no_count = args.nocount,
nocat = args.nocat,
sort_key = args.sort,
include_langname = include_langname,
q = args.q.default,
qq = args.qq.default,
a = args.a.default,
aa = args.aa.default,
}
return m_IPA.format_IPA_full(data)
end
-- Used for [[Template:IPAchar]].
function export.IPAchar(frame)
local parent_args = frame.getParent and frame:getParent().args or frame
-- Track uses of n so they can be converted to ref.
-- Track uses of qual so they can be converted to q.
for k, v in pairs(parent_args) do
if type(k) == "string" and k:find("^n%d*$") then
track("IPAchar", "n")
end
if type(k) == "string" and k:find("^qual%d*$") then
track("IPAchar", "q")
end
end
local params = {
[1] = {list = true, disallow_holes = true},
-- FIXME, remove this.
["lang"] = {}, -- This parameter is not used and does nothing, but is allowed for futureproofing.
}
local m_param_utils = require(parameter_utilities_module)
local param_mods = m_param_utils.construct_param_mods {
-- It doesn't really make sense to have separate overall a=/aa=/q=/qq= for {{IPAchar}}, which doesn't format a
-- whole line but just individual pronunciations. Instead they are associated with the first item.
{group = {"ref", "a", "q"}, separate_no_index = false},
-- Deprecated; don't use in new code.
{param = "qual", alias_of = "q"},
}
local items, args = m_param_utils.parse_list_with_inline_modifiers_and_separate_params {
params = params,
param_mods = param_mods,
raw_args = parent_args,
termarg = 1,
term_dest = "pron",
track_module = "IPAchar",
}
-- [[Special:WhatLinksHere/Wiktionary:Tracking/IPAchar/lang]]
if args.lang then
track("IPAchar", "lang")
end
-- Format
return m_IPA.format_IPA_multiple(nil, items)
end
function export.XSAMPA(frame)
local params = {
[1] = { required = true },
}
local args = require("Module:parameters").process(frame:getParent().args, params)
return m_IPA.XSAMPA_to_IPA(args[1] or "[Eg'zA:mp5=]")
end
-- Used by [[Template:X2IPA]]
function export.X2IPAtemplate(frame)
local parent_args = frame.getParent and frame:getParent().args or frame
local compat = parent_args["lang"]
local offset = compat and 0 or 1
local params = {
[compat and "lang" or 1] = {required = true, default = "und"},
[1 + offset] = {list = true, allow_holes = true},
["ref"] = {list = true, allow_holes = true},
["a"] = {list = true, allow_holes = true, separate_no_index = true},
["aa"] = {list = true, allow_holes = true, separate_no_index = true},
["q"] = {list = true, allow_holes = true, separate_no_index = true},
["qq"] = {list = true, allow_holes = true, separate_no_index = true},
["qual"] = {list = true, allow_holes = true},
["nocount"] = {type = "boolean"},
["sort"] = {},
}
local args = require("Module:parameters").process(parent_args, params)
local m_XSAMPA = require("Module:IPA/X-SAMPA")
local pronunciations, refs, a, aa, q, qq, qual, lang =
args[1 + offset], args.ref, args.a, args.aa, args.q, args.qq, args.qual, args[compat and "lang" or 1]
local output = {}
table.insert(output, "{{IPA")
table.insert(output, "|" .. lang)
if a.default then
table.insert(output, "|a=" .. a.default)
end
if q.default then
table.insert(output, "|q=" .. q.default)
end
for i = 1, math.max(pronunciations.maxindex, refs.maxindex, a.maxindex, aa.maxindex, q.maxindex, qq.maxindex,
qual.maxindex) do
if pronunciations[i] then
table.insert(output, "|" .. m_XSAMPA.XSAMPA_to_IPA(pronunciations[i]))
end
if a[i] then
table.insert(output, "|a" .. i .. "=" .. a[i])
end
if aa[i] then
table.insert(output, "|aa" .. i .. "=" .. aa[i])
end
if q[i] then
table.insert(output, "|q" .. i .. "=" .. q[i])
end
if qq[i] then
table.insert(output, "|qq" .. i .. "=" .. qq[i])
end
if refs[i] then
table.insert(output, "|ref" .. i .. "=" .. refs[i])
end
if qual[i] then
table.insert(output, "|qual" .. i .. "=" .. qual[i])
end
end
if aa.default then
table.insert(output, "|aa=" .. aa.default)
end
if qq.default then
table.insert(output, "|qq=" .. qq.default)
end
if args.nocount then
table.insert(output, "|nocount=1")
end
if args.sort then
table.insert(output, "|sort=" .. args.sort)
end
table.insert(output, "}}")
return table.concat(output)
end
-- Used by [[Template:X2IPAchar]]
function export.X2IPAchar(frame)
local params = {
[1] = { list = true, allow_holes = true },
["ref"] = {list = true, allow_holes = true},
["q"] = {list = true, allow_holes = true, require_index = true},
["qq"] = {list = true, allow_holes = true, require_index = true},
["qual"] = { list = true, allow_holes = true },
-- FIXME, remove this.
["lang"] = {},
}
local args = require("Module:parameters").process(frame:getParent().args, params)
-- [[Special:WhatLinksHere/Wiktionary:Tracking/X2IPAchar/lang]]
if args.lang then
track("X2IPAchar", "lang")
end
local m_XSAMPA = require("Module:IPA/X-SAMPA")
local pronunciations, refs, q, qq, qual, lang = args[1], args.ref, args.q, args.qq, args.qual, args.lang
local output = {}
table.insert(output, "{{IPAchar")
for i = 1, math.max(pronunciations.maxindex, refs.maxindex, q.maxindex, qq.maxindex, qual.maxindex) do
if pronunciations[i] then
table.insert(output, "|" .. m_XSAMPA.XSAMPA_to_IPA(pronunciations[i]))
end
if q[i] then
table.insert(output, "|q" .. i .. "=" .. q[i])
end
if qq[i] then
table.insert(output, "|qq" .. i .. "=" .. qq[i])
end
if qual[i] then
table.insert(output, "|qual" .. i .. "=" .. qual[i])
end
if refs[i] then
table.insert(output, "|ref" .. i .. "=" .. refs[i])
end
end
if lang then
table.insert(output, "|lang=" .. lang)
end
table.insert(output, "}}")
return table.concat(output)
end
-- Used by [[Template:x2rhymes]]
function export.X2rhymes(frame)
local parent_args = frame.getParent and frame:getParent().args or frame
local compat = parent_args["lang"]
local offset = compat and 0 or 1
local params = {
[compat and "lang" or 1] = {required = true, default = "und"},
[1 + offset] = {required = true, list = true, allow_holes = true},
}
local args = require("Module:parameters").process(parent_args, params)
local m_XSAMPA = require("Module:IPA/X-SAMPA")
pronunciations, lang = args[1 + offset], args[compat and "lang" or 1]
local output = {}
table.insert(output, "{{rhymes")
table.insert(output, "|" .. lang)
for i = 1, pronunciations.maxindex do
if pronunciations[i] then
table.insert(output, "|" .. m_XSAMPA.XSAMPA_to_IPA(pronunciations[i]))
end
end
table.insert(output, "}}")
return table.concat(output)
end
-- Used for [[Template:enPR]].
function export.enPR(frame)
local parent_args = frame:getParent().args
local params = {
[1] = {list = true, disallow_holes = true},
}
local m_param_utils = require(parameter_utilities_module)
local param_mods = m_param_utils.construct_param_mods {
{group = {"q", "a", "ref"}},
}
local items, args = m_param_utils.parse_list_with_inline_modifiers_and_separate_params {
params = params,
param_mods = param_mods,
raw_args = parent_args,
termarg = 1,
term_dest = "pron",
track_module = "enPR",
}
local data = {
items = items,
q = args.q.default,
qq = args.qq.default,
a = args.a.default,
aa = args.aa.default,
}
return m_IPA.format_enPR_full(data)
end
return export
95xjj58ch56ydao0brty0h4ubol84mx
မော်ဂျူး:IPA/tracking
828
166
11797
501
2025-06-23T07:16:19Z
咽頭べさ
11
11797
Scribunto
text/plain
local export = {}
--[[
symb is what is tracked. It can be a literal symbol or a Lua pattern.
If it is a table, tracking is added for any of the symbols in the list.
cat is the subtemplate that is added to the default path "IPA/" + language code + "/".
]]
local U = require("Module:string/char")
local syllabic = U(0x329)
-- The validity of this table is checked by documentation function
-- in [[Module:User:Erutuon/sandbox]].
export.tracking = {
en = {
{
symb = "iə",
cat = "ambig",
},
{
symb = { "ɪi", "ʊu", "ɪj", "ʊw" },
cat = "eeoo",
},
{
symb = { "r" },
cat = "plain r",
},
},
cs = {
{
symb = "[mnrl]" .. syllabic,
cat = "syllabic-consonant",
},
},
ps = {
{
symb = "ɤ",
cat = "Pashto",
},
},
fa = {
{
symb = "ʔ",
cat = "glottal-stop",
},
},
{
{
symb = "",
cat = "",
},
},
}
function export.run_tracking(IPA, lang)
if not IPA or IPA == "" then
return
end
lang = lang:getCode()
if not export.tracking[lang] then
return
end
for i, arguments in ipairs(export.tracking[lang]) do
local symbols = arguments.symb
local category = arguments.cat
if type(symbols) == "string" then
symbols = { symbols }
end
for _, symbol in pairs(symbols) do
if mw.ustring.find(IPA, symbol) then
require("Module:debug/track")("IPA/" .. lang .. "/" .. category)
end
end
end
end
return export
se04v8uivjuynpeoe4fnp0a4t96kccz
မော်ဂျူး:documentation
828
185
11727
11484
2025-06-23T05:33:09Z
咽頭べさ
11
11727
Scribunto
text/plain
local export = {}
local array_module = "Module:array"
local debug_track_module = "Module:debug/track"
local frame_module = "Module:frame"
local fun_is_callable_module = "Module:fun/isCallable"
local languages_module = "Module:languages"
local links_module = "Module:links"
local load_module = "Module:load"
local module_categorization_module = "Module:module categorization"
local number_list_show_module = "Module:number list/show"
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local scripts_module = "Module:scripts"
local string_endswith_module = "Module:string/endswith"
local string_gline_module = "Module:string/gline"
local string_insert_module = "Module:string/insert"
local string_startswith_module = "Module:string/startswith"
local string_utilities_module = "Module:string utilities"
local template_parser_module = "Module:template parser"
local title_exists_module = "Module:title/exists"
local title_new_title_module = "Module:title/newTitle"
local concat = table.concat
local error = error
local full_url = mw.uri.fullUrl
local get_current_title = mw.title.getCurrentTitle
local insert = table.insert
local ipairs = ipairs
local list_to_text = mw.text.listToText
local new_message = mw.message.new
local pcall = pcall
local require = require
local tonumber = tonumber
local tostring = tostring
local type = type
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local function Array(...)
Array = require(array_module)
return Array(...)
end
local function categorize_module(...)
categorize_module = require(module_categorization_module).categorize
return categorize_module(...)
end
local function debug_track(...)
debug_track = require(debug_track_module)
return debug_track(...)
end
local function endswith(...)
endswith = require(string_endswith_module)
return endswith(...)
end
local function expand_template(...)
expand_template = require(frame_module).expandTemplate
return expand_template(...)
end
local function find_templates(...)
find_templates = require(template_parser_module).find_templates
return find_templates(...)
end
local function full_link(...)
full_link = require(links_module).full_link
return full_link(...)
end
local function get_lang(...)
get_lang = require(languages_module).getByCode
return get_lang(...)
end
local function get_pagetype(...)
get_pagetype = require(pages_module).get_pagetype
return get_pagetype(...)
end
local function get_script(...)
get_script = require(scripts_module).getByCode
return get_script(...)
end
local function gline(...)
gline = require(string_gline_module)
return gline(...)
end
local function is_callable(...)
is_callable = require(fun_is_callable_module)
return is_callable(...)
end
local function is_documentation(...)
is_documentation = require(pages_module).is_documentation
return is_documentation(...)
end
local function is_sandbox(...)
is_sandbox = require(pages_module).is_sandbox
return is_sandbox(...)
end
local function new_title(...)
new_title = require(title_new_title_module)
return new_title(...)
end
local function number_list_show_table(...)
number_list_show_table = require(number_list_show_module).table
return number_list_show_table(...)
end
local function preprocess(...)
preprocess = require(frame_module).preprocess
return preprocess(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
local function safe_load_data(...)
safe_load_data = require(load_module).safe_load_data
return safe_load_data(...)
end
local function split(...)
split = require(string_utilities_module).split
return split(...)
end
local function startswith(...)
startswith = require(string_startswith_module)
return startswith(...)
end
local function string_insert(...)
string_insert = require(string_insert_module)
return string_insert(...)
end
local function title_exists(...)
title_exists = require(title_exists_module)
return title_exists(...)
end
local function ugsub(...)
ugsub = require(string_utilities_module).gsub
return ugsub(...)
end
local function umatch(...)
umatch = require(string_utilities_module).match
return umatch(...)
end
local skins = {
["common" ] = "";
["vector" ] = "Vector";
["monobook" ] = "Monobook";
["cologneblue"] = "Cologne Blue";
["modern" ] = "Modern";
}
local function track(page)
debug_track("documentation/" .. page)
return true
end
local function compare_pages(page1, page2, text)
return "[" .. tostring(
full_url("Special:ComparePages", {page1 = page1, page2 = page2}))
.. " " .. text .. "]"
end
-- Avoid transcluding [[Module:languages/cache]] everywhere.
local lang_cache = setmetatable({}, { __index = function (self, k)
return require("Module:languages/cache")[k]
end })
local function zh_link(word)
return full_link{
lang = lang_cache.zh,
term = word
}
end
local function make_languages_data_documentation(title, cats, division)
local doc_template, module_cat
if endswith(division, "/extra") then
division = division:sub(1, -7)
doc_template = "language extradata documentation"
module_cat = "Language extra data modules"
else
doc_template = "language data documentation"
module_cat = "Language data modules"
end
local sort_key
if division == "exceptional" then
sort_key = "x"
else
sort_key = division:gsub("/", "")
end
cats:insert(module_cat .. "|" .. sort_key)
return {
title = doc_template
}
end
local function make_Unicode_data_documentation(title, cats)
local subpage, first_three_of_code_point
= title.fullText:match("^Module:Unicode data/([^/]+)/(%x%x%x)$")
if subpage == "names" or subpage == "images" or subpage == "emoji images" then
local low, high =
tonumber(first_three_of_code_point .. "000", 16),
tonumber(first_three_of_code_point .. "FFF", 16)
local text, text_type
if subpage == "names" then
text_type = "titles of images"
elseif subpage == "images" then
text_type = "titles of images"
elseif subpage == "emoji images" then
text_type = "emoji-style images"
end
text = string.format(
"This data module contains the " .. text_type .. " of " ..
"[[Appendix:Unicode|Unicode]] code points within the range U+%04X to U+%04X.",
low, high)
if subpage == "images" and safe_load_data("Module:Unicode data/emoji images/" .. first_three_of_code_point) then
text = text .. " This list includes the text variants of emojis. For the list of emoji variants of those characters, see [[Module:Unicode data/emoji images/" .. first_three_of_code_point .. "]]."
elseif subpage == "emoji images" then
text = text .. " For text-style images, see [[Module:Unicode data/images/" .. first_three_of_code_point .. "]]."
end
return text
end
end
local function insert_lang_data_module_cats(cats, langcode, overall_data_module_cat)
local lang = lang_cache[langcode]
if lang then
local langname
if lang._fullCode then
langname = lang_cache[lang._fullCode]:getCanonicalName()
else
langname = lang:getCanonicalName()
end
cats:insert(overall_data_module_cat .. "|" .. langname)
cats:insert(langname .. " modules")
cats:insert(langname .. " data modules")
return lang, langname
end
end
--[=[
This provides categories and documentation for various data modules, so that [[Category:Uncategorized modules]] isn't
unnecessarily cluttered. It is a list of tables, each of which have the following possible fields:
`regex` (required): A Lua pattern to match the module's title. If it matches, the data in this entry will be used.
Any captures in the pattern can by referenced in the `cat` field using %1 for the first capture, %2 for the
second, etc. (often used for creating the sortkey for the category). In addition, the captures are passed to the
`process` function as the third and subsequent parameters.
`process` (optional): This may be a function or a string. If it is a function, it is called as follows:
`process(TITLE, CATS, CAPTURE1, CAPTURE2, ...)`
where:
* TITLE is a title object describing the module's title; see
[https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Title_objects].
* CATS is an array object (see [[Module:array]]) of categories that the module will be added to.
* CAPTURE1, CAPTURE2, ... contain any captures in the `regex` field.
The return value of `process` should either be a string (which will be used as the module's documentation), or a
table specifying the name of a template to expand to get the documentation, along with the arguments to that
template. In the latter format, the template name (bare, without the "Template:" prefix) should be in the `title`
field, and any arguments should be in `args; in this case, the template name will be listed above the generated
documentation as the source of the documentation, along with an edit button to edit the template's contents.
If, however, the return value of the `process` function is a string, any template invocations will be expanded
using frame:preprocess(), and [[Module:documentation]] will be listed as the source of the documentation.
If `process` itself is a string rather than a function, it should name a submodule under
[[Module:documentation/functions/]] which returns a function, of the same type as described above. This submodule
will be specified as the source of the documentation (unless it returns a table naming a template to expand to get
the documentation, as described above).
If `process` is omitted entirely, the module will have no documentation.
`cat` (optional): A string naming the category into which the module should be placed, or a list of such strings.
Captures specified in `regex` may be referenced in this string using %1 for the first capture, %2 for the second,
etc. It is also possible to add categories in the `process` function by inserting them into the passed-in CATS
array (the second parameter).
]=]
local module_regex = {
{
regex = "^Module:languages/data/(3/%l/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(3/%l)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(2/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(2)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(exceptional/extra)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/data/(exceptional)$",
process = make_languages_data_documentation,
},
{
regex = "^Module:languages/.+$",
cat = "Language and script modules",
},
{
regex = "^Module:scripts/.+$",
cat = "Language and script modules",
},
{
regex = "^Module:data tables/data..?.?.?$",
cat = "Reference module sharded data tables",
},
{
regex = "^Module:zh/data/dial%-pron/.+$",
cat = "Chinese dialectal pronunciation data modules",
process = "zh dial or syn",
},
{
regex = "^Module:zh/data/dial%-syn/.+$",
cat = "Chinese dialect synonyms data modules",
process = "zh dial or syn",
},
{
regex = "^Module:zh/data/glyph%-data/.+$",
cat = "Chinese historical character forms data modules",
process = function(title, cats)
local character = title.fullText:match("^Module:zh/data/glyph%-data/(.+)")
if character then
return ("This module contains data on historical forms of the Chinese character %s.")
:format(zh_link(character))
end
end,
},
{
regex = "^Module:zh/data/ltc%-pron/(.+)$",
cat = "Middle Chinese pronunciation data modules|%1",
process = "zh data",
},
{
regex = "^Module:zh/data/och%-pron%-BS/(.+)$",
cat = "Old Chinese (Baxter-Sagart) pronunciation data modules|%1",
process = "zh data",
},
{
regex = "^Module:zh/data/och%-pron%-ZS/(.+)$",
cat = "Old Chinese (Zhengzhang) pronunciation data modules|%1",
process = "zh data",
},
{
-- capture rest of zh/data submodules
regex = "^Module:zh/data/(.+)$",
cat = "Chinese data modules|%1",
},
{
regex = "^Module:mul/guoxue%-data/cjk%-?(.*)$",
process = "guoxue-data",
},
{
regex = "^Module:Unicode data/(.+)$",
cat = "Unicode data modules|%1",
process = make_Unicode_data_documentation,
},
{
regex = "^Module:number list/data/(.+)$",
process = function(title, cats, lang_code)
local lang = insert_lang_data_module_cats(cats, lang_code, "Number data modules")
if lang then
return ("This module contains data on various types of numbers in %s.\n%s")
:format(lang:makeCategoryLink(), number_list_show_table() or "")
end
end,
},
{
regex = "^Module:accel/(.+)$",
process = function(title, cats)
local lang_code = title.subpageText
local lang = lang_cache[lang_code]
if lang then
cats:insert(lang:getCanonicalName() .. " modules|accel")
cats:insert(("Accel submodules|%s"):format(lang:getCanonicalName()))
return ("This module contains new entry creation rules for %s; see [[WT:ACCEL]] for an overview, and [[Module:accel]] for information on creating new rules.")
:format(lang:makeCategoryLink())
end
end,
},
{
regex = "^Module:inc%-ash/dial/data/(.+)$",
cat = "Ashokan Prakrit modules|%1",
process = function(title, cats)
local word = title.fullText:match("^Module:inc%-ash/dial/data/(.+)$")
if word then
local lang = lang_cache["inc-ash"]
return ("This module contains data on the pronunciation of %s in dialects of %s.")
:format(full_link({ term = word, lang = lang }, "term"),
lang:makeCategoryLink())
end
end,
},
{
regex = "^.+%-translit$",
process = "translit",
},
{
regex = "^Module:form of/lang%-data/(.+)$",
process = function(title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Language-specific form-of modules")
if lang then
-- FIXME, display more info.
return "This module contains language-specific form-of data (tags, shortcuts, base lemma params. etc.) for " ..
langname .. "."
end
end
},
{
regex = "^Module:labels/data/lang/(.+)$",
process = function(title, cats, lang_code)
local lang = insert_lang_data_module_cats(cats, lang_code, "Language-specific label data modules")
if lang then
return {
title = "label language-specific data documentation",
args = { [1] = lang_code },
}
end
end
},
{
regex = "^Module:category tree/lang/(.+)$",
process = function(title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Category tree data modules/lang")
if lang then
return "This module handles generating the descriptions and categorization for " .. langname .. " category pages "
.. "of the format \"" .. langname .. " LABEL\" where LABEL can be any text. Examples are "
.. "[[:Category:Bulgarian conjugation 2.1 verbs]] and [[:Category:Russian velar-stem neuter-form nouns]]. "
.. "This module is part of the category tree system, which is a general framework for generating the "
.. "descriptions and categorization of category pages.\n\n"
.. "For more information, see [[Module:category tree/lang/documentation]].\n\n"
.. "'''NOTE:''' If you add a new language-specific module, you must add the language code to the "
.. "list at the top of [[Module:category tree/lang]] in order for the module to be recognized."
end
end
},
{
regex = "^Module:category tree/topic/(.+)$",
process = function(title, cats, submodule)
cats:insert("Category tree data modules/topic| ")
return {
title = "topic cat data submodule documentation"
}
end
},
{
regex = "^Module:category tree/(.+)$",
process = function(title, cats, submodule)
cats:insert("Category tree data modules| ")
return {
title = "category tree data submodule documentation"
}
end
},
{
regex = "^Module:ja/data/(.+)$",
cat = "Japanese data modules|%1",
},
{
regex = "^Module:fi%-dialects/data/feature/Kettunen1940 ([0-9]+)$",
cat = "Finnish dialectal data atlas modules|%1",
process = function(title, cats, shard)
return "This module contains shard " .. shard .. " of the online version of Lauri Kettunen's 1940 work " ..
"''Suomen murteet III A. Murrekartasto'' (\"Finnish dialects III A: Dialect atlas\"). " ..
"It was imported and converted from urn:nbn:fi:csc-kata20151130145346403821, published by the " ..
"''Kotimaisten kielten keskus'' under the CC BY 4.0 license."
end
},
{
regex = "^Module:fi%-dialects/data/feature/(.+)",
cat = "Finnish dialectal data modules|%1",
},
{
regex = "^Module:fi%-dialects/data/word/(.+)",
cat = "Finnish dialectal data modules|%1",
},
{
regex = "^Module:Swadesh/data/([%l-]+)$",
process = function(title, cats, lang_code)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Swadesh modules")
if lang then
return "This module contains the [[Swadesh list]] of basic vocabulary in " .. langname .. "."
end
end
},
{
regex = "^Module:Swadesh/data/([%l-]+)/([^/]*)$",
process = function(title, cats, lang_code, variety)
local lang, langname = insert_lang_data_module_cats(cats, lang_code, "Swadesh modules")
if lang then
local prefix = "This module contains the [[Swadesh list]] of basic vocabulary in the "
local etym_lang = get_lang(variety, nil, "allow etym")
if etym_lang then
return ("%s %s variety of %s."):format(prefix, etym_lang:getCanonicalName(), langname)
end
local script = get_script(variety)
if script then
return ("%s %s %s script."):format(prefix, langname, script:getCanonicalName())
end
return ("%s %s variety of %s."):format(prefix, variety, langname)
end
end
},
{
regex = "^Module:typing%-aids",
process = function(title, cats)
local data_suffix = title.fullText:match("^Module:typing%-aids/data/(.+)$")
local sortkey
if data_suffix then
if data_suffix:find "^[%l-]+$" then
local lang = get_lang(data_suffix)
if lang then
sortkey = lang:getCanonicalName()
cats:insert(sortkey .. " data modules")
end
elseif data_suffix:find "^%u%l%l%l$" then
local script = get_script(data_suffix)
if script then
sortkey = script:getCanonicalName()
cats:insert(script:getCategoryName())
end
end
cats:insert("Character insertion data modules|" .. (sortkey or data_suffix))
end
end,
},
{
regex = "^Module:R:([%l-]+):(.+)$",
process = function(title, cats, lang_code, refname)
local lang = lang_cache[lang_code]
if lang then
cats:insert(lang:getCanonicalName() .. " modules|" .. refname)
cats:insert(("Reference modules|%s"):format(lang:getCanonicalName()))
return "This module implements the reference template {{temp|R:" .. lang_code .. ":" .. refname .. "}}."
end
end,
},
{
regex = "^Module:Quotations/([%l-]+)/?(.*)",
process = "Quotation",
},
{
regex = "^Module:affix/lang%-data/([%l-]+)",
process = "affix lang-data",
},
{
regex = "^Module:dialect synonyms/([%l-]+)$",
process = function(title, cats, lang_code)
local lang = lang_cache[lang_code]
if lang then
local langname = lang:getCanonicalName()
cats:insert("Dialect synonyms data modules|" .. langname)
cats:insert(langname .. " dialect synonyms data modules| ")
return "This module contains data on specific varieties of " .. langname .. ", for use by " ..
"{{tl|dialect synonyms}}. The actual synonyms themselves are contained in submodules.\n\n" ..
expand_template({ title = 'dial syn', args = { lang_code, ["demo mode"] = "y" } })
end
end,
},
{
regex = "^Module:dialect synonyms/([%l-]+)/(.+)$",
process = function(title, cats, lang_code, term)
local lang = lang_cache[lang_code]
if lang then
local langname = lang:getCanonicalName()
cats:insert("Dialect synonyms data modules|" .. langname)
cats:insert(langname .. " dialect synonyms data modules|" .. term)
return ("This module contains dialectal %s synonyms for {{m|%s|%s}}.\n\n%s"):format(langname, lang_code, term, expand_template({ title = 'dial syn', args = { lang_code, term } }))
end
end,
},
}
function export.show(frame)
local boolean_default_false = {type = "boolean", default = false}
local args = process_params(frame.args, {
["hr"] = true,
["for"] = true,
["from"] = true,
["allowondoc"] = boolean_default_false, -- Don't throw an error if used on a documentation subpage.
["notsubpage"] = boolean_default_false,
["nodoc"] = boolean_default_false,
["nolinks"] = boolean_default_false, -- suppress all "Useful links"
["nosandbox"] = boolean_default_false, -- supress sandbox
})
local output = Array('\n<div class="documentation" style="display:block; clear:both">\n')
local cats = Array()
local nodoc = args.nodoc
if (not args.hr) or (args.hr == "above") then
output:insert("----\n")
end
local title = args["for"] and new_title(args["for"]) or get_current_title()
local doc_title = args.from ~= "-" and new_title(args.from or title.fullText .. '/documentation') or nil
local contentModel = title.contentModel
local pagetype, is_script_or_stylesheet = get_pagetype(title)
local preload, fallback_docs, doc_content, old_doc_title, user_name, skin_name, needs_doc
local doc_content_source = "Module:documentation"
local auto_generated_cat_source
local cats_auto_generated = false
if not args.allowondoc and is_documentation(title) then
-- TODO: merge with {{documentation subpage}}, and choose behaviour based on the page type.
error("This template should not be used on a documentation page. Please use [[Template:documentation subpage]].")
elseif is_sandbox(title) then
local sandbox_ns = title.nsText
preload = ("Template:documentation/preload%s%sSandbox"):format(
sandbox_ns == "မော်ဂျူး" and sandbox_ns or "တမ်းပလေက်",
title.rootText:match("^[Uu]ser:(.+)") and "User" or ""
)
elseif pagetype:match("%f[%w]gadget%f[%W]") then
preload = "Template:documentation/preloadGadget"
elseif pagetype:match("%f[%w]script%f[%W]") then -- .js
if title.nsText == "MediaWiki" then
preload = "Template:documentation/preloadMediaWikiJavaScript"
else
preload = "Template:documentation/preloadTemplate" -- XXX
if title.nsText == "User" then
user_name = title.rootText
end
end
is_script_or_stylesheet = true
elseif pagetype:match("%f[%w]stylesheet%f[%W]") then -- .css
preload = "Template:documentation/preloadTemplate" -- XXX
if title.nsText == "User" then
user_name = title.rootText
end
is_script_or_stylesheet = true
elseif contentModel == "Scribunto" then -- Exclude pages in Module: which aren't Scribunto.
preload = "Template:documentation/preloadModule"
elseif pagetype:match("%f[%w]template%f[%W]") or pagetype:match("%f[%w]project%f[%W]") then
preload = "Template:documentation/preloadTemplate"
end
if doc_title and doc_title.isRedirect then
old_doc_title = doc_title
doc_title = doc_title.redirectTarget
end
output:insert("<dl class=\"plainlinks\" style=\"font-size: smaller;\">")
local function get_module_doc_and_cats(categories_only)
cats_auto_generated = true
local automatic_cats = nil
if user_name then
fallback_docs = "documentation/fallback/user module"
automatic_cats = {"User sandbox modules"}
else
for _, data in ipairs(module_regex) do
local captures = {umatch(title.fullText, data.regex)}
if #captures > 0 then
local cat, process_function
if is_callable(data.process) then
process_function = data.process
elseif type(data.process) == "string" then
doc_content_source = "Module:documentation/functions/" .. data.process
process_function = require(doc_content_source)
end
if process_function then
doc_content = process_function(title, cats, unpack(captures))
end
if type(doc_content) == "table" then
doc_content_source = doc_content.title and "တမ်းပလေက်:" .. doc_content.title or doc_content_source
doc_content = expand_template(doc_content)
elseif doc_content ~= nil then
doc_content = preprocess(doc_content)
end
cat = data.cat
if cat then
if type(cat) == "string" then
cat = {cat}
end
for _, c in ipairs(cat) do
insert(cats, (ugsub(title.fullText, data.regex, c)))
end
end
break
end
end
end
if title.subpageText == "တမ်းပလေက်" then
cats:insert("Template interface modules")
end
if automatic_cats then
for _, c in ipairs(automatic_cats) do
cats:insert(c)
end
end
if #cats == 0 then
local auto_cats = categorize_module(frame, "return raw", "noerror")
if #auto_cats > 0 then
auto_generated_cat_source = "Module:module categorization"
end
for _, category in ipairs(auto_cats) do
cats:insert(category)
end
end
-- meaning module is not in user’s sandbox or one of many datamodule boring series
needs_doc = not categories_only and not (automatic_cats or doc_content or fallback_docs)
end
-- Override automatic documentation, if present.
if doc_title and doc_title.exists then
local cats_auto_generated_text = ""
if contentModel == "Scribunto" then
local doc_page_content = doc_title.content
-- Track then do nothing if there are uses of includeonly. The
-- pattern is slightly too permissive, but any false-positives are
-- obvious typos that should be corrected.
if doc_page_content:lower():match("</?includeonly%f[%s/>][^>]*>") then
track("module-includeonly")
else
-- Check for uses of {{module cat}}. find_templates treats the
-- input as transcluded by default (i.e. it parses the wikitext
-- which will be transcluded through to the module page).
local module_cat
for template in find_templates(doc_page_content) do
if template:get_name() == "module cat" then
module_cat = true
break
end
end
if not module_cat then
get_module_doc_and_cats("categories only")
auto_generated_cat_source = auto_generated_cat_source or doc_content_source
cats_auto_generated_text = " Categories were auto-generated by [[" .. auto_generated_cat_source .. "]]. <sup>[[" ..
new_title(auto_generated_cat_source):fullUrl{action = "edit"} .. " edit]]</sup>"
end
end
end
output:insert(
"<dd><i style=\"font-size: larger;\">The following " ..
"[[Help:Documenting templates and modules|documentation]] is located at [[" ..
doc_title.fullText .. "]]. " .. "<sup>[[" .. doc_title:fullUrl{action = "edit"} .. " edit]]</sup>" ..
cats_auto_generated_text .. "</i></dd>")
else
if contentModel == "Scribunto" then
get_module_doc_and_cats(false)
elseif title.nsText == "တမ်းပလေက်" then
--cats:insert("Uncategorized templates")
needs_doc = not (fallback_docs or nodoc)
elseif user_name and is_script_or_stylesheet then
skin_name = skins[title.text:sub(#title.rootText + 1):match("^/(%l+)%.[jc]ss?$")]
if skin_name then
fallback_docs = "documentation/fallback/user " .. contentModel
end
end
if doc_content then
output:insert(
"<dd><i style=\"font-size: larger;\">The following " ..
"[[Help:Documenting templates and modules|documentation]] is " ..
"generated by [[" .. doc_content_source .. "]]. <sup>[[" ..
new_title(doc_content_source):fullUrl{action = "edit"} ..
" edit]]</sup> </i></dd>")
elseif not nodoc then
if doc_title then
output:insert(
"<dd><i style=\"font-size: larger;\">This " .. pagetype ..
" lacks a [[Help:Documenting templates and modules|documentation subpage]]. " ..
(fallback_docs and "You may " or "Please ") ..
"[" .. doc_title:fullUrl{action = "edit", preload = preload}
.. " create it].</i></dd>\n")
else
output:insert(
"<dd><i style=\"font-size: larger; color: #FF0000;\">Unable to auto-generate " ..
"documentation for this " .. pagetype ..".</i></dd>\n")
end
end
end
if startswith(title.fullText, "MediaWiki:Gadget-") then
local is_gadget = false
for line in gline(new_title("MediaWiki:Gadgets-definition").content) do
local gadget, items = line:match("^%*%s*(%a[%w_-]*)%[.-%]|(.+)$")
if not gadget then
gadget, items = line:match("^%*%s*(%a[%w_-]*)|(.+)$")
end
if gadget then
items = Array(split(items, "|"))
for i, item in ipairs(items) do
if title.fullText == ("MediaWiki:Gadget-" .. item) then
is_gadget = true
output:insert("<dd> ''This script is a part of the <code>")
output:insert(gadget)
output:insert("</code> gadget ([")
output:insert(tostring(full_url("MediaWiki:Gadgets-definition", {action = "edit"})))
output:insert(" edit definitions])'' <dl>")
output:insert("<dd> ''Description ([")
output:insert(tostring(full_url("MediaWiki:Gadget-" .. gadget, {action = "edit"})))
output:insert(" edit])'': ")
output:insert(preprocess(new_message('Gadget-' .. gadget):plain()))
output:insert(" </dd>")
items:remove(i)
if #items > 0 then
for j, item in ipairs(items) do
items[j] = '[[MediaWiki:Gadget-' .. item .. '|' .. item .. ']]'
end
output:insert("<dd> ''Other parts'': ")
output:insert(list_to_text(items))
output:insert("</dd>")
end
output:insert("</dl></dd>")
break
end
end
end
end
if not is_gadget then
output:insert("<dd> ''This script is not a part of any [")
output:insert(tostring(full_url("Special:Gadgets", {uselang = "en"})))
output:insert(' gadget] ([')
output:insert(tostring(full_url("MediaWiki:Gadgets-definition", {action = "edit"})))
output:insert(' edit definitions]).</dd>')
-- else
-- cats:insert("Wiktionary gadgets")
end
end
if old_doc_title then
output:insert("<dd> ''Redirected from'' [")
output:insert(old_doc_title:fullUrl{redirect = "no"})
output:insert(" ")
output:insert(old_doc_title.fullText)
output:insert("] ([")
output:insert(old_doc_title:fullUrl{action = "edit"})
output:insert(" edit]).</dd>\n")
end
if not args.nolinks then
local links = Array()
if title.isSubpage and not args.notsubpage then
links:insert("[[:" .. title.nsText .. ":" .. title.rootText .. "|root page]]")
links:insert("[[Special:PrefixIndex/" .. title.nsText .. ":" .. title.rootText .. "/|root page’s subpages]]")
else
links:insert("[[Special:PrefixIndex/" .. title.fullText .. "/|subpage list]]")
end
links:insert(
"[" .. tostring(full_url("Special:WhatLinksHere/" .. title.fullText, {hidetrans = true, hideredirs = true})) .. " links]")
if contentModel ~= "Scribunto" then
links:insert(
"[" .. tostring(full_url("Special:WhatLinksHere/" .. title.fullText, {hidelinks = true, hidetrans = true})) .. " redirects]")
end
if is_script_or_stylesheet then
if user_name then
links:insert("[[Special:MyPage" .. title.text:sub(#title.rootText + 1) .. "|your own]]")
end
else
links:insert(
"[" .. tostring(full_url("Special:WhatLinksHere/" .. title.fullText, {hidelinks = true, hideredirs = true})) .. " transclusions]")
end
if contentModel == "Scribunto" then
local is_testcases = title.isSubpage and title.subpageText == "testcases"
local without_subpage = title.nsText .. ":" .. title.baseText
if is_testcases then
links:insert("[[:" .. without_subpage .. "|tested module]]")
else
links:insert("[[" .. title.fullText .. "/testcases|testcases]]")
end
if user_name then
links:insert("[[User:" .. user_name .. "|user page]]")
links:insert("[[User talk:" .. user_name .. "|user talk page]]")
links:insert("[[Special:PrefixIndex/User:" .. user_name .. "/|userspace]]")
-- If sandbox module, add a link to the module that this is a sandbox of.
-- Exclude user sandbox modules like [[User:Dine2016/sandbox]].
elseif title.text:find("/sandbox%d*%f[/%z]") then
cats:insert("Sandbox modules")
-- Sandbox modules don’t really need documentation.
needs_doc = false
-- Don't track user sandbox modules.
local text_title = new_title(title.text)
if not (text_title and text_title.namespace == 2) then
track("sandbox to be moved")
local sandbox_of, diff = title.baseText
if title_exists(sandbox_of) then
diff = " (" .. compare_pages(title.fullText, sandbox_of, "diff") .. ")"
else
track("no sandbox of")
end
links:insert("[[:" .. sandbox_of .. "|sandbox of]]" .. (diff or ""))
end
-- If not a sandbox module, add link to sandbox module.
-- Sometimes there are multiple sandboxes for a single module:
-- [[Module:sa-pronunc/sandbox]], [[Module:sa-pronunc/sandbox2]].
-- Occasionally sandbox modules have their own subpages that are also
-- sandboxes: [[Module:grc-decl/sandbox/decl]].
else
local sandbox_title
if title.rootText == "grc-decl" then
sandbox_title = string_insert(title.fullText, 16, "/sandbox")
elseif is_testcases then
sandbox_title = title.fullText:gsub("/testcases", "/sandbox/testcases")
else
sandbox_title = title.fullText .. "/sandbox"
end
local sandbox_link = "[[:" .. sandbox_title .. "|sandbox]]"
local diff
if title_exists(sandbox_title) then
diff = " (" .. compare_pages(title.fullText, sandbox_title, "diff") .. ")"
end
links:insert(sandbox_link .. (diff or ""))
end
end
if title.nsText == "တမ်းပလေက်" then
-- Error search: all(any namespace), hastemplate (show pages using the template), insource (show source code), incategory (any/specific error) -- [[mw:Help:CirrusSearch]], [[w:Help:Searching/Regex]]
-- apparently same with/without: &profile=advanced&fulltext=1
local errorq = 'searchengineselect=mediawiki&search=all: hastemplate:\"'..title.rootText..'\" insource:\"'..title.rootText..'\" incategory:'
local eincategory = "Pages_with_module_errors|ParserFunction_errors|DisplayTitle_errors|Pages_with_ISBN_errors|Pages_with_ISSN_errors|Pages_with_reference_errors|Pages_with_syntax_highlighting_errors|Pages_with_TemplateStyles_errors"
links:insert(
'[' .. tostring(full_url('Special:Search', errorq..eincategory )) .. ' errors]'
.. ' (' ..
'[' .. tostring(full_url('Special:Search', errorq..'ParserFunction_errors' )) .. ' parser]'
.. '/' ..
'[' .. tostring(full_url('Special:Search', errorq..'Pages_with_module_errors' )) .. ' module]'
.. ')'
)
if title.isSubpage and title.text:find("/sandbox%d*%f[/%z]") then -- This is a sandbox template.
-- At the moment there are no user sandbox templates with subpage
-- “/sandbox”.
cats:insert("Sandbox templates")
-- Sandbox templates don’t really need documentation.
needs_doc = false
-- Will behave badly if “/sandbox” occurs twice in title!
local sandbox_of = title.fullText:gsub("/sandbox%d*%f[/%z]", "")
local diff
if title_exists(sandbox_of) then
diff = " (" .. compare_pages(title.fullText, sandbox_of, "diff") .. ")"
else
track("no sandbox of")
end
links:insert("[[:" .. sandbox_of .. "|sandbox of]]" .. (diff or ""))
-- This is a template that can have a sandbox.
elseif not args.nosandbox then -- unless we tell it not to
local sandbox_title = title.fullText .. "/sandbox"
local diff
if title_exists(sandbox_title) then
diff = " (" .. compare_pages(title.fullText, sandbox_title, "diff") .. ")"
end
links:insert("[[:" .. sandbox_title .. "|sandbox]]" .. (diff or ""))
end
end
if #links > 0 then
output:insert("<dd> ''Useful links'': " .. links:concat(" • ") .. "</dd>")
end
end
output:insert("</dl>\n")
-- Show error from [[Module:category tree/topic cat/data]] on its submodules'
-- documentation to, for instance, warn about duplicate labels.
if startswith(title.fullText, "Module:category tree/topic/") then
local ok, err = pcall(require, "Module:category tree/topic/data")
if not ok then
output:insert('<span class="error">' .. err .. '</span>\n\n')
end
end
if doc_title and doc_title.exists then
-- Override automatic documentation, if present.
doc_content = expand_template{ title = doc_title.fullText }
elseif not doc_content and fallback_docs then
doc_content = expand_template{
title = fallback_docs,
args = {
['user'] = user_name,
['page'] = title.fullText,
['skin name'] = skin_name,
},
}
end
if doc_content then
output:insert(doc_content)
end
output:insert(('\n<%s style="clear: both;" />'):format(args.hr == "below" and "hr" or "br"))
if cats_auto_generated and not cats[1] and (not doc_content or not doc_content:find("%[%[Category:")) then
if contentModel == "Scribunto" then
cats:insert("Uncategorized modules")
-- elseif title.nsText == "တမ်းပလေက်" then
-- cats:insert("Uncategorized templates")
end
end
if needs_doc then
cats:insert("တမ်းပလေက် တောမ်ႏ မော်ဂျူးဖုံႏ ကအဝ်ႏလိုႏဒါႏ စူခွုမ်လိတ်လာႏ")
end
for _, cat in ipairs(cats) do
output:insert("[[Category:" .. cat .. "]]")
end
output:insert("</div>\n")
return output:concat()
end
function export.module_auto_doc_table()
local parts = {}
local function ins(text)
insert(parts, text)
end
ins('{|class="wikitable"')
ins("! Regex !! Category !! Handling modules")
for _, spec in ipairs(module_regex) do
local cat_text
local cats = spec.cat
if cats then
local cat_parts = {}
if type(cats) == "string" then
cats = {cats}
end
for _, cat in ipairs(cats) do
insert(cat_parts, ("<code>%s</code>"):format((cat:gsub("|", "|"))))
end
cat_text = concat(cat_parts, ", ")
else
cat_text = "''(unspecified)''"
end
ins("|-")
ins(("| <code>%s</code> || %s || %s"):format(spec.regex, cat_text,
is_callable(spec.process) and "''(handled internally)''" or
type(spec.process) == "string" and ("[[Module:documentation/functions/%s]]"):format(spec.process) or
"''(no documentation generator)''"))
end
ins("|}")
return concat(parts, "\n")
end
-- Used by {{translit module documentation}}.
function export.translitModuleLangList(frame)
local pagename, subpage
if frame.args[1] then
pagename = frame.args[1]
else
local title = get_current_title()
subpage = title.subpageText
pagename = title.text
if subpage ~= pagename then
pagename = title.rootText
end
end
local translitModule = pagename
local languageObjects = require("Module:languages/byTranslitModule")(translitModule)
local codeInPagename = pagename:match("^([%l-]+)%-.*translit$")
local categories = Array()
local codeInPagenameInList = false
if codeInPagename then
if languageObjects[1] and subpage ~= "documentation" then
local agreement = languageObjects[2] and "s" or ""
categories:insert("[[Category:Transliteration modules used by " ..
#languageObjects .. " language" .. agreement .. "]]")
end
languageObjects = Array(languageObjects)
:filter(
function (lang)
local result = lang:getCode() ~= codeInPagename
codeInPagenameInList = codeInPagenameInList or result
return result
end)
end
if subpage ~= "documentation" then
for script_code in pagename:gmatch("%f[^-%z]%u%l%l%l%f[-]") do
local script = get_script(script_code)
if script then
categories:insert("[[Category:" .. script:getCategoryName() .. "]]")
end
end
end
if subpage ~= "documentation" and not title_exists("Module:" .. pagename .. "/testcases") then
categories:insert("[[Category:Transliteration modules without a testcases subpage]]")
end
if not languageObjects[1] then
return categories:concat()
end
local langs = Array(languageObjects)
:sort(
function(lang1, lang2)
return lang1:getCode() < lang2:getCode()
end)
-- This will not error because languageObjects is not empty.
:map(languageObjects[1].makeCategoryLink)
:serialCommaJoin()
return "It is " .. ( codeInPagenameInList and "also" or "" ) ..
" used to transliterate " .. langs .. "." .. categories:concat()
end
-- Used by {{entry name module documentation}}.
function export.entryNameModuleLangList(frame)
local pagename, subpage
if frame.args[1] then
pagename = frame.args[1]
else
local title = get_current_title()
subpage = title.subpageText
pagename = title.text
if subpage ~= pagename then
pagename = title.rootText
end
end
local entryNameModule = pagename
local languageObjects = require("Module:languages/byEntryNameModule")(entryNameModule)
local codeInPagename = pagename:match("^([%l-]+)%-.*entryname$")
local categories = Array()
local codeInPagenameInList = false
if codeInPagename then
if languageObjects[1] and subpage ~= "documentation" then
local agreement = languageObjects[2] and "s" or ""
categories:insert("[[Category:Entry name-generating modules used by " ..
#languageObjects .. " language" .. agreement .. "]]")
end
languageObjects = Array(languageObjects)
:filter(
function (lang)
local result = lang:getCode() ~= codeInPagename
codeInPagenameInList = codeInPagenameInList or result
return result
end)
end
if subpage ~= "documentation" then
for script_code in pagename:gmatch("%f[^-%z]%u%l%l%l%f[-]") do
local script = get_script(script_code)
if script then
categories:insert("[[Category:" .. script:getCategoryName() .. "]]")
end
end
end
if subpage ~= "documentation" and not title_exists("Module:" .. pagename .. "/testcases") then
categories:insert("[[Category:Entry name-generating modules without a testcases subpage]]")
end
if not languageObjects[1] then
return categories:concat()
end
local langs = Array(languageObjects)
:sort(
function(lang1, lang2)
return lang1:getCode() < lang2:getCode()
end)
-- This will not error because languageObjects is not empty.
:map(languageObjects[1].makeCategoryLink)
:serialCommaJoin()
return "It is " .. ( codeInPagenameInList and "also" or "" ) ..
" used to generate entry names for " .. langs .. "." .. categories:concat()
end
-- Used by {{sortkey module documentation}}.
function export.sortkeyModuleLangList(frame)
local pagename, subpage
if frame.args[1] then
pagename = frame.args[1]
else
local title = get_current_title()
subpage = title.subpageText
pagename = title.text
if subpage ~= pagename then
pagename = title.rootText
end
end
local sortkeyModule = pagename
local languageObjects = require("Module:languages/bySortkeyModule")(sortkeyModule)
local codeInPagename = pagename:match("^([%l-]+)%-.*sortkey$")
local categories = Array()
local codeInPagenameInList = false
if codeInPagename then
if languageObjects[1] and subpage ~= "documentation" then
local agreement = languageObjects[2] and "s" or ""
categories:insert("[[Category:Sortkey-generating modules used by " ..
#languageObjects .. " language" .. agreement .. "]]")
end
languageObjects = Array(languageObjects)
:filter(
function (lang)
local result = lang:getCode() ~= codeInPagename
codeInPagenameInList = codeInPagenameInList or result
return result
end)
end
if subpage ~= "documentation" then
for script_code in pagename:gmatch("%f[^-%z]%u%l%l%l%f[-]") do
local script = get_script(script_code)
if script then
categories:insert("[[Category:" .. script:getCategoryName() .. "]]")
end
end
end
if subpage ~= "documentation" and not title_exists("Module:" .. pagename .. "/testcases") then
categories:insert("[[Category:Sortkey-generating modules without a testcases subpage]]")
end
if not languageObjects[1] then
return categories:concat()
end
local langs = Array(languageObjects)
:sort(
function(lang1, lang2)
return lang1:getCode() < lang2:getCode()
end)
-- This will not error because languageObjects is not empty.
:map(languageObjects[1].makeCategoryLink)
:serialCommaJoin()
return "It is " .. ( codeInPagenameInList and "also" or "" ) ..
" used to sort " .. langs .. "." .. categories:concat()
end
return export
nup2snoc6kqigr542x0fjk0kib3fu24
မော်ဂျူး:headword/data
828
188
11805
11607
2025-06-23T08:12:15Z
咽頭べさ
11
11805
Scribunto
text/plain
local headword_page_module = "Module:headword/page"
local list_to_set = require("Module:table").listToSet
local data = {}
------ 1. Lists which are converted into sets. ------
-- Zero-plurals (i.e. invariable plurals).
local irregular_plurals = list_to_set({
"cmavo",
"cmene",
"fu'ivla",
"gismu",
"Han tu",
"hanja",
"hanzi",
"jyutping",
"kana",
"kanji",
"lujvo",
"phrasebook",
"pinyin",
"rafsi",
}, function(_, item)
return item
end)
-- Irregular non-zero plurals AND any regular plurals where the singular ends in "s",
-- because the module assumes that inputs ending in "s" are plurals. The singular and
-- plural both need to be added, as the module will generate a default plural if
-- the input doesn't match a key in this table.
for sg, pl in next, {
mora = "morae"
} do
irregular_plurals[sg], irregular_plurals[pl] = pl, pl
end
data.irregular_plurals = irregular_plurals
data.lemmas = list_to_set{
"နာမ်ႏ",
"နာမ်ႏဆဲင်ႏတဖြာꩻ",
"နာမ်ႏဆဲင်ႏလိုꩻအာ",
"စိတ္တဇနာမ်ႏဖုံႏ",
"အွဉ်ႏနယ်ခြွဉ်းနာမ်ႏဖုံႏ",
"ကြိယာႏ",
"ကြိယာႏဝိသေသန",
"နာမဝိသေသန",
"နာမ်ႏတင်",
"နာမ်ႏခြွိုင်းဖုံႏ",
"ဝိဘတ်",
"အဆွိုင်ꩻဝင်ꩻဖုံႏ",
"အအဲဉ်ႏ",
"ရောမ်ဖြုဲင်ꩻ",
"အီဒီယမ်",
"အာမေဍိတ်",
"အက္ခရာႏ",
"လိတ်ဖြုံႏ",
"ငဝ်းခြွဉ်းဖုံႏ",
"အမုဲင်စဲဉ်ႏဖုံႏ",
"ဂဏန်ꩻ",
"ကိန်ꩻဂဏန်ꩻအမုဲင်ဖုံႏ",
"ဒေါ့ꩻရိုꩻသေꩻငဝ်းဖုံႏ",
"ငဝ်းပွုံႏခွိုင်ꩻဖုံႏ",
"ဖပုဒ်အုံယွိုင်းပုဒ်သင်္ကေတဖုံႏ",
"အက္ခရာႏဖုံႏ",
"အမုဲင်(သင်္ကေတ)ဖုံႏ",
"အဒွေါင်ႏနယ်ꩻ",
"ဝိဘတ်",
"ကတဲက်ထွားနွောင်ꩻဒါႏ ကြိယာဝိသေသနဖုံႏ",
"ကတဲက်ထွားနွောင်ꩻဒါႏ နာမဝိသေသနဖုံႏ",
"အလွိုကဲꩻသွတ်ꩻ ကြိယာဝိသေသနဖုံႏ",
"အလွိုကဲꩻသွတ်ꩻ နာမဝိသေသနဖုံႏ",
"အသွုပ်ဆုဲင်ꩻဖုံႏ",
"အခြွိုင်းဖုံႏ",
"ငဝ်းငွါအကွို့ꩻအခဝ်",
"abbreviations",
"acronyms",
"adjectives",
"adnominals",
"adpositions",
"adverbs",
"affixes",
"ambipositions",
"articles",
"circumfixes",
"circumpositions",
"classifiers",
"cmavo",
"cmavo clusters",
"cmene",
"combining forms",
"comparative adjectives",
"comparative adverbs",
"conjunctions",
"counters",
"determiners",
"diacritical marks",
"equative adjectives",
"fu'ivla",
"gismu",
"Han characters",
"Han tu",
"hanzi",
"hanja",
"idioms",
"infixes",
"interfixes",
"initialisms",
"interjections",
"kanji",
"letters",
"ligatures",
"lujvo",
"morphemes",
"non-constituents",
"nouns",
"numbers",
"numeral symbols",
"numerals",
"particles",
"ငဝ်းစုဗူႏဖုံႏ",
"postpositions",
"predicatives",
"prefixes",
"prepositions",
"prepositional phrases",
"preverbs",
"pronominal adverbs",
"pronouns",
"proverbs",
"proper nouns",
"punctuation marks",
"relatives",
"roots",
"stems",
"suffixes",
"superlative adjectives",
"superlative adverbs",
"syllables",
"symbols",
}
data.nonlemmas = list_to_set{
"active participles",
"adjectival participles",
"နာမဝိသေသနပုဒ်",
"adjective comparative forms",
"adjective feminine forms",
"adjective equative forms",
"adjective plural forms",
"adjective superlative forms",
"ကြိယာႏဝိသေသနပုဒ်",
"adverb comparative forms",
"adverb superlative forms",
"adverbial participles",
"agent participles",
"article forms",
"circumfix forms",
"combined forms",
"ငဝ်းအွဉ်ႏဒင်ႏဒွေါင်ႏထိုꩻဖုံႏ",
"converbs",
"determiner comparative forms",
"determiner forms",
"determiner superlative forms",
"diminutive nouns",
"future participles",
"gerunds",
"infinitive forms",
"infinitives",
"interjection forms",
"jyutping",
"kanji readings",
"misspellings",
"negative participles",
"nominal participles",
"noun case forms",
"noun dual forms",
"နာမ်ႏပုဒ်",
"နာမ်ႏအအာကိန်ꩻပုံႏစံႏဖုံႏ",
"noun possessive forms",
"noun singulative forms",
"ဂဏန်ꩻပုဒ်",
"participles",
"participle forms",
"particle forms",
"passive participles",
"past active participles",
"past participles",
"past participle forms",
"past passive participles",
"perfect active participles",
"perfect participles",
"perfect passive participles",
"pinyin",
"အအာကိန်ꩻဖုံႏ",
"postposition forms",
"prefix forms",
"preposition contractions",
"ဝိဘတ်ပုဒ်",
"prepositional pronouns",
"present active participles",
"အွဉ်ႏနယ်အဝ်ႏထွာတွင်ꩻ ကြိယာႏသဏ္ဍာန်ႏဖုံႏ",
"present passive participles",
"နာမ်ႏတင်ပုဒ်",
"pronoun possessive forms",
"နာမ်ႏဆဲင်ႏတဖြာꩻပုဒ်",
"နာမ်ႏဆဲင်ႏတဖြာꩻ ပုဒ်အအာကိန်ꩻဖုံႏ",
"နာမ်ႏဆဲင်ႏတဖြာꩻ ပုဒ်အအာကိန်ꩻဖုံႏ",
"rafsi",
"လုဲင်ႏတွမ်ႏရောမအက္ခရာႏ",
"singulatives",
"suffix forms",
"ကြိယာႏပုဒ်",
"verbal nouns",
}
-- These langauges will not have links to separate parts of the headword.
data.no_multiword_links = list_to_set{
"zh",
}
-- These languages will not have "LANG multiword terms" categories added.
data.no_multiword_cat = list_to_set{
-------- Languages without spaces between words (sometimes spaces between phrases) --------
"blt", -- Tai Dam
"ja", -- Japanese
"khb", -- Lü
"km", -- Khmer
"lo", -- Lao
"mnw", -- Mon
"my", -- Burmese
"nan", -- Min Nan (some words in Latin script; hyphens between syllables)
"nan-hbl", -- Hokkien (some words in Latin script; hyphens between syllables)
"nod", -- Northern Thai
"ojp", -- Old Japanese
"shn", -- Shan
"sou", -- Southern Thai
"tdd", -- Tai Nüa
"th", -- Thai
"tts", -- Isan
"twh", -- Tai Dón
"txg", -- Tangut
"zh", -- Chinese (all varieties with Chinese characters)
"zkt", -- Khitan
-------- Languages with spaces between syllables --------
"ahk", -- Akha
"aou", -- A'ou
"atb", -- Zaiwa
"byk", -- Biao
"cdy", -- Chadong
--"duu", -- Drung; not sure
--"hmx-pro", -- Proto-Hmong-Mien
--"hnj", -- Green Hmong; not sure
"huq", -- Tsat
"ium", -- Iu Mien
--"lis", -- Lisu; not sure
"mtq", -- Muong
--"mww", -- White Hmong; not sure
"onb", -- Lingao
--"sit-gkh", -- Gokhy; not sure
--"swi", -- Sui; not sure
"tbq-lol-pro", -- Proto-Loloish
"tdh", -- Thulung
"ukk", -- Muak Sa-aak
"vi", -- Vietnamese
"yig", -- Wusa Nasu
"zng", -- Mang
-------- Languages with ~ with surrounding spaces used to separate variants --------
"mkh-ban-pro", -- Proto-Bahnaric
"sit-pro", -- Proto-Sino-Tibetan; listed above
-------- Other weirdnesses --------
"mul", -- Translingual; gestures, Morse code, etc.
"aot", -- Atong (India); bullet is a letter
-------- All sign languages --------
"ads",
"aed",
"aen",
"afg",
"ase",
"asf",
"asp",
"asq",
"asw",
"bfi",
"bfk",
"bog",
"bqn",
"bqy",
"bvl",
"bzs",
"cds",
"csc",
"csd",
"cse",
"csf",
"csg",
"csl",
"csn",
"csq",
"csr",
"doq",
"dse",
"dsl",
"ecs",
"esl",
"esn",
"eso",
"eth",
"fcs",
"fse",
"fsl",
"fss",
"gds",
"gse",
"gsg",
"gsm",
"gss",
"gus",
"hab",
"haf",
"hds",
"hks",
"hos",
"hps",
"hsh",
"hsl",
"icl",
"iks",
"ils",
"inl",
"ins",
"ise",
"isg",
"isr",
"jcs",
"jhs",
"jls",
"jos",
"jsl",
"jus",
"kgi",
"kvk",
"lbs",
"lls",
"lsl",
"lso",
"lsp",
"lst",
"lsy",
"lws",
"mdl",
"mfs",
"mre",
"msd",
"msr",
"mzc",
"mzg",
"mzy",
"nbs",
"ncs",
"nsi",
"nsl",
"nsp",
"nsr",
"nzs",
"okl",
"pgz",
"pks",
"prl",
"prz",
"psc",
"psd",
"psg",
"psl",
"pso",
"psp",
"psr",
"pys",
"rms",
"rsl",
"rsm",
"sdl",
"sfb",
"sfs",
"sgg",
"sgx",
"slf",
"sls",
"sqk",
"sqs",
"ssp",
"ssr",
"svk",
"swl",
"syy",
"tse",
"tsm",
"tsq",
"tss",
"tsy",
"tza",
"ugn",
"ugy",
"ukl",
"uks",
"vgt",
"vsi",
"vsl",
"vsv",
"xki",
"xml",
"xms",
"ygs",
"ysl",
"zib",
"zsl",
}
-- In these languages, the hyphen is not considered a word separator for the "multiword terms" category.
data.hyphen_not_multiword_sep = list_to_set{
"akk", -- Akkadian; hyphens between syllables
"akl", -- Aklanon; hyphens for mid-word glottal stops
"ber-pro", -- Proto-Berber; morphemes separated by hyphens
"ceb", -- Cebuano; hyphens for mid-word glottal stops
"cnk", -- Khumi Chin; hyphens used in single words
"cpi", -- Chinese Pidgin English; Chinese-derived words with hyphens between syllables
"de", -- too many false positives
"esx-esk-pro", -- hyphen used to separate morphemes
"fi", -- Finnish; hyphen used to separate components in compound words if the final and initial vowels match, respectively
"hil", -- Hiligaynon; hyphens for mid-word glottal stops
"hnn", -- Hanunoo; too many false positives
"ilo", -- Ilocano; hyphens for mid-word glottal stops
"kne", -- Kankanaey; hyphens for mid-word glottal stops
"lcp", -- Western Lawa; dash as syllable joiner
"lwl", -- Eastern Lawa; dash as syllable joiner
"mfa", -- Pattani Malay in Thai script; dash as syllable joiner
"mkh-vie-pro", -- Proto-Vietic; morphemes separated by hyphens
"msb", -- Masbatenyo; too many false positives
"tl", -- Tagalog; too many false positives
"war", -- Waray-Waray; too many false positives
"yo", -- Yoruba; hyphens used to show lengthened nasal vowels
}
-- These languages will not have "LANG masculine nouns" and similar categories added.
data.no_gender_cat = list_to_set{
-- Languages without gender but which use the gender field for other purposes
"ja",
"th",
}
data.notranslit = list_to_set{
"ams",
"az",
"bbc",
"bug",
"cdo",
"cia",
"cjm",
"cjy",
"cmn",
"cnp",
"cpi",
"cpx",
"csp",
"czh",
"czo",
"gan",
"hak",
"hnm",
"hsn",
"ja",
"kzg",
"lad",
"ltc",
"luh",
"lzh",
"mnp",
"ms",
"mul",
"mvi",
"nan",
"nan-dat",
"nan-hbl",
"nan-hlh",
"nan-lnx",
"nan-tws",
"nan-zhe",
"nan-zsh",
"och",
"oj",
"okn",
"ryn",
"rys",
"ryu",
"sh",
"sjc",
"tgt",
"th",
"tkn",
"tly",
"txg",
"und",
"vi",
"wuu",
"xug",
"yoi",
"yox",
"yue",
"za",
"zh",
"zhx-sic",
"zhx-tai",
}
-- Script codes for which a script-tagged display title will be added.
data.toBeTagged = list_to_set{
"Ahom",
"Arab",
"fa-Arab",
"glk-Arab",
"kk-Arab",
"ks-Arab",
"ku-Arab",
"mzn-Arab",
"ms-Arab",
"ota-Arab",
"pa-Arab",
"ps-Arab",
"sd-Arab",
"tt-Arab",
"ug-Arab",
"ur-Arab",
"Armi",
"Armn",
"Avst",
"Bali",
"Bamu",
"Batk",
"Beng",
"as-Beng",
"Bopo",
"Brah",
"Brai",
"Bugi",
"Buhd",
"Cakm",
"Cans",
"Cari",
"Cham",
"Cher",
"Copt",
"Cprt",
"Cyrl",
"Cyrs",
"Deva",
"Dsrt",
"Egyd",
"Egyp",
"Ethi",
"Geok",
"Geor",
"Glag",
"Goth",
"Grek",
"Polyt",
"polytonic",
"Gujr",
"Guru",
"Hang",
"Hani",
"Hano",
"Hebr",
"Hira",
"Hluw",
"Ital",
"Java",
"Kali",
"Kana",
"Khar",
"Khmr",
"Knda",
"Kthi",
"Lana",
"Laoo",
"Latn",
"Latf",
"Latg",
"Latnx",
"Latinx",
"pjt-Latn",
"Lepc",
"Limb",
"Linb",
"Lisu",
"Lyci",
"Lydi",
"Mand",
"Mani",
"Marc",
"Merc",
"Mero",
"Mlym",
"Mong",
"mnc-Mong",
"sjo-Mong",
"xwo-Mong",
"Mtei",
"Mymr",
"Narb",
"Nkoo",
"Nshu",
"Ogam",
"Olck",
"Orkh",
"Orya",
"Osma",
"Ougr",
"Palm",
"Phag",
"Phli",
"Phlv",
"Phnx",
"Plrd",
"Prti",
"Rjng",
"Runr",
"Samr",
"Sarb",
"Saur",
"Sgnw",
"Shaw",
"Shrd",
"Sinh",
"Sora",
"Sund",
"Sylo",
"Syrc",
"Tagb",
"Tale",
"Talu",
"Taml",
"Tang",
"Tavt",
"Telu",
"Tfng",
"Tglg",
"Thaa",
"Thai",
"Tibt",
"Ugar",
"Vaii",
"Xpeo",
"Xsux",
"Yiii",
"Zmth",
"Zsym",
"Ipach",
"Music",
"Rumin",
}
-- Parts of speech which will not be categorised in categories like "English terms spelled with É" if
-- the term is the character in question (e.g. the letter entry for English [[é]]). This contrasts with
-- entries like the French adjective [[m̂]], which is a one-letter word spelled with the letter.
data.pos_not_spelled_with_self = list_to_set{
"diacritical marks",
"Han characters",
"Han tu",
"hanja",
"hanzi",
"iteration marks",
"kana",
"kanji",
"letters",
"ligatures",
"logograms",
"morae",
"numeral symbols",
"numerals",
"punctuation marks",
"syllables",
"symbols",
}
------ 2. Lists not converted into sets. ------
-- Recognized aliases for parts of speech (param 2=). Key is the short form and value is the canonical singular (not
-- pluralized) form. It is singular so that the same table can be used in [[Module:form of]] for the p=/POS= param
-- and [[Module:links]] for the pos= param.
data.pos_aliases = {
a = "နာမဝိသေသန",
adj = "နာမဝိသေသန",
adjective = "နာမဝိသေသန",
adjectives = "နာမဝိသေသန",
["adjective forms"] = "နာမဝိသေသနပုဒ်",
adv = "ကြိယာႏဝိသေသန",
adverb = "ကြိယာႏဝိသေသန",
adverbs = "ကြိယာႏဝိသေသန",
["adverb forms"] = "ကြိယာႏဝိသေသနပုဒ်",
art = "article",
det = "determiner",
compadj = "comparative adjective",
compadv = "comparative adverb",
conj = "conjunction",
conv = "converb",
int = "အာမေဍိတ်",
interj = "အာမေဍိတ်",
intj = "အာမေဍိတ်",
interjection = "အာမေဍိတ်",
interjections = "အာမေဍိတ်",
["interjection forms"] = "အာမေဍိတ်ပုဒ်",
n = "နာမ်ႏ",
noun = "နာမ်ႏ",
nouns = "နာမ်ႏ",
["noun forms"] = "နာမ်ႏပုဒ်",
-- the next two support Algonquian languages; see also vii/vai/vti/vta below
na = "animate noun",
ni = "inanimate noun",
num = "ဂဏန်ꩻ",
numeral = "ဂဏန်ꩻ",
numerals = "ဂဏန်ꩻ",
["numeral forms"] = "ဂဏန်ꩻပုဒ်",
part = "participle",
pcl = "particle",
phr = "ငဝ်းစုဗူႏ",
phrase = "ငဝ်းစုဗူႏ",
phrases = "ငဝ်းစုဗူႏ",
["phrase forms"] = "ငဝ်းစုဗူႏပုဒ်",
pn = "နာမ်ႏဆဲင်ႏတဖြာꩻ",
["proper noun"] = "နာမ်ႏဆဲင်ႏတဖြာꩻ",
["proper nouns"] = "နာမ်ႏဆဲင်ႏတဖြာꩻ",
["proper noun forms"] = "နာမ်ႏဆဲင်ႏတဖြာꩻပုဒ်",
postp = "postposition",
pref = "prefix",
prep = "ဝိဘတ်",
preposition = "ဝိဘတ်",
prepositions = "ဝိဘတ်",
["preposition forms"] = "ဝိဘတ်ပုဒ်",
pron = "နာမ်ႏတင်",
pronoun = "နာမ်ႏတင်",
pronouns = "နာမ်ႏတင်",
["pronoun forms"] = "နာမ်ႏတင်ပုဒ်",
prop = "နာမ်ႏဆဲင်ႏတဖြာꩻ",
proper = "နာမ်ႏဆဲင်ႏတဖြာꩻ",
propn = "နာမ်ႏဆဲင်ႏတဖြာꩻ",
rom = "လုဲင်ႏတွမ်ႏရောမအက္ခရာႏ",
romanization = "လုဲင်ႏတွမ်ႏရောမအက္ခရာႏ",
romanizations = "လုဲင်ႏတွမ်ႏရောမအက္ခရာႏ",
suf = "suffix",
supadj = "superlative adjective",
supadv = "superlative adverb",
v = "verb",
verb = "ကြိယာႏ",
verbs = "ကြိယာႏ",
["verb forms"] = "ကြိယာႏပုဒ်",
vb = "ကြိယာႏ",
vi = "intransitive verb",
vt = "transitive verb",
-- the next four support Algonquian languages
vii = "inanimate intransitive verb",
vai = "animate intransitive verb",
vti = "transitive inanimate verb",
vta = "transitive animate verb",
}
-- Parts of speech for which categories like "German masculine nouns" or "Russian imperfective verbs"
-- will be generated if the headword is of the appropriate gender/number.
data.pos_for_gender_number_cat = {
["နာမ်ႏဖုံႏ"] = "နာမ်ႏဖုံႏ",
["proper nouns"] = "နာမ်ႏဖုံႏ",
["အသွုပ်ဆုဲင်ꩻ"] = "အသွုပ်ဆုဲင်ꩻ",
-- We include verbs because impf and pf are valid "genders".
["ကြိယာႏဖုံႏ"] = "ကြိယာႏဖုံႏ",
}
------ 3. Page-wide processing (so that it only needs to be done once per page). ------
data.page = require(headword_page_module).process_page()
-- Fuckme, random references to data.pagename and data.encoded_pagename are scattered throughout the codebase. FIXME!
data.pagename = data.page.pagename
data.encoded_pagename = data.page.encoded_pagename
return data
qns0fn3fes6wkli4dm82stl6h5q6742
11846
11805
2025-06-23T10:49:57Z
咽頭べさ
11
11846
Scribunto
text/plain
local headword_page_module = "Module:headword/page"
local list_to_set = require("Module:table").listToSet
local data = {}
------ 1. Lists which are converted into sets. ------
-- Zero-plurals (i.e. invariable plurals).
local irregular_plurals = list_to_set({
"cmavo",
"cmene",
"fu'ivla",
"gismu",
"Han tu",
"hanja",
"hanzi",
"jyutping",
"kana",
"kanji",
"lujvo",
"phrasebook",
"pinyin",
"rafsi",
}, function(_, item)
return item
end)
-- Irregular non-zero plurals AND any regular plurals where the singular ends in "s",
-- because the module assumes that inputs ending in "s" are plurals. The singular and
-- plural both need to be added, as the module will generate a default plural if
-- the input doesn't match a key in this table.
for sg, pl in next, {
mora = "morae"
} do
irregular_plurals[sg], irregular_plurals[pl] = pl, pl
end
data.irregular_plurals = irregular_plurals
data.lemmas = list_to_set{
"နာမ်ႏ",
"နာမ်ႏဆဲင်ႏတဖြာꩻ",
"နာမ်ႏဆဲင်ႏလိုꩻအာ",
"စိတ္တဇနာမ်ႏ",
"အွဉ်ႏနယ်ခြွဉ်းနာမ်ႏ",
"ကြိယာႏ",
"ကြိယာႏဝိသေသန",
"နာမဝိသေသန",
"နာမ်ႏတင်",
"နာမ်ႏခြွိုင်း",
"ဝိဘတ်",
"အဆွိုင်ꩻဝင်ꩻ",
"အအဲဉ်ႏ",
"ရောမ်ဖြုဲင်ꩻ",
"အီဒီယမ်",
"အာမေဍိတ်",
"အက္ခရာႏ",
"လိတ်ဖြုံႏ",
"ငဝ်းခြွဉ်း",
"အမုဲင်စဲဉ်ႏ",
"ဂဏန်ꩻ",
"ကိန်ꩻဂဏန်ꩻအမုဲင်",
"ဒေါ့ꩻရိုꩻသေꩻငဝ်း",
"ငဝ်းပွုံႏခွိုင်ꩻ",
"ဖပုဒ်အုံယွိုင်းပုဒ်သင်္ကေတ",
"အက္ခရာႏ",
"အမုဲင်(သင်္ကေတ)",
"အဒွေါင်ႏနယ်ꩻ",
"ဝိဘတ်",
"ကတဲက်ထွားနွောင်ꩻဒါႏ ကြိယာဝိသေသန",
"ကတဲက်ထွားနွောင်ꩻဒါႏ နာမဝိသေသန",
"အလွိုကဲꩻသွတ်ꩻ ကြိယာဝိသေသန",
"အလွိုကဲꩻသွတ်ꩻ နာမဝိသေသန",
"အသွုပ်ဆုဲင်ꩻ",
"အခြွိုင်း",
"ငဝ်းငွါအကွို့ꩻအခဝ်",
"abbreviations",
"acronyms",
"adnominals",
"adpositions",
"adverbs",
"affixes",
"ambipositions",
"articles",
"circumfixes",
"circumpositions",
"classifiers",
"cmavo",
"cmavo clusters",
"cmene",
"combining forms",
"comparative adjectives",
"comparative adverbs",
"conjunctions",
"counters",
"determiners",
"diacritical marks",
"equative adjectives",
"fu'ivla",
"gismu",
"Han characters",
"Han tu",
"hanzi",
"hanja",
"idioms",
"infixes",
"interfixes",
"initialisms",
"interjections",
"kanji",
"ligatures",
"lujvo",
"morphemes",
"non-constituents",
"nouns",
"numbers",
"numeral symbols",
"numerals",
"particles",
"ငဝ်းစုဗူႏ",
"postpositions",
"predicatives",
"prefixes",
"prepositions",
"prepositional phrases",
"preverbs",
"pronominal adverbs",
"pronouns",
"proverbs",
"proper nouns",
"punctuation marks",
"relatives",
"roots",
"stems",
"suffixes",
"superlative adjectives",
"superlative adverbs",
"syllables",
"symbols",
}
data.nonlemmas = list_to_set{
"active participles",
"adjectival participles",
"နာမဝိသေသနပုဒ်",
"adjective comparative forms",
"adjective feminine forms",
"adjective equative forms",
"adjective plural forms",
"adjective superlative forms",
"ကြိယာႏဝိသေသနပုဒ်",
"adverb comparative forms",
"adverb superlative forms",
"adverbial participles",
"agent participles",
"article forms",
"circumfix forms",
"combined forms",
"ငဝ်းအွဉ်ႏဒင်ႏဒွေါင်ႏထိုꩻ",
"converbs",
"determiner comparative forms",
"determiner forms",
"determiner superlative forms",
"diminutive nouns",
"future participles",
"gerunds",
"infinitive forms",
"infinitives",
"interjection forms",
"jyutping",
"kanji readings",
"misspellings",
"negative participles",
"nominal participles",
"noun case forms",
"noun dual forms",
"နာမ်ႏပုဒ်",
"နာမ်ႏအအာကိန်ꩻပုံႏစံႏ",
"noun possessive forms",
"noun singulative forms",
"ဂဏန်ꩻပုဒ်",
"participles",
"participle forms",
"particle forms",
"passive participles",
"past active participles",
"past participles",
"past participle forms",
"past passive participles",
"perfect active participles",
"perfect participles",
"perfect passive participles",
"pinyin",
"အအာကိန်ꩻ",
"postposition forms",
"prefix forms",
"preposition contractions",
"ဝိဘတ်ပုဒ်",
"prepositional pronouns",
"present active participles",
"အွဉ်ႏနယ်အဝ်ႏထွာတွင်ꩻ ကြိယာႏသဏ္ဍာန်ႏ",
"present passive participles",
"နာမ်ႏတင်ပုဒ်",
"pronoun possessive forms",
"နာမ်ႏဆဲင်ႏတဖြာꩻပုဒ်",
"နာမ်ႏဆဲင်ႏတဖြာꩻ ပုဒ်အအာကိန်ꩻ",
"နာမ်ႏဆဲင်ႏတဖြာꩻ ပုဒ်အအာကိန်ꩻ",
"rafsi",
"လုဲင်ႏတွမ်ႏရောမအက္ခရာႏ",
"singulatives",
"suffix forms",
"ကြိယာႏပုဒ်",
"verbal nouns",
}
-- These langauges will not have links to separate parts of the headword.
data.no_multiword_links = list_to_set{
"zh",
}
-- These languages will not have "LANG multiword terms" categories added.
data.no_multiword_cat = list_to_set{
-------- Languages without spaces between words (sometimes spaces between phrases) --------
"blt", -- Tai Dam
"ja", -- Japanese
"khb", -- Lü
"km", -- Khmer
"lo", -- Lao
"mnw", -- Mon
"my", -- Burmese
"nan", -- Min Nan (some words in Latin script; hyphens between syllables)
"nan-hbl", -- Hokkien (some words in Latin script; hyphens between syllables)
"nod", -- Northern Thai
"ojp", -- Old Japanese
"shn", -- Shan
"sou", -- Southern Thai
"tdd", -- Tai Nüa
"th", -- Thai
"tts", -- Isan
"twh", -- Tai Dón
"txg", -- Tangut
"zh", -- Chinese (all varieties with Chinese characters)
"zkt", -- Khitan
-------- Languages with spaces between syllables --------
"ahk", -- Akha
"aou", -- A'ou
"atb", -- Zaiwa
"byk", -- Biao
"cdy", -- Chadong
--"duu", -- Drung; not sure
--"hmx-pro", -- Proto-Hmong-Mien
--"hnj", -- Green Hmong; not sure
"huq", -- Tsat
"ium", -- Iu Mien
--"lis", -- Lisu; not sure
"mtq", -- Muong
--"mww", -- White Hmong; not sure
"onb", -- Lingao
--"sit-gkh", -- Gokhy; not sure
--"swi", -- Sui; not sure
"tbq-lol-pro", -- Proto-Loloish
"tdh", -- Thulung
"ukk", -- Muak Sa-aak
"vi", -- Vietnamese
"yig", -- Wusa Nasu
"zng", -- Mang
-------- Languages with ~ with surrounding spaces used to separate variants --------
"mkh-ban-pro", -- Proto-Bahnaric
"sit-pro", -- Proto-Sino-Tibetan; listed above
-------- Other weirdnesses --------
"mul", -- Translingual; gestures, Morse code, etc.
"aot", -- Atong (India); bullet is a letter
-------- All sign languages --------
"ads",
"aed",
"aen",
"afg",
"ase",
"asf",
"asp",
"asq",
"asw",
"bfi",
"bfk",
"bog",
"bqn",
"bqy",
"bvl",
"bzs",
"cds",
"csc",
"csd",
"cse",
"csf",
"csg",
"csl",
"csn",
"csq",
"csr",
"doq",
"dse",
"dsl",
"ecs",
"esl",
"esn",
"eso",
"eth",
"fcs",
"fse",
"fsl",
"fss",
"gds",
"gse",
"gsg",
"gsm",
"gss",
"gus",
"hab",
"haf",
"hds",
"hks",
"hos",
"hps",
"hsh",
"hsl",
"icl",
"iks",
"ils",
"inl",
"ins",
"ise",
"isg",
"isr",
"jcs",
"jhs",
"jls",
"jos",
"jsl",
"jus",
"kgi",
"kvk",
"lbs",
"lls",
"lsl",
"lso",
"lsp",
"lst",
"lsy",
"lws",
"mdl",
"mfs",
"mre",
"msd",
"msr",
"mzc",
"mzg",
"mzy",
"nbs",
"ncs",
"nsi",
"nsl",
"nsp",
"nsr",
"nzs",
"okl",
"pgz",
"pks",
"prl",
"prz",
"psc",
"psd",
"psg",
"psl",
"pso",
"psp",
"psr",
"pys",
"rms",
"rsl",
"rsm",
"sdl",
"sfb",
"sfs",
"sgg",
"sgx",
"slf",
"sls",
"sqk",
"sqs",
"ssp",
"ssr",
"svk",
"swl",
"syy",
"tse",
"tsm",
"tsq",
"tss",
"tsy",
"tza",
"ugn",
"ugy",
"ukl",
"uks",
"vgt",
"vsi",
"vsl",
"vsv",
"xki",
"xml",
"xms",
"ygs",
"ysl",
"zib",
"zsl",
}
-- In these languages, the hyphen is not considered a word separator for the "multiword terms" category.
data.hyphen_not_multiword_sep = list_to_set{
"akk", -- Akkadian; hyphens between syllables
"akl", -- Aklanon; hyphens for mid-word glottal stops
"ber-pro", -- Proto-Berber; morphemes separated by hyphens
"ceb", -- Cebuano; hyphens for mid-word glottal stops
"cnk", -- Khumi Chin; hyphens used in single words
"cpi", -- Chinese Pidgin English; Chinese-derived words with hyphens between syllables
"de", -- too many false positives
"esx-esk-pro", -- hyphen used to separate morphemes
"fi", -- Finnish; hyphen used to separate components in compound words if the final and initial vowels match, respectively
"hil", -- Hiligaynon; hyphens for mid-word glottal stops
"hnn", -- Hanunoo; too many false positives
"ilo", -- Ilocano; hyphens for mid-word glottal stops
"kne", -- Kankanaey; hyphens for mid-word glottal stops
"lcp", -- Western Lawa; dash as syllable joiner
"lwl", -- Eastern Lawa; dash as syllable joiner
"mfa", -- Pattani Malay in Thai script; dash as syllable joiner
"mkh-vie-pro", -- Proto-Vietic; morphemes separated by hyphens
"msb", -- Masbatenyo; too many false positives
"tl", -- Tagalog; too many false positives
"war", -- Waray-Waray; too many false positives
"yo", -- Yoruba; hyphens used to show lengthened nasal vowels
}
-- These languages will not have "LANG masculine nouns" and similar categories added.
data.no_gender_cat = list_to_set{
-- Languages without gender but which use the gender field for other purposes
"ja",
"th",
}
data.notranslit = list_to_set{
"ams",
"az",
"bbc",
"bug",
"cdo",
"cia",
"cjm",
"cjy",
"cmn",
"cnp",
"cpi",
"cpx",
"csp",
"czh",
"czo",
"gan",
"hak",
"hnm",
"hsn",
"ja",
"kzg",
"lad",
"ltc",
"luh",
"lzh",
"mnp",
"ms",
"mul",
"mvi",
"nan",
"nan-dat",
"nan-hbl",
"nan-hlh",
"nan-lnx",
"nan-tws",
"nan-zhe",
"nan-zsh",
"och",
"oj",
"okn",
"ryn",
"rys",
"ryu",
"sh",
"sjc",
"tgt",
"th",
"tkn",
"tly",
"txg",
"und",
"vi",
"wuu",
"xug",
"yoi",
"yox",
"yue",
"za",
"zh",
"zhx-sic",
"zhx-tai",
}
-- Script codes for which a script-tagged display title will be added.
data.toBeTagged = list_to_set{
"Ahom",
"Arab",
"fa-Arab",
"glk-Arab",
"kk-Arab",
"ks-Arab",
"ku-Arab",
"mzn-Arab",
"ms-Arab",
"ota-Arab",
"pa-Arab",
"ps-Arab",
"sd-Arab",
"tt-Arab",
"ug-Arab",
"ur-Arab",
"Armi",
"Armn",
"Avst",
"Bali",
"Bamu",
"Batk",
"Beng",
"as-Beng",
"Bopo",
"Brah",
"Brai",
"Bugi",
"Buhd",
"Cakm",
"Cans",
"Cari",
"Cham",
"Cher",
"Copt",
"Cprt",
"Cyrl",
"Cyrs",
"Deva",
"Dsrt",
"Egyd",
"Egyp",
"Ethi",
"Geok",
"Geor",
"Glag",
"Goth",
"Grek",
"Polyt",
"polytonic",
"Gujr",
"Guru",
"Hang",
"Hani",
"Hano",
"Hebr",
"Hira",
"Hluw",
"Ital",
"Java",
"Kali",
"Kana",
"Khar",
"Khmr",
"Knda",
"Kthi",
"Lana",
"Laoo",
"Latn",
"Latf",
"Latg",
"Latnx",
"Latinx",
"pjt-Latn",
"Lepc",
"Limb",
"Linb",
"Lisu",
"Lyci",
"Lydi",
"Mand",
"Mani",
"Marc",
"Merc",
"Mero",
"Mlym",
"Mong",
"mnc-Mong",
"sjo-Mong",
"xwo-Mong",
"Mtei",
"Mymr",
"Narb",
"Nkoo",
"Nshu",
"Ogam",
"Olck",
"Orkh",
"Orya",
"Osma",
"Ougr",
"Palm",
"Phag",
"Phli",
"Phlv",
"Phnx",
"Plrd",
"Prti",
"Rjng",
"Runr",
"Samr",
"Sarb",
"Saur",
"Sgnw",
"Shaw",
"Shrd",
"Sinh",
"Sora",
"Sund",
"Sylo",
"Syrc",
"Tagb",
"Tale",
"Talu",
"Taml",
"Tang",
"Tavt",
"Telu",
"Tfng",
"Tglg",
"Thaa",
"Thai",
"Tibt",
"Ugar",
"Vaii",
"Xpeo",
"Xsux",
"Yiii",
"Zmth",
"Zsym",
"Ipach",
"Music",
"Rumin",
}
-- Parts of speech which will not be categorised in categories like "English terms spelled with É" if
-- the term is the character in question (e.g. the letter entry for English [[é]]). This contrasts with
-- entries like the French adjective [[m̂]], which is a one-letter word spelled with the letter.
data.pos_not_spelled_with_self = list_to_set{
"diacritical marks",
"Han characters",
"Han tu",
"hanja",
"hanzi",
"iteration marks",
"kana",
"kanji",
"letters",
"ligatures",
"logograms",
"morae",
"numeral symbols",
"numerals",
"punctuation marks",
"syllables",
"symbols",
}
------ 2. Lists not converted into sets. ------
-- Recognized aliases for parts of speech (param 2=). Key is the short form and value is the canonical singular (not
-- pluralized) form. It is singular so that the same table can be used in [[Module:form of]] for the p=/POS= param
-- and [[Module:links]] for the pos= param.
data.pos_aliases = {
a = "နာမဝိသေသန",
adj = "နာမဝိသေသန",
adjective = "နာမဝိသေသန",
adjectives = "နာမဝိသေသန",
["adjective forms"] = "နာမဝိသေသနပုဒ်",
adv = "ကြိယာႏဝိသေသန",
adverb = "ကြိယာႏဝိသေသန",
adverbs = "ကြိယာႏဝိသေသန",
["adverb forms"] = "ကြိယာႏဝိသေသနပုဒ်",
art = "article",
det = "determiner",
compadj = "comparative adjective",
compadv = "comparative adverb",
conj = "conjunction",
conv = "converb",
int = "အာမေဍိတ်",
interj = "အာမေဍိတ်",
intj = "အာမေဍိတ်",
interjection = "အာမေဍိတ်",
interjections = "အာမေဍိတ်",
["interjection forms"] = "အာမေဍိတ်ပုဒ်",
n = "နာမ်ႏ",
noun = "နာမ်ႏ",
nouns = "နာမ်ႏ",
["noun forms"] = "နာမ်ႏပုဒ်",
-- the next two support Algonquian languages; see also vii/vai/vti/vta below
na = "animate noun",
ni = "inanimate noun",
num = "ဂဏန်ꩻ",
numeral = "ဂဏန်ꩻ",
numerals = "ဂဏန်ꩻ",
["numeral forms"] = "ဂဏန်ꩻပုဒ်",
part = "participle",
pcl = "particle",
phr = "ငဝ်းစုဗူႏ",
phrase = "ငဝ်းစုဗူႏ",
phrases = "ငဝ်းစုဗူႏ",
["phrase forms"] = "ငဝ်းစုဗူႏပုဒ်",
pn = "နာမ်ႏဆဲင်ႏတဖြာꩻ",
["proper noun"] = "နာမ်ႏဆဲင်ႏတဖြာꩻ",
["proper nouns"] = "နာမ်ႏဆဲင်ႏတဖြာꩻ",
["proper noun forms"] = "နာမ်ႏဆဲင်ႏတဖြာꩻပုဒ်",
postp = "postposition",
pref = "prefix",
prep = "ဝိဘတ်",
preposition = "ဝိဘတ်",
prepositions = "ဝိဘတ်",
["preposition forms"] = "ဝိဘတ်ပုဒ်",
pron = "နာမ်ႏတင်",
pronoun = "နာမ်ႏတင်",
pronouns = "နာမ်ႏတင်",
["pronoun forms"] = "နာမ်ႏတင်ပုဒ်",
prop = "နာမ်ႏဆဲင်ႏတဖြာꩻ",
proper = "နာမ်ႏဆဲင်ႏတဖြာꩻ",
propn = "နာမ်ႏဆဲင်ႏတဖြာꩻ",
rom = "လုဲင်ႏတွမ်ႏရောမအက္ခရာႏ",
romanization = "လုဲင်ႏတွမ်ႏရောမအက္ခရာႏ",
romanizations = "လုဲင်ႏတွမ်ႏရောမအက္ခရာႏ",
suf = "suffix",
supadj = "superlative adjective",
supadv = "superlative adverb",
v = "verb",
verb = "ကြိယာႏ",
verbs = "ကြိယာႏ",
["verb forms"] = "ကြိယာႏပုဒ်",
vb = "ကြိယာႏ",
vi = "intransitive verb",
vt = "transitive verb",
-- the next four support Algonquian languages
vii = "inanimate intransitive verb",
vai = "animate intransitive verb",
vti = "transitive inanimate verb",
vta = "transitive animate verb",
}
-- Parts of speech for which categories like "German masculine nouns" or "Russian imperfective verbs"
-- will be generated if the headword is of the appropriate gender/number.
data.pos_for_gender_number_cat = {
["နာမ်ႏဖုံႏ"] = "နာမ်ႏဖုံႏ",
["proper nouns"] = "နာမ်ႏဖုံႏ",
["အသွုပ်ဆုဲင်ꩻ"] = "အသွုပ်ဆုဲင်ꩻ",
-- We include verbs because impf and pf are valid "genders".
["ကြိယာႏဖုံႏ"] = "ကြိယာႏဖုံႏ",
}
------ 3. Page-wide processing (so that it only needs to be done once per page). ------
data.page = require(headword_page_module).process_page()
-- Fuckme, random references to data.pagename and data.encoded_pagename are scattered throughout the codebase. FIXME!
data.pagename = data.page.pagename
data.encoded_pagename = data.page.encoded_pagename
return data
jjttuusdn5uvlpg56a6sablpsvv41sa
မော်ဂျူး:languages
828
195
11851
11676
2025-06-23T11:12:57Z
咽頭べさ
11
11851
Scribunto
text/plain
--[=[
This module implements fetching of language-specific information and processing text in a given language.
There are two types of languages: full languages and etymology-only languages. The essential difference is that only
full languages appear in L2 headings in vocabulary entries, and hence categories like [[:Category:French nouns]] exist
only for full languages. Etymology-only languages have either a full language or another etymology-only language as
their parent (in the parent-child inheritance sense), and for etymology-only languages with another etymology-only
language as their parent, a full language can always be derived by following the parent links upwards. For example,
"Canadian French", code 'fr-CA', is an etymology-only language whose parent is the full language "French", code 'fr'.
An example of an etymology-only language with another etymology-only parent is "Northumbrian Old English", code
'ang-nor', which has "Anglian Old English", code 'ang-ang' as its parent; this is an etymology-only language whose
parent is "Old English", code "ang", which is a full language. (This is because Northumbrian Old English is considered
a variety of Anglian Old English.) Sometimes the parent is the "Undetermined" language, code 'und'; this is the case,
for example, for "substrate" languages such as "Pre-Greek", code 'qsb-grc', and "the BMAC substrate", code 'qsb-bma'.
It is important to distinguish language ''parents'' from language ''ancestors''. The parent-child relationship is one
of containment, i.e. if X is a child of Y, X is considered a variety of Y. On the other hand, the ancestor-descendant
relationship is one of descent in time. For example, "Classical Latin", code 'la-cla', and "Late Latin", code 'la-lat',
are both etymology-only languages with "Latin", code 'la', as their parents, because both of the former are varieties
of Latin. However, Late Latin does *NOT* have Classical Latin as its parent because Late Latin is *not* a variety of
Classical Latin; rather, it is a descendant. There is in fact a separate 'ancestors' field that is used to express the
ancestor-descendant relationship, and Late Latin's ancestor is given as Classical Latin. It is also important to note
that sometimes an etymology-only language is actually the conceptual ancestor of its parent language. This happens,
for example, with "Old Italian" (code 'roa-oit'), which is an etymology-only variant of full language "Italian" (code
'it'), and with "Old Latin" (code 'itc-ola'), which is an etymology-only variant of Latin. In both cases, the full
language has the etymology-only variant listed as an ancestor. This allows a Latin term to inherit from Old Latin
using the {{tl|inh}} template (where in this template, "inheritance" refers to ancestral inheritance, i.e. inheritance
in time, rather than in the parent-child sense); likewise for Italian and Old Italian.
Full languages come in three subtypes:
* {regular}: This indicates a full language that is attested according to [[WT:CFI]] and therefore permitted in the
main namespace. There may also be reconstructed terms for the language, which are placed in the
{Reconstruction} namespace and must be prefixed with * to indicate a reconstruction. Most full languages
are natural (not constructed) languages, but a few constructed languages (e.g. Esperanto and Volapük,
among others) are also allowed in the mainspace and considered regular languages.
* {reconstructed}: This language is not attested according to [[WT:CFI]], and therefore is allowed only in the
{Reconstruction} namespace. All terms in this language are reconstructed, and must be prefixed with
*. Languages such as Proto-Indo-European and Proto-Germanic are in this category.
* {appendix-constructed}: This language is attested but does not meet the additional requirements set out for
constructed languages ([[WT:CFI#Constructed languages]]). Its entries must therefore be in
the Appendix namespace, but they are not reconstructed and therefore should not have *
prefixed in links. Most constructed languages are of this subtype.
Both full languages and etymology-only languages have a {Language} object associated with them, which is fetched using
the {getByCode} function in [[Module:languages]] to convert a language code to a {Language} object. Depending on the
options supplied to this function, etymology-only languages may or may not be accepted, and family codes may be
accepted (returning a {Family} object as described in [[Module:families]]). There are also separate {getByCanonicalName}
functions in [[Module:languages]] and [[Module:etymology languages]] to convert a language's canonical name to a
{Language} object (depending on whether the canonical name refers to a full or etymology-only language).
Textual strings belonging to a given language come in several different ''text variants'':
# The ''input text'' is what the user supplies in wikitext, in the parameters to {{tl|m}}, {{tl|l}}, {{tl|ux}},
{{tl|t}}, {{tl|lang}} and the like.
# The ''display text'' is the text in the form as it will be displayed to the user. This can include accent marks that
are stripped to form the entry text (see below), as well as embedded bracketed links that are variously processed
further. The display text is generated from the input text by applying language-specific transformations; for most
languages, there will be no such transformations. Examples of transformations are bad-character replacements for
certain languages (e.g. replacing 'l' or '1' to [[palochka]] in certain languages in Cyrillic); and for Thai and
Khmer, converting space-separated words to bracketed words and resolving respelling substitutions such as [กรีน/กฺรีน],
which indicate how to transliterate given words.
# The ''entry text'' is the text in the form used to generate a link to a Wiktionary entry. This is usually generated
from the display text by stripping certain sorts of diacritics on a per-language basis, and sometimes doing other
transformations. The concept of ''entry text'' only really makes sense for text that does not contain embedded links,
meaning that display text containing embedded links will need to have the links individually processed to get
per-link entry text in order to generate the resolved display text (see below).
# The ''resolved display text'' is the result of resolving embedded links in the display text (e.g. converting them to
two-part links where the first part has entry-text transformations applied, and adding appropriate language-specific
fragments) and adding appropriate language and script tagging. This text can be passed directly to MediaWiki for
display.
# The ''source translit text'' is the text as supplied to the language-specific {transliterate()} method. The form of
the source translit text may need to be language-specific, e.g Thai and Khmer will need the full unprocessed input
text, whereas other languages may need to work off the display text. [FIXME: It's still unclear to me how embedded
bracketed links are handled in the existing code.] In general, embedded links need to be removed (i.e. converted to
their "bare display" form by taking the right part of two-part links and removing double brackets), but when this
happens is unclear to me [FIXME]. Some languages have a chop-up-and-paste-together scheme that sends parts of the
text through the transliterate mechanism, and for others (those listed with "cont" in {substition} in
[[Module:languages/data]]) they receive the full input text, but preprocessed in certain ways. (The wisdom of this is
still unclear to me.)
# The ''transliterated text'' (or ''transliteration'') is the result of transliterating the source translit text.
Unlike for all the other text variants except the transcribed text, it is always in the Latin script.
# The ''transcribed text'' (or ''transcription'') is the result of transcribing the source translit text, where
"transcription" here means a close approximation to the phonetic form of the language in languages (e.g. Akkadian,
Sumerian, Ancient Egyptian, maybe Tibetan) that have a wide difference between the written letters and spoken form.
Unlike for all the other text variants other than the transliterated text, it is always in the Latin script.
Currently, the transcribed text is always supplied manually be the user; there is no such thing as a
{lua|transcribe()} method on language objects.
# The ''sort key'' is the text used in sort keys for determining the placing of pages in categories they belong to. The
sort key is generated from the pagename or a specified ''sort base'' by lowercasing, doing language-specific
transformations and then uppercasing the result. If the sort base is supplied and is generated from input text, it
needs to be converted to display text, have embedded links removed (i.e. resolving them to their right side if they
are two-part links) and have entry text transformations applied.
# There are other text variants that occur in usexes (specifically, there are normalized variants of several of the
above text variants), but we can skip them for now.
The following methods exist on {Language} objects to convert between different text variants:
# {makeDisplayText}: This converts input text to display text.
# {lua|makeEntryName}: This converts input or display text to entry text. [FIXME: This needs some rethinking. In
particular, {lua|makeEntryName} is sometimes called on display text (in some paths inside of [[Module:links]]) and
sometimes called on input text (in other paths inside of [[Module:links]], and usually from other modules). We need
to make sure we don't try to convert input text to display text twice, but at the same time we need to support
calling it directly on input text since so many modules do this. This means we need to add a parameter indicating
whether the passed-in text is input or display text; if that former, we call {lua|makeDisplayText} ourselves.]
# {lua|transliterate}: This appears to convert input text with embedded brackets removed into a transliteration.
[FIXME: This needs some rethinking. In particular, it calls {lua|processDisplayText} on its input, which won't work
for Thai and Khmer, so we may need language-specific flags indicating whether to pass the input text directly to the
language transliterate method. In addition, I'm not sure how embedded links are handled in the existing translit code;
a lot of callers remove the links themselves before calling {lua|transliterate()}, which I assume is wrong.]
# {lua|makeSortKey}: This converts entry text (?) to a sort key. [FIXME: Clarify this.]
]=]
local export = {}
local debug_track_module = "Module:debug/track"
local etymology_languages_data_module = "Module:etymology languages/data"
local families_module = "Module:families"
local json_module = "Module:JSON"
local language_like_module = "Module:language-like"
local languages_data_module = "Module:languages/data"
local languages_data_patterns_module = "Module:languages/data/patterns"
local links_data_module = "Module:links/data"
local load_module = "Module:load"
local scripts_module = "Module:scripts"
local scripts_data_module = "Module:scripts/data"
local string_encode_entities_module = "Module:string/encode entities"
local string_pattern_escape_module = "Module:string/patternEscape"
local string_replacement_escape_module = "Module:string/replacementEscape"
local string_utilities_module = "Module:string utilities"
local table_module = "Module:table"
local utilities_module = "Module:utilities"
local wikimedia_languages_module = "Module:wikimedia languages"
local mw = mw
local string = string
local table = table
local char = string.char
local concat = table.concat
local find = string.find
local floor = math.floor
local get_by_code -- Defined below.
local get_data_module_name -- Defined below.
local get_extra_data_module_name -- Defined below.
local getmetatable = getmetatable
local gmatch = string.gmatch
local gsub = string.gsub
local insert = table.insert
local ipairs = ipairs
local is_known_language_tag = mw.language.isKnownLanguageTag
local make_object -- Defined below.
local match = string.match
local next = next
local pairs = pairs
local remove = table.remove
local require = require
local select = select
local setmetatable = setmetatable
local sub = string.sub
local type = type
local unstrip = mw.text.unstrip
-- Loaded as needed by findBestScript.
local Hans_chars
local Hant_chars
local function check_object(...)
check_object = require(utilities_module).check_object
return check_object(...)
end
local function debug_track(...)
debug_track = require(debug_track_module)
return debug_track(...)
end
local function decode_entities(...)
decode_entities = require(string_utilities_module).decode_entities
return decode_entities(...)
end
local function decode_uri(...)
decode_uri = require(string_utilities_module).decode_uri
return decode_uri(...)
end
local function deep_copy(...)
deep_copy = require(table_module).deepCopy
return deep_copy(...)
end
local function encode_entities(...)
encode_entities = require(string_encode_entities_module)
return encode_entities(...)
end
local function get_script(...)
get_script = require(scripts_module).getByCode
return get_script(...)
end
local function find_best_script_without_lang(...)
find_best_script_without_lang = require(scripts_module).findBestScriptWithoutLang
return find_best_script_without_lang(...)
end
local function get_family(...)
get_family = require(families_module).getByCode
return get_family(...)
end
local function get_plaintext(...)
get_plaintext = require(utilities_module).get_plaintext
return get_plaintext(...)
end
local function get_wikimedia_lang(...)
get_wikimedia_lang = require(wikimedia_languages_module).getByCode
return get_wikimedia_lang(...)
end
local function keys_to_list(...)
keys_to_list = require(table_module).keysToList
return keys_to_list(...)
end
local function list_to_set(...)
list_to_set = require(table_module).listToSet
return list_to_set(...)
end
local function load_data(...)
load_data = require(load_module).load_data
return load_data(...)
end
local function make_family_object(...)
make_family_object = require(families_module).makeObject
return make_family_object(...)
end
local function pattern_escape(...)
pattern_escape = require(string_pattern_escape_module)
return pattern_escape(...)
end
local function remove_duplicates(...)
remove_duplicates = require(table_module).removeDuplicates
return remove_duplicates(...)
end
local function replacement_escape(...)
replacement_escape = require(string_replacement_escape_module)
return replacement_escape(...)
end
local function safe_require(...)
safe_require = require(load_module).safe_require
return safe_require(...)
end
local function shallow_copy(...)
shallow_copy = require(table_module).shallowCopy
return shallow_copy(...)
end
local function split(...)
split = require(string_utilities_module).split
return split(...)
end
local function to_json(...)
to_json = require(json_module).toJSON
return to_json(...)
end
local function u(...)
u = require(string_utilities_module).char
return u(...)
end
local function ugsub(...)
ugsub = require(string_utilities_module).gsub
return ugsub(...)
end
local function ulen(...)
ulen = require(string_utilities_module).len
return ulen(...)
end
local function ulower(...)
ulower = require(string_utilities_module).lower
return ulower(...)
end
local function umatch(...)
umatch = require(string_utilities_module).match
return umatch(...)
end
local function uupper(...)
uupper = require(string_utilities_module).upper
return uupper(...)
end
local function track(page)
debug_track("languages/" .. page)
return true
end
local function normalize_code(code)
return load_data(languages_data_module).aliases[code] or code
end
local function check_inputs(self, check, default, ...)
local n = select("#", ...)
if n == 0 then
return false
end
local ret = check(self, (...))
if ret ~= nil then
return ret
elseif n > 1 then
local inputs = {...}
for i = 2, n do
ret = check(self, inputs[i])
if ret ~= nil then
return ret
end
end
end
return default
end
local function make_link(self, target, display)
local prefix, main
if self:getFamilyCode() == "qfa-sub" then
prefix, main = display:match("^(the )(.*)")
if not prefix then
prefix, main = display:match("^(a )(.*)")
end
end
return (prefix or "") .. "[[" .. target .. "|" .. (main or display) .. "]]"
end
-- Convert risky characters to HTML entities, which minimizes interference once returned (e.g. for "sms:a", "<!-- -->" etc.).
local function escape_risky_characters(text)
-- Spacing characters in isolation generally need to be escaped in order to be properly processed by the MediaWiki software.
if umatch(text, "^%s*$") then
return encode_entities(text, text)
end
return encode_entities(text, "!#%&*+/:;<=>?@[\\]_{|}")
end
-- Temporarily convert various formatting characters to PUA to prevent them from being disrupted by the substitution process.
local function doTempSubstitutions(text, subbedChars, keepCarets, noTrim)
-- Clone so that we don't insert any extra patterns into the table in package.loaded. For some reason, using require seems to keep memory use down; probably because the table is always cloned.
local patterns = shallow_copy(require(languages_data_patterns_module))
if keepCarets then
insert(patterns, "((\\+)%^)")
insert(patterns, "((%^))")
end
-- Ensure any whitespace at the beginning and end is temp substituted, to prevent it from being accidentally trimmed. We only want to trim any final spaces added during the substitution process (e.g. by a module), which means we only do this during the first round of temp substitutions.
if not noTrim then
insert(patterns, "^([\128-\191\244]*(%s+))")
insert(patterns, "((%s+)[\128-\191\244]*)$")
end
-- Pre-substitution, of "[[" and "]]", which makes pattern matching more accurate.
text = gsub(text, "%f[%[]%[%[", "\1")
:gsub("%f[%]]%]%]", "\2")
local i = #subbedChars
for _, pattern in ipairs(patterns) do
-- Patterns ending in \0 stand are for things like "[[" or "]]"), so the inserted PUA are treated as breaks between terms by modules that scrape info from pages.
local term_divider
pattern = gsub(pattern, "%z$", function(divider)
term_divider = divider == "\0"
return ""
end)
text = gsub(text, pattern, function(...)
local m = {...}
local m1New = m[1]
for k = 2, #m do
local n = i + k - 1
subbedChars[n] = m[k]
local byte2 = floor(n / 4096) % 64 + (term_divider and 128 or 136)
local byte3 = floor(n / 64) % 64 + 128
local byte4 = n % 64 + 128
m1New = gsub(m1New, pattern_escape(m[k]), "\244" .. char(byte2) .. char(byte3) .. char(byte4), 1)
end
i = i + #m - 1
return m1New
end)
end
text = gsub(text, "\1", "%[%[")
:gsub("\2", "%]%]")
return text, subbedChars
end
-- Reinsert any formatting that was temporarily substituted.
local function undoTempSubstitutions(text, subbedChars)
for i = 1, #subbedChars do
local byte2 = floor(i / 4096) % 64 + 128
local byte3 = floor(i / 64) % 64 + 128
local byte4 = i % 64 + 128
text = gsub(text, "\244[" .. char(byte2) .. char(byte2+8) .. "]" .. char(byte3) .. char(byte4), replacement_escape(subbedChars[i]))
end
text = gsub(text, "\1", "%[%[")
:gsub("\2", "%]%]")
return text
end
-- Check if the raw text is an unsupported title, and if so return that. Otherwise, remove HTML entities. We do the pre-conversion to avoid loading the unsupported title list unnecessarily.
local function checkNoEntities(self, text)
local textNoEnc = decode_entities(text)
if textNoEnc ~= text and load_data(links_data_module).unsupported_titles[text] then
return text
else
return textNoEnc
end
end
-- If no script object is provided (or if it's invalid or None), get one.
local function checkScript(text, self, sc)
if not check_object("script", true, sc) or sc:getCode() == "None" then
return self:findBestScript(text)
end
return sc
end
local function normalize(text, sc)
text = sc:fixDiscouragedSequences(text)
return sc:toFixedNFD(text)
end
local function doSubstitutions(self, text, sc, substitution_data, function_name, recursed)
local fail, cats = nil, {}
-- If there are language-specific substitutes given in the data module, use those.
if type(substitution_data) == "table" then
-- If a script is specified, run this function with the script-specific data before continuing.
local sc_code = sc:getCode()
if substitution_data[sc_code] then
text, fail, cats = doSubstitutions(self, text, sc, substitution_data[sc_code], function_name, true)
-- Hant, Hans and Hani are usually treated the same, so add a special case to avoid having to specify each one separately.
elseif sc_code:match("^Han") and substitution_data.Hani then
text, fail, cats = doSubstitutions(self, text, sc, substitution_data.Hani, function_name, true)
-- Substitution data with key 1 in the outer table may be given as a fallback.
elseif substitution_data[1] then
text, fail, cats = doSubstitutions(self, text, sc, substitution_data[1], function_name, true)
end
-- Iterate over all strings in the "from" subtable, and gsub with the corresponding string in "to". We work with the NFD decomposed forms, as this simplifies many substitutions.
if substitution_data.from then
for i, from in ipairs(substitution_data.from) do
-- Normalize each loop, to ensure multi-stage substitutions work correctly.
text = sc:toFixedNFD(text)
text = ugsub(text, sc:toFixedNFD(from), substitution_data.to[i] or "")
end
end
if substitution_data.remove_diacritics then
text = sc:toFixedNFD(text)
-- Convert exceptions to PUA.
local remove_exceptions, substitutes = substitution_data.remove_exceptions
if remove_exceptions then
substitutes = {}
local i = 0
for _, exception in ipairs(remove_exceptions) do
exception = sc:toFixedNFD(exception)
text = ugsub(text, exception, function(m)
i = i + 1
local subst = u(0x80000 + i)
substitutes[subst] = m
return subst
end)
end
end
-- Strip diacritics.
text = ugsub(text, "[" .. substitution_data.remove_diacritics .. "]", "")
-- Convert exceptions back.
if remove_exceptions then
text = text:gsub("\242[\128-\191]*", substitutes)
end
end
elseif type(substitution_data) == "string" then
-- If there is a dedicated function module, use that.
local module = safe_require("Module:" .. substitution_data)
if module then
-- TODO: translit functions should take objects, not codes.
-- TODO: translit functions should be called with form NFD.
if function_name == "tr" then
text, fail, cats = module[function_name](text, self._code, sc:getCode())
else
text, fail, cats = module[function_name](sc:toFixedNFD(text), self, sc)
end
-- TODO: get rid of the `fail` and `cats` return values.
if fail ~= nil then
track("fail")
track("fail/" .. self._code)
end
if cats ~= nil then
track("cats")
track("cats/" .. self._code)
end
else
error("Substitution data '" .. substitution_data .. "' does not match an existing module.")
end
end
-- Don't normalize to NFC if this is the inner loop or if a module returned nil.
if recursed or not text then
return text, fail, cats
end
-- Fix any discouraged sequences created during the substitution process, and normalize into the final form.
return sc:toFixedNFC(sc:fixDiscouragedSequences(text)), fail, cats
end
-- Split the text into sections, based on the presence of temporarily substituted formatting characters, then iterate over each one to apply substitutions. This avoids putting PUA characters through language-specific modules, which may be unequipped for them.
local function iterateSectionSubstitutions(self, text, sc, subbedChars, keepCarets, substitution_data, function_name)
local fail, cats, sections = nil, {}
-- See [[Module:languages/data]].
if not find(text, "\244") or (load_data(languages_data_module).substitution[self._code] == "cont") then
sections = {text}
else
sections = split(text, "\244[\128-\143][\128-\191]*", true)
end
for _, section in ipairs(sections) do
-- Don't bother processing empty strings or whitespace (which may also not be handled well by dedicated modules).
if gsub(section, "%s+", "") ~= "" then
local sub, sub_fail, sub_cats = doSubstitutions(self, section, sc, substitution_data, function_name)
-- Second round of temporary substitutions, in case any formatting was added by the main substitution process. However, don't do this if the section contains formatting already (as it would have had to have been escaped to reach this stage, and therefore should be given as raw text).
if sub and subbedChars then
local noSub
for _, pattern in ipairs(require(languages_data_patterns_module)) do
if match(section, pattern .. "%z?") then
noSub = true
end
end
if not noSub then
sub, subbedChars = doTempSubstitutions(sub, subbedChars, keepCarets, true)
end
end
if (not sub) or sub_fail then
text = sub
fail = sub_fail
cats = sub_cats or {}
break
end
text = sub and gsub(text, pattern_escape(section), replacement_escape(sub), 1) or text
if type(sub_cats) == "table" then
for _, cat in ipairs(sub_cats) do
insert(cats, cat)
end
end
end
end
-- Trim, unless there are only spacing characters, while ignoring any final formatting characters.
text = text and text:gsub("^([\128-\191\244]*)%s+(%S)", "%1%2")
:gsub("(%S)%s+([\128-\191\244]*)$", "%1%2")
-- Remove duplicate categories.
if #cats > 1 then
cats = remove_duplicates(cats)
end
return text, fail, cats, subbedChars
end
-- Process carets (and any escapes). Default to simple removal, if no pattern/replacement is given.
local function processCarets(text, pattern, repl)
local rep
repeat
text, rep = gsub(text, "\\\\(\\*^)", "\3%1")
until rep == 0
return text:gsub("\\^", "\4")
:gsub(pattern or "%^", repl or "")
:gsub("\3", "\\")
:gsub("\4", "^")
end
-- Remove carets if they are used to capitalize parts of transliterations (unless they have been escaped).
local function removeCarets(text, sc)
if not sc:hasCapitalization() and sc:isTransliterated() and text:find("^", 1, true) then
return processCarets(text)
else
return text
end
end
local Language = {}
--[==[Returns the language code of the language. Example: {{code|lua|"fr"}} for French.]==]
function Language:getCode()
return self._code
end
--[==[Returns the canonical name of the language. This is the name used to represent that language on Wiktionary, and is guaranteed to be unique to that language alone. Example: {{code|lua|"French"}} for French.]==]
function Language:getCanonicalName()
local name = self._name
if name == nil then
name = self._data[1]
self._name = name
end
return name
end
--[==[
Return the display form of the language. The display form of a language, family or script is the form it takes when
appearing as the <code><var>source</var></code> in categories such as <code>English terms derived from
<var>source</var></code> or <code>English given names from <var>source</var></code>, and is also the displayed text
in {makeCategoryLink()} links. For full and etymology-only languages, this is the same as the canonical name, but
for families, it reads <code>"<var>name</var> languages"</code> (e.g. {"Indo-Iranian languages"}), and for scripts,
it reads <code>"<var>name</var> script"</code> (e.g. {"Arabic script"}).
]==]
function Language:getDisplayForm()
local form = self._displayForm
if form == nil then
form = self:getCanonicalName()
-- Add article and " substrate" to substrates that lack them.
if self:getFamilyCode() == "qfa-sub" then
if not (sub(form, 1, 4) == "the " or sub(form, 1, 2) == "a ") then
form = "a " .. form
end
if not match(form, " [Ss]ubstrate") then
form = form .. " substrate"
end
end
self._displayForm = form
end
return form
end
--[==[Returns the value which should be used in the HTML lang= attribute for tagged text in the language.]==]
function Language:getHTMLAttribute(sc, region)
local code = self._code
if not find(code, "-", 1, true) then
return code .. "-" .. sc:getCode() .. (region and "-" .. region or "")
end
local parent = self:getParent()
region = region or match(code, "%f[%u][%u-]+%f[%U]")
if parent then
return parent:getHTMLAttribute(sc, region)
end
-- TODO: ISO family codes can also be used.
return "mis-" .. sc:getCode() .. (region and "-" .. region or "")
end
--[==[Returns a table of the aliases that the language is known by, excluding the canonical name. Aliases are synonyms for the language in question. The names are not guaranteed to be unique, in that sometimes more than one language is known by the same name. Example: {{code|lua|{"High German", "New High German", "Deutsch"} }} for [[:Category:German language|German]].]==]
function Language:getAliases()
self:loadInExtraData()
return require(language_like_module).getAliases(self)
end
--[==[
Return a table of the known subvarieties of a given language, excluding subvarieties that have been given
explicit etymology-only language codes. The names are not guaranteed to be unique, in that sometimes a given name
refers to a subvariety of more than one language. Example: {{code|lua|{"Southern Aymara", "Central Aymara"} }} for
[[:Category:Aymara language|Aymara]]. Note that the returned value can have nested tables in it, when a subvariety
goes by more than one name. Example: {{code|lua|{"North Azerbaijani", "South Azerbaijani", {"Afshar", "Afshari",
"Afshar Azerbaijani", "Afchar"}, {"Qashqa'i", "Qashqai", "Kashkay"}, "Sonqor"} }} for
[[:Category:Azerbaijani language|Azerbaijani]]. Here, for example, Afshar, Afshari, Afshar Azerbaijani and Afchar
all refer to the same subvariety, whose preferred name is Afshar (the one listed first). To avoid a return value
with nested tables in it, specify a non-{{code|lua|nil}} value for the <code>flatten</code> parameter; in that case,
the return value would be {{code|lua|{"North Azerbaijani", "South Azerbaijani", "Afshar", "Afshari",
"Afshar Azerbaijani", "Afchar", "Qashqa'i", "Qashqai", "Kashkay", "Sonqor"} }}.
]==]
function Language:getVarieties(flatten)
self:loadInExtraData()
return require(language_like_module).getVarieties(self, flatten)
end
--[==[Returns a table of the "other names" that the language is known by, which are listed in the <code>otherNames</code> field. It should be noted that the <code>otherNames</code> field itself is deprecated, and entries listed there should eventually be moved to either <code>aliases</code> or <code>varieties</code>.]==]
function Language:getOtherNames() -- To be eventually removed, once there are no more uses of the `otherNames` field.
self:loadInExtraData()
return require(language_like_module).getOtherNames(self)
end
--[==[
Return a combined table of the canonical name, aliases, varieties and other names of a given language.]==]
function Language:getAllNames()
self:loadInExtraData()
return require(language_like_module).getAllNames(self)
end
--[==[Returns a table of types as a lookup table (with the types as keys).
The possible types are
* {language}: This is a language, either full or etymology-only.
* {full}: This is a "full" (not etymology-only) language, i.e. the union of {regular}, {reconstructed} and
{appendix-constructed}. Note that the types {full} and {etymology-only} also exist for families, so if you
want to check specifically for a full language and you have an object that might be a family, you should
use {{lua|hasType("language", "full")}} and not simply {{lua|hasType("full")}}.
* {etymology-only}: This is an etymology-only (not full) language, whose parent is another etymology-only
language or a full language. Note that the types {full} and {etymology-only} also exist for
families, so if you want to check specifically for an etymology-only language and you have an
object that might be a family, you should use {{lua|hasType("language", "etymology-only")}}
and not simply {{lua|hasType("etymology-only")}}.
* {regular}: This indicates a full language that is attested according to [[WT:CFI]] and therefore permitted
in the main namespace. There may also be reconstructed terms for the language, which are placed in
the {Reconstruction} namespace and must be prefixed with * to indicate a reconstruction. Most full
languages are natural (not constructed) languages, but a few constructed languages (e.g. Esperanto
and Volapük, among others) are also allowed in the mainspace and considered regular languages.
* {reconstructed}: This language is not attested according to [[WT:CFI]], and therefore is allowed only in the
{Reconstruction} namespace. All terms in this language are reconstructed, and must be prefixed
with *. Languages such as Proto-Indo-European and Proto-Germanic are in this category.
* {appendix-constructed}: This language is attested but does not meet the additional requirements set out for
constructed languages ([[WT:CFI#Constructed languages]]). Its entries must therefore
be in the Appendix namespace, but they are not reconstructed and therefore should
not have * prefixed in links.
]==]
function Language:getTypes()
local types = self._types
if types == nil then
types = {language = true}
if self:getFullCode() == self._code then
types.full = true
else
types["etymology-only"] = true
end
for t in gmatch(self._data.type, "[^,]+") do
types[t] = true
end
self._types = types
end
return types
end
--[==[Given a list of types as strings, returns true if the language has all of them.]==]
function Language:hasType(...)
Language.hasType = require(language_like_module).hasType
return self:hasType(...)
end
--[==[Returns a table containing <code>WikimediaLanguage</code> objects (see [[Module:wikimedia languages]]), which represent languages and their codes as they are used in Wikimedia projects for interwiki linking and such. More than one object may be returned, as a single Wiktionary language may correspond to multiple Wikimedia languages. For example, Wiktionary's single code <code>sh</code> (Serbo-Croatian) maps to four Wikimedia codes: <code>sh</code> (Serbo-Croatian), <code>bs</code> (Bosnian), <code>hr</code> (Croatian) and <code>sr</code> (Serbian).
The code for the Wikimedia language is retrieved from the <code>wikimedia_codes</code> property in the data modules. If that property is not present, the code of the current language is used. If none of the available codes is actually a valid Wikimedia code, an empty table is returned.]==]
function Language:getWikimediaLanguages()
local wm_langs = self._wikimediaLanguageObjects
if wm_langs == nil then
local codes = self:getWikimediaLanguageCodes()
wm_langs = {}
for i = 1, #codes do
wm_langs[i] = get_wikimedia_lang(codes[i])
end
self._wikimediaLanguageObjects = wm_langs
end
return wm_langs
end
function Language:getWikimediaLanguageCodes()
local wm_langs = self._wikimediaLanguageCodes
if wm_langs == nil then
wm_langs = self._data.wikimedia_codes
if wm_langs then
wm_langs = split(wm_langs, ",", true, true)
else
local code = self._code
if is_known_language_tag(code) then
wm_langs = {code}
else
-- Inherit, but only if no codes are specified in the data *and*
-- the language code isn't a valid Wikimedia language code.
local parent = self:getParent()
wm_langs = parent and parent:getWikimediaLanguageCodes() or {}
end
end
self._wikimediaLanguageCodes = wm_langs
end
return wm_langs
end
--[==[
Returns the name of the Wikipedia article for the language. `project` specifies the language and project to retrieve
the article from, defaulting to {"enwiki"} for the English Wikipedia. Normally if specified it should be the project
code for a specific-language Wikipedia e.g. "zhwiki" for the Chinese Wikipedia, but it can be any project, including
non-Wikipedia ones. If the project is the English Wikipedia and the property {wikipedia_article} is present in the data
module it will be used first. In all other cases, a sitelink will be generated from {:getWikidataItem} (if set). The
resulting value (or lack of value) is cached so that subsequent calls are fast. If no value could be determined, and
`noCategoryFallback` is {false}, {:getCategoryName} is used as fallback; otherwise, {nil} is returned. Note that if
`noCategoryFallback` is {nil} or omitted, it defaults to {false} if the project is the English Wikipedia, otherwise
to {true}. In other words, under normal circumstances, if the English Wikipedia article couldn't be retrieved, the
return value will fall back to a link to the language's category, but this won't normally happen for any other project.
]==]
function Language:getWikipediaArticle(noCategoryFallback, project)
Language.getWikipediaArticle = require(language_like_module).getWikipediaArticle
return self:getWikipediaArticle(noCategoryFallback, project)
end
function Language:makeWikipediaLink()
return make_link(self, "w:" .. self:getWikipediaArticle(), self:getCanonicalName())
end
--[==[Returns the name of the Wikimedia Commons category page for the language.]==]
function Language:getCommonsCategory()
Language.getCommonsCategory = require(language_like_module).getCommonsCategory
return self:getCommonsCategory()
end
--[==[Returns the Wikidata item id for the language or <code>nil</code>. This corresponds to the the second field in the data modules.]==]
function Language:getWikidataItem()
Language.getWikidataItem = require(language_like_module).getWikidataItem
return self:getWikidataItem()
end
--[==[Returns a table of <code>Script</code> objects for all scripts that the language is written in. See [[Module:scripts]].]==]
function Language:getScripts()
local scripts = self._scriptObjects
if scripts == nil then
local codes = self:getScriptCodes()
if codes[1] == "All" then
scripts = load_data(scripts_data_module)
else
scripts = {}
for i = 1, #codes do
scripts[i] = get_script(codes[i])
end
end
self._scriptObjects = scripts
end
return scripts
end
--[==[Returns the table of script codes in the language's data file.]==]
function Language:getScriptCodes()
local scripts = self._scriptCodes
if scripts == nil then
scripts = self._data[4]
if scripts then
local codes, n = {}, 0
for code in gmatch(scripts, "[^,]+") do
n = n + 1
-- Special handling of "Hants", which represents "Hani", "Hant" and "Hans" collectively.
if code == "Hants" then
codes[n] = "Hani"
codes[n + 1] = "Hant"
codes[n + 2] = "Hans"
n = n + 2
else
codes[n] = code
end
end
scripts = codes
else
scripts = {"None"}
end
self._scriptCodes = scripts
end
return scripts
end
--[==[Given some text, this function iterates through the scripts of a given language and tries to find the script that best matches the text. It returns a {{code|lua|Script}} object representing the script. If no match is found at all, it returns the {{code|lua|None}} script object.]==]
function Language:findBestScript(text, forceDetect)
if not text or text == "" or text == "-" then
return get_script("None")
end
-- Differs from table returned by getScriptCodes, as Hants is not normalized into its constituents.
local codes = self._bestScriptCodes
if codes == nil then
codes = self._data[4]
codes = codes and split(codes, ",", true, true) or {"None"}
self._bestScriptCodes = codes
end
local first_sc = codes[1]
if first_sc == "All" then
return find_best_script_without_lang(text)
end
local codes_len = #codes
if not (forceDetect or first_sc == "Hants" or codes_len > 1) then
first_sc = get_script(first_sc)
local charset = first_sc.characters
return charset and umatch(text, "[" .. charset .. "]") and first_sc or get_script("None")
end
-- Remove all formatting characters.
text = get_plaintext(text)
-- Remove all spaces and any ASCII punctuation. Some non-ASCII punctuation is script-specific, so can't be removed.
text = ugsub(text, "[%s!\"#%%&'()*,%-./:;?@[\\%]_{}]+", "")
if #text == 0 then
return get_script("None")
end
-- Try to match every script against the text,
-- and return the one with the most matching characters.
local bestcount, bestscript, length = 0
for i = 1, codes_len do
local sc = codes[i]
-- Special case for "Hants", which is a special code that represents whichever of "Hant" or "Hans" best matches, or "Hani" if they match equally. This avoids having to list all three. In addition, "Hants" will be treated as the best match if there is at least one matching character, under the assumption that a Han script is desirable in terms that contain a mix of Han and other scripts (not counting those which use Jpan or Kore).
if sc == "Hants" then
local Hani = get_script("Hani")
if not Hant_chars then
Hant_chars = load_data("Module:zh/data/ts")
Hans_chars = load_data("Module:zh/data/st")
end
local t, s, found = 0, 0
-- This is faster than using mw.ustring.gmatch directly.
for ch in gmatch(ugsub(text, "[" .. Hani.characters .. "]", "\255%0"), "\255(.[\128-\191]*)") do
found = true
if Hant_chars[ch] then
t = t + 1
if Hans_chars[ch] then
s = s + 1
end
elseif Hans_chars[ch] then
s = s + 1
else
t, s = t + 1, s + 1
end
end
if found then
if t == s then
return Hani
end
return get_script(t > s and "Hant" or "Hans")
end
else
sc = get_script(sc)
if not length then
length = ulen(text)
end
-- Count characters by removing everything in the script's charset and comparing to the original length.
local charset = sc.characters
local count = charset and length - ulen(ugsub(text, "[" .. charset .. "]+", "")) or 0
if count >= length then
return sc
elseif count > bestcount then
bestcount = count
bestscript = sc
end
end
end
-- Return best matching script, or otherwise None.
return bestscript or get_script("None")
end
--[==[Returns a <code>Family</code> object for the language family that the language belongs to. See [[Module:families]].]==]
function Language:getFamily()
local family = self._familyObject
if family == nil then
family = self:getFamilyCode()
-- If the value is nil, it's cached as false.
family = family and get_family(family) or false
self._familyObject = family
end
return family or nil
end
--[==[Returns the family code in the language's data file.]==]
function Language:getFamilyCode()
local family = self._familyCode
if family == nil then
-- If the value is nil, it's cached as false.
family = self._data[3] or false
self._familyCode = family
end
return family or nil
end
function Language:getFamilyName()
local family = self._familyName
if family == nil then
family = self:getFamily()
-- If the value is nil, it's cached as false.
family = family and family:getCanonicalName() or false
self._familyName = family
end
return family or nil
end
do
local function check_family(self, family)
if type(family) == "table" then
family = family:getCode()
end
if self:getFamilyCode() == family then
return true
end
local self_family = self:getFamily()
if self_family:inFamily(family) then
return true
-- If the family isn't a real family (e.g. creoles) check any ancestors.
elseif self_family:inFamily("qfa-not") then
local ancestors = self:getAncestors()
for _, ancestor in ipairs(ancestors) do
if ancestor:inFamily(family) then
return true
end
end
end
end
--[==[Check whether the language belongs to `family` (which can be a family code or object). A list of objects can be given in place of `family`; in that case, return true if the language belongs to any of the specified families. Note that some languages (in particular, certain creoles) can have multiple immediate ancestors potentially belonging to different families; in that case, return true if the language belongs to any of the specified families.]==]
function Language:inFamily(...)
if self:getFamilyCode() == nil then
return false
end
return check_inputs(self, check_family, false, ...)
end
end
function Language:getParent()
local parent = self._parentObject
if parent == nil then
parent = self:getParentCode()
-- If the value is nil, it's cached as false.
parent = parent and get_by_code(parent, nil, true, true) or false
self._parentObject = parent
end
return parent or nil
end
function Language:getParentCode()
local parent = self._parentCode
if parent == nil then
-- If the value is nil, it's cached as false.
parent = self._data.parent or false
self._parentCode = parent
end
return parent or nil
end
function Language:getParentName()
local parent = self._parentName
if parent == nil then
parent = self:getParent()
-- If the value is nil, it's cached as false.
parent = parent and parent:getCanonicalName() or false
self._parentName = parent
end
return parent or nil
end
function Language:getParentChain()
local chain = self._parentChain
if chain == nil then
chain = {}
local parent, n = self:getParent(), 0
while parent do
n = n + 1
chain[n] = parent
parent = parent:getParent()
end
self._parentChain = chain
end
return chain
end
do
local function check_lang(self, lang)
for _, parent in ipairs(self:getParentChain()) do
if (type(lang) == "string" and lang or lang:getCode()) == parent:getCode() then
return true
end
end
end
function Language:hasParent(...)
return check_inputs(self, check_lang, false, ...)
end
end
--[==[
If the language is etymology-only, this iterates through parents until a full language or family is found, and the
corresponding object is returned. If the language is a full language, then it simply returns itself.
]==]
function Language:getFull()
local full = self._fullObject
if full == nil then
full = self:getFullCode()
full = full == self._code and self or get_by_code(full)
self._fullObject = full
end
return full
end
--[==[
If the language is an etymology-only language, this iterates through parents until a full language or family is
found, and the corresponding code is returned. If the language is a full language, then it simply returns the
language code.
]==]
function Language:getFullCode()
return self._fullCode or self._code
end
--[==[
If the language is an etymology-only language, this iterates through parents until a full language or family is
found, and the corresponding canonical name is returned. If the language is a full language, then it simply returns
the canonical name of the language.
]==]
function Language:getFullName()
local full = self._fullName
if full == nil then
full = self:getFull():getCanonicalName()
self._fullName = full
end
return full
end
--[==[Returns a table of <code class="nf">Language</code> objects for all languages that this language is directly descended from. Generally this is only a single language, but creoles, pidgins and mixed languages can have multiple ancestors.]==]
function Language:getAncestors()
local ancestors = self._ancestorObjects
if ancestors == nil then
ancestors = {}
local ancestor_codes = self:getAncestorCodes()
if #ancestor_codes > 0 then
for _, ancestor in ipairs(ancestor_codes) do
insert(ancestors, get_by_code(ancestor, nil, true))
end
else
local fam = self:getFamily()
local protoLang = fam and fam:getProtoLanguage() or nil
-- For the cases where the current language is the proto-language
-- of its family, or an etymology-only language that is ancestral to that
-- proto-language, we need to step up a level higher right from the
-- start.
if protoLang and (
protoLang:getCode() == self._code or
(self:hasType("etymology-only") and protoLang:hasAncestor(self))
) then
fam = fam:getFamily()
protoLang = fam and fam:getProtoLanguage() or nil
end
while not protoLang and not (not fam or fam:getCode() == "qfa-not") do
fam = fam:getFamily()
protoLang = fam and fam:getProtoLanguage() or nil
end
insert(ancestors, protoLang)
end
self._ancestorObjects = ancestors
end
return ancestors
end
do
-- Avoid a language being its own ancestor via class inheritance. We only need to check for this if the language has inherited an ancestor table from its parent, because we never want to drop ancestors that have been explicitly set in the data.
-- Recursively iterate over ancestors until we either find self or run out. If self is found, return true.
local function check_ancestor(self, lang)
local codes = lang:getAncestorCodes()
if not codes then
return nil
end
for i = 1, #codes do
local code = codes[i]
if code == self._code then
return true
end
local anc = get_by_code(code, nil, true)
if check_ancestor(self, anc) then
return true
end
end
end
--[==[Returns a table of <code class="nf">Language</code> codes for all languages that this language is directly descended from. Generally this is only a single language, but creoles, pidgins and mixed languages can have multiple ancestors.]==]
function Language:getAncestorCodes()
if self._ancestorCodes then
return self._ancestorCodes
end
local data = self._data
local codes = data.ancestors
if codes == nil then
codes = {}
self._ancestorCodes = codes
return codes
end
codes = split(codes, ",", true, true)
self._ancestorCodes = codes
-- If there are no codes or the ancestors weren't inherited data, there's nothing left to check.
if #codes == 0 or self:getData(false, "raw").ancestors ~= nil then
return codes
end
local i, code = 1
while i <= #codes do
code = codes[i]
if check_ancestor(self, self) then
remove(codes, i)
else
i = i + 1
end
end
return codes
end
end
--[==[Given a list of language objects or codes, returns true if at least one of them is an ancestor. This includes any etymology-only children of that ancestor. If the language's ancestor(s) are etymology-only languages, it will also return true for those language parent(s) (e.g. if Vulgar Latin is the ancestor, it will also return true for its parent, Latin). However, a parent is excluded from this if the ancestor is also ancestral to that parent (e.g. if Classical Persian is the ancestor, Persian would return false, because Classical Persian is also ancestral to Persian).]==]
function Language:hasAncestor(...)
local function iterateOverAncestorTree(node, func, parent_check)
local ancestors = node:getAncestors()
local ancestorsParents = {}
for _, ancestor in ipairs(ancestors) do
-- When checking the parents of the other language, and the ancestor is also a parent, skip to the next ancestor, so that we exclude any etymology-only children of that parent that are not directly related (see below).
local ret = (parent_check or not node:hasParent(ancestor)) and
func(ancestor) or iterateOverAncestorTree(ancestor, func, parent_check)
if ret then
return ret
end
end
-- Check the parents of any ancestors. We don't do this if checking the parents of the other language, so that we exclude any etymology-only children of those parents that are not directly related (e.g. if the ancestor is Vulgar Latin and we are checking New Latin, we want it to return false because they are on different ancestral branches. As such, if we're already checking the parent of New Latin (Latin) we don't want to compare it to the parent of the ancestor (Latin), as this would be a false positive; it should be one or the other).
if not parent_check then
return nil
end
for _, ancestor in ipairs(ancestors) do
local ancestorParents = ancestor:getParentChain()
for _, ancestorParent in ipairs(ancestorParents) do
if ancestorParent:getCode() == self._code or ancestorParent:hasAncestor(ancestor) then
break
else
insert(ancestorsParents, ancestorParent)
end
end
end
for _, ancestorParent in ipairs(ancestorsParents) do
local ret = func(ancestorParent)
if ret then
return ret
end
end
end
local function do_iteration(otherlang, parent_check)
-- otherlang can't be self
if (type(otherlang) == "string" and otherlang or otherlang:getCode()) == self._code then
return false
end
repeat
if iterateOverAncestorTree(
self,
function(ancestor)
return ancestor:getCode() == (type(otherlang) == "string" and otherlang or otherlang:getCode())
end,
parent_check
) then
return true
elseif type(otherlang) == "string" then
otherlang = get_by_code(otherlang, nil, true)
end
otherlang = otherlang:getParent()
parent_check = false
until not otherlang
end
local parent_check = true
for _, otherlang in ipairs{...} do
local ret = do_iteration(otherlang, parent_check)
if ret then
return true
end
end
return false
end
do
local function construct_node(lang, memo)
local branch, ancestors = {lang = lang:getCode()}
memo[lang:getCode()] = branch
for _, ancestor in ipairs(lang:getAncestors()) do
if ancestors == nil then
ancestors = {}
end
insert(ancestors, memo[ancestor:getCode()] or construct_node(ancestor, memo))
end
branch.ancestors = ancestors
return branch
end
function Language:getAncestorChain()
local chain = self._ancestorChain
if chain == nil then
chain = construct_node(self, {})
self._ancestorChain = chain
end
return chain
end
end
function Language:getAncestorChainOld()
local chain = self._ancestorChain
if chain == nil then
chain = {}
local step = self
while true do
local ancestors = step:getAncestors()
step = #ancestors == 1 and ancestors[1] or nil
if not step then
break
end
insert(chain, step)
end
self._ancestorChain = chain
end
return chain
end
local function fetch_descendants(self, fmt)
local descendants, family = {}, self:getFamily()
-- Iterate over all three datasets.
for _, data in ipairs{
require("Module:languages/code to canonical name"),
require("Module:etymology languages/code to canonical name"),
require("Module:families/code to canonical name"),
} do
for code in pairs(data) do
local lang = get_by_code(code, nil, true, true)
-- Test for a descendant. Earlier tests weed out most candidates, while the more intensive tests are only used sparingly.
if (
code ~= self._code and -- Not self.
lang:inFamily(family) and -- In the same family.
(
family:getProtoLanguageCode() == self._code or -- Self is the protolanguage.
self:hasDescendant(lang) or -- Full hasDescendant check.
(lang:getFullCode() == self._code and not self:hasAncestor(lang)) -- Etymology-only child which isn't an ancestor.
)
) then
if fmt == "object" then
insert(descendants, lang)
elseif fmt == "code" then
insert(descendants, code)
elseif fmt == "name" then
insert(descendants, lang:getCanonicalName())
end
end
end
end
return descendants
end
function Language:getDescendants()
local descendants = self._descendantObjects
if descendants == nil then
descendants = fetch_descendants(self, "object")
self._descendantObjects = descendants
end
return descendants
end
function Language:getDescendantCodes()
local descendants = self._descendantCodes
if descendants == nil then
descendants = fetch_descendants(self, "code")
self._descendantCodes = descendants
end
return descendants
end
function Language:getDescendantNames()
local descendants = self._descendantNames
if descendants == nil then
descendants = fetch_descendants(self, "name")
self._descendantNames = descendants
end
return descendants
end
do
local function check_lang(self, lang)
if type(lang) == "string" then
lang = get_by_code(lang, nil, true)
end
if lang:hasAncestor(self) then
return true
end
end
function Language:hasDescendant(...)
return check_inputs(self, check_lang, false, ...)
end
end
local function fetch_children(self, fmt)
local m_etym_data = require(etymology_languages_data_module)
local self_code, children = self._code, {}
for code, lang in pairs(m_etym_data) do
local _lang = lang
repeat
local parent = _lang.parent
if parent == self_code then
if fmt == "object" then
insert(children, get_by_code(code, nil, true))
elseif fmt == "code" then
insert(children, code)
elseif fmt == "name" then
insert(children, lang[1])
end
break
end
_lang = m_etym_data[parent]
until not _lang
end
return children
end
function Language:getChildren()
local children = self._childObjects
if children == nil then
children = fetch_children(self, "object")
self._childObjects = children
end
return children
end
function Language:getChildrenCodes()
local children = self._childCodes
if children == nil then
children = fetch_children(self, "code")
self._childCodes = children
end
return children
end
function Language:getChildrenNames()
local children = self._childNames
if children == nil then
children = fetch_children(self, "name")
self._childNames = children
end
return children
end
function Language:hasChild(...)
local lang = ...
if not lang then
return false
elseif type(lang) == "string" then
lang = get_by_code(lang, nil, true)
end
if lang:hasParent(self) then
return true
end
return self:hasChild(select(2, ...))
end
--[==[Returns the name of the main category of that language. Example: {{code|lua|"French language"}} for French, whose category is at [[:Category:French language]]. Unless optional argument <code>nocap</code> is given, the language name at the beginning of the returned value will be capitalized. This capitalization is correct for category names, but not if the language name is lowercase and the returned value of this function is used in the middle of a sentence.]==]
function Language:getCategoryName(nocap)
local name = self._categoryName
if name == nil then
name = self:getCanonicalName()
-- If a substrate, omit any leading article.
if self:getFamilyCode() == "qfa-sub" then
name = name:gsub("^the ", ""):gsub("^a ", "")
end
-- Only add " language" if a full language.
if self:hasType("full") then
-- Unless the canonical name already ends with "language", "lect" or their derivatives, add " language".
if not (match(name, "[Ll]anguage$") or match(name, "[Ll]ect$")) then
name = "ဘာႏသာႏ" .. name
end
end
self._categoryName = name
end
if nocap then
return name
end
return mw.getContentLanguage():ucfirst(name)
end
--[==[Creates a link to the category; the link text is the canonical name.]==]
function Language:makeCategoryLink()
return make_link(self, ":Category:" .. self:getCategoryName(), self:getDisplayForm())
end
function Language:getStandardCharacters(sc)
local standard_chars = self._data.standardChars
if type(standard_chars) ~= "table" then
return standard_chars
elseif sc and type(sc) ~= "string" then
check_object("script", nil, sc)
sc = sc:getCode()
end
if (not sc) or sc == "None" then
local scripts = {}
for _, script in pairs(standard_chars) do
insert(scripts, script)
end
return concat(scripts)
end
if standard_chars[sc] then
return standard_chars[sc] .. (standard_chars[1] or "")
end
end
--[==[Make the entry name (i.e. the correct page name).]==]
function Language:makeEntryName(text, sc)
if (not text) or text == "" then
return text, nil, {}
end
-- Set `unsupported` as true if certain conditions are met.
local unsupported
-- Check if there's an unsupported character. \239\191\189 is the replacement character U+FFFD, which can't be typed directly here due to an abuse filter. Unix-style dot-slash notation is also unsupported, as it is used for relative paths in links, as are 3 or more consecutive tildes.
-- Note: match is faster with magic characters/charsets; find is faster with plaintext.
if (
match(text, "[#<>%[%]_{|}]") or
find(text, "\239\191\189") or
match(text, "%f[^%z/]%.%.?%f[%z/]") or
find(text, "~~~")
) then
unsupported = true
-- If it looks like an interwiki link.
elseif find(text, ":") then
local prefix = gsub(text, "^:*(.-):.*", ulower)
if (
load_data("Module:data/namespaces")[prefix] or
load_data("Module:data/interwikis")[prefix]
) then
unsupported = true
end
end
-- Check if the text is a listed unsupported title.
local unsupportedTitles = load_data(links_data_module).unsupported_titles
if unsupportedTitles[text] then
return "Unsupported titles/" .. unsupportedTitles[text], nil, {}
end
sc = checkScript(text, self, sc)
local fail, cats
text = normalize(text, sc)
text, fail, cats = iterateSectionSubstitutions(self, text, sc, nil, nil, self._data.entry_name, "makeEntryName")
text = umatch(text, "^[¿¡]?(.-[^%s%p].-)%s*[؟?!;՛՜ ՞ ՟?!︖︕।॥။၊་།]?$") or text
-- Escape unsupported characters so they can be used in titles. ` is used as a delimiter for this, so a raw use of it in an unsupported title is also escaped here to prevent interference; this is only done with unsupported titles, though, so inclusion won't in itself mean a title is treated as unsupported (which is why it's excluded from the earlier test).
if unsupported then
local unsupported_characters = load_data(links_data_module).unsupported_characters
text = text:gsub("[#<>%[%]_`{|}\239]\191?\189?", unsupported_characters)
:gsub("%f[^%z/]%.%.?%f[%z/]", function(m)
return gsub(m, "%.", "`period`")
end)
:gsub("~~~+", function(m)
return gsub(m, "~", "`tilde`")
end)
text = "Unsupported titles/" .. text
end
return text, fail, cats
end
--[==[Generates alternative forms using a specified method, and returns them as a table. If no method is specified, returns a table containing only the input term.]==]
function Language:generateForms(text, sc)
local generate_forms = self._data.generate_forms
if generate_forms == nil then
return {text}
end
sc = checkScript(text, self, sc)
return require("Module:" .. self._data.generate_forms).generateForms(text, self, sc)
end
--[==[Creates a sort key for the given entry name, following the rules appropriate for the language. This removes diacritical marks from the entry name if they are not considered significant for sorting, and may perform some other changes. Any initial hyphen is also removed, and anything parentheses is removed as well.
The <code>sort_key</code> setting for each language in the data modules defines the replacements made by this function, or it gives the name of the module that takes the entry name and returns a sortkey.]==]
function Language:makeSortKey(text, sc)
if (not text) or text == "" then
return text, nil, {}
end
if match(text, "<[^<>]+>") then
track("track HTML tag")
end
-- Remove directional characters, soft hyphens, strip markers and HTML tags.
text = ugsub(text, "[\194\173\226\128\170-\226\128\174\226\129\166-\226\129\169]", "")
text = gsub(unstrip(text), "<[^<>]+>", "")
text = decode_uri(text, "PATH")
text = checkNoEntities(self, text)
-- Remove initial hyphens and * unless the term only consists of spacing + punctuation characters.
text = ugsub(text, "^([-]*)[-־ـ᠊*]+([-]*)(.*[^%s%p].*)", "%1%2%3")
sc = checkScript(text, self, sc)
text = normalize(text, sc)
text = removeCarets(text, sc)
-- For languages with dotted dotless i, ensure that "İ" is sorted as "i", and "I" is sorted as "ı".
if self:hasDottedDotlessI() then
text = gsub(text, "I\204\135", "i") -- decomposed "İ"
:gsub("I", "ı")
text = sc:toFixedNFD(text)
end
-- Convert to lowercase, make the sortkey, then convert to uppercase. Where the language has dotted dotless i, it is usually not necessary to convert "i" to "İ" and "ı" to "I" first, because "I" will always be interpreted as conventional "I" (not dotless "İ") by any sorting algorithms, which will have been taken into account by the sortkey substitutions themselves. However, if no sortkey substitutions have been specified, then conversion is necessary so as to prevent "i" and "ı" both being sorted as "I".
-- An exception is made for scripts that (sometimes) sort by scraping page content, as that means they are sensitive to changes in capitalization (as it changes the target page).
local fail, cats
if not sc:sortByScraping() then
text = ulower(text)
end
local sort_key = self._data.sort_key
text, fail, cats = iterateSectionSubstitutions(self, text, sc, nil, nil, sort_key, "makeSortKey")
if not sc:sortByScraping() then
if self:hasDottedDotlessI() and not sort_key then
text = gsub(gsub(text, "ı", "I"), "i", "İ")
text = sc:toFixedNFC(text)
end
text = uupper(text)
end
-- Remove parentheses, as long as they are either preceded or followed by something.
text = gsub(text, "(.)[()]+", "%1")
:gsub("[()]+(.)", "%1")
text = escape_risky_characters(text)
return text, fail, cats
end
--[==[Create the form used as as a basis for display text and transliteration.]==]
local function processDisplayText(text, self, sc, keepCarets, keepPrefixes)
local subbedChars = {}
text, subbedChars = doTempSubstitutions(text, subbedChars, keepCarets)
text = decode_uri(text, "PATH")
text = checkNoEntities(self, text)
sc = checkScript(text, self, sc)
local fail, cats
text = normalize(text, sc)
text, fail, cats, subbedChars = iterateSectionSubstitutions(self, text, sc, subbedChars, keepCarets, self._data.display_text, "makeDisplayText")
text = removeCarets(text, sc)
-- Remove any interwiki link prefixes (unless they have been escaped or this has been disabled).
if find(text, ":") and not keepPrefixes then
local rep
repeat
text, rep = gsub(text, "\\\\(\\*:)", "\3%1")
until rep == 0
text = gsub(text, "\\:", "\4")
while true do
local prefix = gsub(text, "^(.-):.+", function(m1)
return gsub(m1, "\244[\128-\191]*", "")
end)
-- Check if the prefix is an interwiki, though ignore capitalised Wiktionary:, which is a namespace.
if not prefix or prefix == text or prefix == "Wiktionary"
or not (load_data("Module:data/interwikis")[ulower(prefix)] or prefix == "") then
break
end
text = gsub(text, "^(.-):(.*)", function(m1, m2)
local ret = {}
for subbedChar in gmatch(m1, "\244[\128-\191]*") do
insert(ret, subbedChar)
end
return concat(ret) .. m2
end)
end
text = gsub(text, "\3", "\\")
:gsub("\4", ":")
end
return text, fail, cats, subbedChars
end
--[==[Make the display text (i.e. what is displayed on the page).]==]
function Language:makeDisplayText(text, sc, keepPrefixes)
if (not text) or text == "" then
return text, nil, {}
end
local fail, cats, subbedChars
text, fail, cats, subbedChars = processDisplayText(text, self, sc, nil, keepPrefixes)
text = escape_risky_characters(text)
return undoTempSubstitutions(text, subbedChars), fail, cats
end
--[==[Transliterates the text from the given script into the Latin script (see [[Wiktionary:Transliteration and romanization]]). The language must have the <code>translit</code> property for this to work; if it is not present, {{code|lua|nil}} is returned.
Returns three values:
# The transliteration.
# A boolean which indicates whether the transliteration failed for an unexpected reason. If {{code|lua|false}}, then the transliteration either succeeded, or the module is returning nothing in a controlled way (e.g. the input was {{code|lua|"-"}}). Generally, this means that no maintenance action is required. If {{code|lua|true}}, then the transliteration is {{code|lua|nil}} because either the input or output was defective in some way (e.g. [[Module:ar-translit]] will not transliterate non-vocalised inputs, and this module will fail partially-completed transliterations in all languages). Note that this value can be manually set by the transliteration module, so make sure to cross-check to ensure it is accurate.
# A table of categories selected by the transliteration module, which should be in the format expected by {{code|lua|format_categories}} in [[Module:utilities]].
The <code>sc</code> parameter is handled by the transliteration module, and how it is handled is specific to that module. Some transliteration modules may tolerate {{code|lua|nil}} as the script, others require it to be one of the possible scripts that the module can transliterate, and will show an error if it's not one of them. For this reason, the <code>sc</code> parameter should always be provided when writing non-language-specific code.
The <code>module_override</code> parameter is used to override the default module that is used to provide the transliteration. This is useful in cases where you need to demonstrate a particular module in use, but there is no default module yet, or you want to demonstrate an alternative version of a transliteration module before making it official. It should not be used in real modules or templates, only for testing. All uses of this parameter are tracked by [[Wiktionary:Tracking/languages/module_override]].
'''Known bugs''':
* This function assumes {tr(s1) .. tr(s2) == tr(s1 .. s2)}. When this assertion fails, wikitext markups like <nowiki>'''</nowiki> can cause wrong transliterations.
* HTML entities like <code>&apos;</code>, often used to escape wikitext markups, do not work.]==]
function Language:transliterate(text, sc, module_override)
-- If there is no text, or the language doesn't have transliteration data and there's no override, return nil.
if not (self._data.translit or module_override) then
return nil, false, {}
elseif (not text) or text == "" or text == "-" then
return text, false, {}
end
-- If the script is not transliteratable (and no override is given), return nil.
sc = checkScript(text, self, sc)
if not (sc:isTransliterated() or module_override) then
-- temporary tracking to see if/when this gets triggered
track("non-transliterable")
track("non-transliterable/" .. self._code)
track("non-transliterable/" .. sc:getCode())
track("non-transliterable/" .. sc:getCode() .. "/" .. self._code)
return nil, true, {}
end
-- Remove any strip markers.
text = unstrip(text)
-- Do not process the formatting into PUA characters for certain languages.
local processed = load_data(languages_data_module).substitution[self._code] ~= "none"
-- Get the display text with the keepCarets flag set.
local fail, cats, subbedChars
if processed then
text, fail, cats, subbedChars = processDisplayText(text, self, sc, true)
end
-- Transliterate (using the module override if applicable).
text, fail, cats, subbedChars = iterateSectionSubstitutions(self, text, sc, subbedChars, true, module_override or self._data.translit, "tr")
if not text then
return nil, true, cats
end
-- Incomplete transliterations return nil.
local charset = sc.characters
if charset and umatch(text, "[" .. charset .. "]") then
-- Remove any characters in Latin, which includes Latin characters also included in other scripts (as these are false positives), as well as any PUA substitutions. Anything remaining should only be script code "None" (e.g. numerals).
local check_text = ugsub(text, "[" .. get_script("Latn").characters .. "-]+", "")
-- Set none_is_last_resort_only flag, so that any non-None chars will cause a script other than "None" to be returned.
if find_best_script_without_lang(check_text, true):getCode() ~= "None" then
return nil, true, cats
end
end
if processed then
text = escape_risky_characters(text)
text = undoTempSubstitutions(text, subbedChars)
end
-- If the script does not use capitalization, then capitalize any letters of the transliteration which are immediately preceded by a caret (and remove the caret).
if text and not sc:hasCapitalization() and text:find("^", 1, true) then
text = processCarets(text, "%^([\128-\191\244]*%*?)([^\128-\191\244][\128-\191]*)", function(m1, m2)
return m1 .. uupper(m2)
end)
end
-- Track module overrides.
if module_override ~= nil then
track("module_override")
end
fail = text == nil and (not not fail) or false
return text, fail, cats
end
do
local function handle_language_spec(self, spec, sc)
local ret = self["_" .. spec]
if ret == nil then
ret = self._data[spec]
if type(ret) == "string" then
ret = list_to_set(split(ret, ",", true, true))
end
self["_" .. spec] = ret
end
if type(ret) == "table" then
ret = ret[sc:getCode()]
end
return not not ret
end
function Language:overrideManualTranslit(sc)
return handle_language_spec(self, "override_translit", sc)
end
function Language:link_tr(sc)
return handle_language_spec(self, "link_tr", sc)
end
end
--[==[Returns {{code|lua|true}} if the language has a transliteration module, or {{code|lua|false}} if it doesn't.]==]
function Language:hasTranslit()
return not not self._data.translit
end
--[==[Returns {{code|lua|true}} if the language uses the letters I/ı and İ/i, or {{code|lua|false}} if it doesn't.]==]
function Language:hasDottedDotlessI()
return not not self._data.dotted_dotless_i
end
function Language:toJSON(opts)
local entry_name, entry_name_patterns, entry_name_remove_diacritics = self._data.entry_name
if entry_name then
if entry_name.from then
entry_name_patterns = {}
for i, from in ipairs(entry_name.from) do
insert(entry_name_patterns, {from = from, to = entry_name.to[i] or ""})
end
end
entry_name_remove_diacritics = entry_name.remove_diacritics
end
-- mainCode should only end up non-nil if dontCanonicalizeAliases is passed to make_object().
-- props should either contain zero-argument functions to compute the value, or the value itself.
local props = {
ancestors = function() return self:getAncestorCodes() end,
canonicalName = function() return self:getCanonicalName() end,
categoryName = function() return self:getCategoryName("nocap") end,
code = self._code,
mainCode = self._mainCode,
parent = function() return self:getParentCode() end,
full = function() return self:getFullCode() end,
entryNamePatterns = entry_name_patterns,
entryNameRemoveDiacritics = entry_name_remove_diacritics,
family = function() return self:getFamilyCode() end,
aliases = function() return self:getAliases() end,
varieties = function() return self:getVarieties() end,
otherNames = function() return self:getOtherNames() end,
scripts = function() return self:getScriptCodes() end,
type = function() return keys_to_list(self:getTypes()) end,
wikimediaLanguages = function() return self:getWikimediaLanguageCodes() end,
wikidataItem = function() return self:getWikidataItem() end,
wikipediaArticle = function() return self:getWikipediaArticle(true) end,
}
local ret = {}
for prop, val in pairs(props) do
if not opts.skip_fields or not opts.skip_fields[prop] then
if type(val) == "function" then
ret[prop] = val()
else
ret[prop] = val
end
end
end
-- Use `deep_copy` when returning a table, so that there are no editing restrictions imposed by `mw.loadData`.
return opts and opts.lua_table and deep_copy(ret) or to_json(ret, opts)
end
function export.getDataModuleName(code)
local letter = match(code, "^(%l)%l%l?$")
return "Module:" .. (
letter == nil and "languages/data/exceptional" or
#code == 2 and "languages/data/2" or
"languages/data/3/" .. letter
)
end
get_data_module_name = export.getDataModuleName
function export.getExtraDataModuleName(code)
return get_data_module_name(code) .. "/extra"
end
get_extra_data_module_name = export.getExtraDataModuleName
do
local function make_stack(data)
local key_types = {
[2] = "unique",
aliases = "unique",
otherNames = "unique",
type = "append",
varieties = "unique",
wikipedia_article = "unique",
wikimedia_codes = "unique"
}
local function __index(self, k)
local stack, key_type = getmetatable(self), key_types[k]
-- Data that isn't inherited from the parent.
if key_type == "unique" then
local v = stack[stack[make_stack]][k]
if v == nil then
local layer = stack[0]
if layer then -- Could be false if there's no extra data.
v = layer[k]
end
end
return v
-- Data that is appended by each generation.
elseif key_type == "append" then
local parts, offset, n = {}, 0, stack[make_stack]
for i = 1, n do
local part = stack[i][k]
if part == nil then
offset = offset + 1
else
parts[i - offset] = part
end
end
return offset ~= n and concat(parts, ",") or nil
end
local n = stack[make_stack]
while true do
local layer = stack[n]
if not layer then -- Could be false if there's no extra data.
return nil
end
local v = layer[k]
if v ~= nil then
return v
end
n = n - 1
end
end
local function __newindex()
error("table is read-only")
end
local function __pairs(self)
-- Iterate down the stack, caching keys to avoid duplicate returns.
local stack, seen = getmetatable(self), {}
local n = stack[make_stack]
local iter, state, k, v = pairs(stack[n])
return function()
repeat
repeat
k = iter(state, k)
if k == nil then
n = n - 1
local layer = stack[n]
if not layer then -- Could be false if there's no extra data.
return nil
end
iter, state, k = pairs(layer)
end
until not (k == nil or seen[k])
-- Get the value via a lookup, as the one returned by the
-- iterator will be the raw value from the current layer,
-- which may not be the one __index will return for that
-- key. Also memoize the key in `seen` (even if the lookup
-- returns nil) so that it doesn't get looked up again.
-- TODO: store values in `self`, avoiding the need to create
-- the `seen` table. The iterator will need to iterate over
-- `self` with `next` first to find these on future loops.
v, seen[k] = self[k], true
until v ~= nil
return k, v
end
end
local __ipairs = require(table_module).indexIpairs
function make_stack(data)
local stack = {
data,
[make_stack] = 1, -- stores the length and acts as a sentinel to confirm a given metatable is a stack.
__index = __index,
__newindex = __newindex,
__pairs = __pairs,
__ipairs = __ipairs,
}
stack.__metatable = stack
return setmetatable({}, stack), stack
end
return make_stack(data)
end
local function get_stack(data)
local stack = getmetatable(data)
return stack and type(stack) == "table" and stack[make_stack] and stack or nil
end
--[==[
<span style="color: #BA0000">This function is not for use in entries or other content pages.</span>
Returns a blob of data about the language. The format of this blob is undocumented, and perhaps unstable; it's intended for things like the module's own unit-tests, which are "close friends" with the module and will be kept up-to-date as the format changes. If `extra` is set, any extra data in the relevant `/extra` module will be included. (Note that it will be included anyway if it has already been loaded into the language object.) If `raw` is set, then the returned data will not contain any data inherited from parent objects.
-- Do NOT use these methods!
-- All uses should be pre-approved on the talk page!
]==]
function Language:getData(extra, raw)
if extra then
self:loadInExtraData()
end
local data = self._data
-- If raw is not set, just return the data.
if not raw then
return data
end
local stack = get_stack(data)
-- If there isn't a stack or its length is 1, return the data. Extra data (if any) will be included, as it's stored at key 0 and doesn't affect the reported length.
if stack == nil then
return data
end
local n = stack[make_stack]
if n == 1 then
return data
end
local extra = stack[0]
-- If there isn't any extra data, return the top layer of the stack.
if extra == nil then
return stack[n]
end
-- If there is, return a new stack which has the top layer at key 1 and the extra data at key 0.
data, stack = make_stack(stack[n])
stack[0] = extra
return data
end
function Language:loadInExtraData()
-- Only full languages have extra data.
if not self:hasType("language", "full") then
return
end
local data = self._data
-- If there's no stack, create one.
local stack = get_stack(self._data)
if stack == nil then
data, stack = make_stack(data)
-- If already loaded, return.
elseif stack[0] ~= nil then
return
end
self._data = data
-- Load extra data from the relevant module and add it to the stack at key 0, so that the __index and __pairs metamethods will pick it up, since they iterate down the stack until they run out of layers.
local code = self._code
local modulename = get_extra_data_module_name(code)
-- No data cached as false.
stack[0] = modulename and load_data(modulename)[code] or false
end
--[==[Returns the name of the module containing the language's data. Currently, this is always [[Module:scripts/data]].]==]
function Language:getDataModuleName()
local name = self._dataModuleName
if name == nil then
name = self:hasType("etymology-only") and etymology_languages_data_module or
get_data_module_name(self._mainCode or self._code)
self._dataModuleName = name
end
return name
end
--[==[Returns the name of the module containing the language's data. Currently, this is always [[Module:scripts/data]].]==]
function Language:getExtraDataModuleName()
local name = self._extraDataModuleName
if name == nil then
name = not self:hasType("etymology-only") and get_extra_data_module_name(self._mainCode or self._code) or false
self._extraDataModuleName = name
end
return name or nil
end
function export.makeObject(code, data, dontCanonicalizeAliases)
local data_type = type(data)
if data_type ~= "table" then
error(("bad argument #2 to 'makeObject' (table expected, got %s)"):format(data_type))
end
-- Convert any aliases.
local input_code = code
code = normalize_code(code)
input_code = dontCanonicalizeAliases and input_code or code
local parent
if data.parent then
parent = get_by_code(data.parent, nil, true, true)
else
parent = Language
end
parent.__index = parent
local lang = {_code = input_code}
-- This can only happen if dontCanonicalizeAliases is passed to make_object().
if code ~= input_code then
lang._mainCode = code
end
local parent_data = parent._data
if parent_data == nil then
-- Full code is the same as the code.
lang._fullCode = parent._code or code
else
-- Copy full code.
lang._fullCode = parent._fullCode
local stack = get_stack(parent_data)
if stack == nil then
parent_data, stack = make_stack(parent_data)
end
-- Insert the input data as the new top layer of the stack.
local n = stack[make_stack] + 1
data, stack[n], stack[make_stack] = parent_data, data, n
end
lang._data = data
return setmetatable(lang, parent)
end
make_object = export.makeObject
end
--[==[Finds the language whose code matches the one provided. If it exists, it returns a <code class="nf">Language</code> object representing the language. Otherwise, it returns {{code|lua|nil}}, unless <code class="n">paramForError</code> is given, in which case an error is generated. If <code class="n">paramForError</code> is {{code|lua|true}}, a generic error message mentioning the bad code is generated; otherwise <code class="n">paramForError</code> should be a string or number specifying the parameter that the code came from, and this parameter will be mentioned in the error message along with the bad code. If <code class="n">allowEtymLang</code> is specified, etymology-only language codes are allowed and looked up along with normal language codes. If <code class="n">allowFamily</code> is specified, language family codes are allowed and looked up along with normal language codes.]==]
function export.getByCode(code, paramForError, allowEtymLang, allowFamily)
-- Track uses of paramForError, ultimately so it can be removed, as error-handling should be done by [[Module:parameters]], not here.
if paramForError ~= nil then
track("paramForError")
end
if type(code) ~= "string" then
local typ
if not code then
typ = "nil"
elseif check_object("language", true, code) then
typ = "a language object"
elseif check_object("family", true, code) then
typ = "a family object"
else
typ = "a " .. type(code)
end
error("The function getByCode expects a string as its first argument, but received " .. typ .. ".")
end
local m_data = load_data(languages_data_module)
if m_data.aliases[code] or m_data.track[code] then
track(code)
end
local norm_code = normalize_code(code)
-- Get the data, checking for etymology-only languages if allowEtymLang is set.
local data = load_data(get_data_module_name(norm_code))[norm_code] or
allowEtymLang and load_data(etymology_languages_data_module)[norm_code]
-- If no data was found and allowFamily is set, check the family data. If the main family data was found, make the object with [[Module:families]] instead, as family objects have different methods. However, if it's an etymology-only family, use make_object in this module (which handles object inheritance), and the family-specific methods will be inherited from the parent object.
if data == nil and allowFamily then
data = load_data("Module:families/data")[norm_code]
if data ~= nil then
if data.parent == nil then
return make_family_object(norm_code, data)
elseif not allowEtymLang then
data = nil
end
end
end
local retval = code and data and make_object(code, data)
if not retval and paramForError then
require("Module:languages/errorGetBy").code(code, paramForError, allowEtymLang, allowFamily)
end
return retval
end
get_by_code = export.getByCode
--[==[Finds the language whose canonical name (the name used to represent that language on Wiktionary) or other name matches the one provided. If it exists, it returns a <code class="nf">Language</code> object representing the language. Otherwise, it returns {{code|lua|nil}}, unless <code class="n">paramForError</code> is given, in which case an error is generated. If <code class="n">allowEtymLang</code> is specified, etymology-only language codes are allowed and looked up along with normal language codes. If <code class="n">allowFamily</code> is specified, language family codes are allowed and looked up along with normal language codes.
The canonical name of languages should always be unique (it is an error for two languages on Wiktionary to share the same canonical name), so this is guaranteed to give at most one result.
This function is powered by [[Module:languages/canonical names]], which contains a pre-generated mapping of full-language canonical names to codes. It is generated by going through the [[:Category:Language data modules]] for full languages. When <code class="n">allowEtymLang</code> is specified for the above function, [[Module:etymology languages/canonical names]] may also be used, and when <code class="n">allowFamily</code> is specified for the above function, [[Module:families/canonical names]] may also be used.]==]
function export.getByCanonicalName(name, errorIfInvalid, allowEtymLang, allowFamily)
local byName = load_data("Module:languages/canonical names")
local code = byName and byName[name]
if not code and allowEtymLang then
byName = load_data("Module:etymology languages/canonical names")
code = byName and byName[name] or
byName[gsub(name, " [Ss]ubstrate$", "")] or
byName[gsub(name, "^a ", "")] or
byName[gsub(name, "^a ", ""):gsub(" [Ss]ubstrate$", "")] or
-- For etymology families like "ira-pro".
-- FIXME: This is not ideal, as it allows " languages" to be appended to any etymology-only language, too.
byName[match(name, "^(.*) languages$")]
end
if not code and allowFamily then
byName = load_data("Module:families/canonical names")
code = byName[name] or byName[match(name, "^(.*) languages$")]
end
local retval = code and get_by_code(code, errorIfInvalid, allowEtymLang, allowFamily)
if not retval and errorIfInvalid then
require("Module:languages/errorGetBy").canonicalName(name, allowEtymLang, allowFamily)
end
return retval
end
--[==[Used by [[Module:languages/data/2]] (et al.) and [[Module:etymology languages/data]], [[Module:families/data]], [[Module:scripts/data]] and [[Module:writing systems/data]] to finalize the data into the format that is actually returned.]==]
function export.finalizeData(data, main_type, variety)
local fields = {"type"}
if main_type == "language" then
insert(fields, 4) -- script codes
insert(fields, "ancestors")
insert(fields, "link_tr")
insert(fields, "override_translit")
insert(fields, "wikimedia_codes")
elseif main_type == "script" then
insert(fields, 3) -- writing system codes
end -- Families and writing systems have no extra fields to process.
local fields_len = #fields
for _, entity in next, data do
if variety then
-- Move parent from 3 to "parent" and family from "family" to 3. These are different for the sake of convenience, since very few varieties have the family specified, whereas all of them have a parent.
entity.parent, entity[3], entity.family = entity[3], entity.family
-- Give the type "regular" iff not a variety and no other types are assigned.
elseif not (entity.type or entity.parent) then
entity.type = "regular"
end
for i = 1, fields_len do
local key = fields[i]
local field = entity[key]
if field and type(field) == "string" then
entity[key] = gsub(field, "%s*,%s*", ",")
end
end
end
return data
end
--[==[For backwards compatibility only; modules should require the error themselves.]==]
function export.err(lang_code, param, code_desc, template_tag, not_real_lang)
return require("Module:languages/error")(lang_code, param, code_desc, template_tag, not_real_lang)
end
return export
5milx6puy06ob4fuune9gvbyu6qjak0
ကတောင်
0
557
11879
1628
2025-06-23T11:42:22Z
咽頭べさ
11
11879
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏ===
{{blk-noun}}
* ကတောင်
# မဲ့ဆွဉ်ႏတောမ်ႏ ကလူႏအခါႏ ကအဝ်ႏဒါႏ အပီယာႏခြေင်။
====နပ်တွက်====
* ဗာႏ
====ဘာႏသာႏလင်====
* မန်း : [[နဖူး]]
* အိန်းကလေတ် : [[forehead]]
ngyppjd95xeb12uyt6ah33hvlirjxcw
ကတေႏ
0
559
11880
7892
2025-06-23T11:42:44Z
咽頭べさ
11
11880
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===နာမ်ႏ===
{{blk-noun}}
# ငဝ်းရွိုင်ꩻငဝ်းကျမ်ꩻ ငဝ်းခွန်းတမျိုꩻ (လိုꩻခိုဒေါ့ꩻသုင်ꩻအာ)။
===ဘာႏသာႏပြန်ႏ===
*မန်း : လီး၊ [[စောက်]]၊ သောက်။
rdbkn3rg28w8wz9pwz6r9pfj9hnfkm2
ကတ်
0
560
11881
1639
2025-06-23T11:43:12Z
咽頭べさ
11
11881
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အရွီးခိုႏ===
* En-card
===နာမ်ႏ===
{{head|blk|နာမ်ႏ}}
* စေး တပျာႏ။
#: [[ကျောင်ꩻသား]]ကတ်၊ မတ်ပုံတဲင်ကတ်။
====ဘာႏသာႏပြန်ႏ====
*မန်း : [[ကတ်]]
*အဲင်းကလေတ် : [[card]]
nn9gwitt0wylbfkqunoap2bj157v836
ကဖြေင်း
0
576
11816
1704
2025-06-23T08:27:10Z
咽頭べさ
11
11816
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမဝိသေသန===
{{blk-adj}}
* ဖြေင်း
* [[ကဖြေင်း]]
# အရောင်ႏနုဲင်းဒါႏ မေႏသွာႏ။
====ဘာႏသာႏလင်====
* မန်း : [[နက်]]သော၊ [[မည်း]]သော
* အိန်းကလေတ် : [[black]].
6z8moebikd8i8czuog3g632kotdqpyr
ကဗွာ
0
577
11817
1706
2025-06-23T08:27:29Z
咽頭べさ
11
11817
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမဝိသေသန===
{{blk-adj}}
* ကဗွာ
# အရောင်ႏကအဝ်ႏဒါႏ နုဲင်း[[ထွန်]]၊ [[ဖိုး]][[နဲဉ်းထီ]] စတဲင် အရောင်ႏ၊ အရောင်ႏဗွာ။
====ဘာႏသာႏလင်====
* မန်း : [[ဖြူ]]သော
* အိန်းကလေတ် : [[white]](colour).
slptonytbu8dcun36wbs0yuv0skbj04
ကမ္ဘာႏဆေꩻကွက်ꩻ
0
581
11882
1723
2025-06-23T11:44:10Z
咽頭べさ
11
11882
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===နာမ်ႏ===
{{head|blk|နာမ်ႏ}}
* [[ကမ္ဘာႏဆေꩻကွက်ꩻ]]
# က[[ထန်ႏ]]လွဉ်ဒါႏ [[ကွန်ႏ]][[တခြိုꩻ]]ဖုံႏယို ကမ္ဘာႏတဖြုံႏလုမ်း အလုဲင်းတဗာႏ ကဖြေꩻစာနွောင်ꩻဒါႏ [[ခင်ႏလမ်း]]။
===ဘာႏသာႏပြန်ႏ===
*မန်း : [[ကမ္ဘာ့ဈေးကွက်]]
*အဲင်းကလေတ် : [[world]] [[market]].
5b4ihnb86i39rblaugalssxuqy5mo4e
ကမ်းပုဲင်း
0
587
11883
1750
2025-06-23T11:44:53Z
咽頭べさ
11
11883
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
[[ဖုဲင်:duck.jpg|thumb]]
===အငဝ်းထန်ႏ===
===နာမ်ႏ===
{{blk-noun}}
* ကမ်းပုဲင်း
# အ[[ဒေ့ꩻ]]ပါထွူ အ[[ခင်ႏ]]နီပင် ခင်ႏလီးအခါႏ အ[[ပီ]]ကအဝ်ႏဆွိုက်ဒါႏဝင်ꩻ ကယားဒါႏထီ သတ္တဝါးထာꩻသားတမျိုꩻ။
====နပ်တွက်====
* ဗာႏ
====အခရာႏပီ လိတ်ဖြုံႏကွာႏ====
* [[ကမ်ႏပုဲင်း]]၊ ကံꩻပုဲင်း။
==ဘာႏသာႏပြန်ႏ==
*မန်း : [[ဘဲ]](တိရစ္ဆာန်)၊ ဝမ်းဘဲ
* အဲင်းကလေတ် : [[duck]].
7s4vcaqwlvvvdawxettve62gepd251h
ကမ်ႏပုဲင်းဖြောင်း
0
590
11884
7912
2025-06-23T11:45:11Z
咽頭べさ
11
11884
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===နာမ်ႏ===
{{blk-noun}}
===ဘာႏသာႏပြန်ႏ===
*မန်း : [[ဘဲနှုတ်သီး]]
*အဲင်းကလေတ် : Duck beak
twiipiehwyri9c96qvm7jbn4v98ghcr
ကရဝေးဖေ့ႏ
0
595
11885
7888
2025-06-23T11:45:30Z
咽頭べさ
11
11885
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===နာမ်ႏ===
{{blk-noun}}
===ဘာႏသာႏပြန်ႏ===
*မန်း : [[ကရဝေး]]ခေါက်
pvzmpsvltc15m8bfp2pzdxxkx1tlp5e
ကလောင်မိဉ်ꩻ
0
603
11886
1818
2025-06-23T11:45:56Z
咽頭べさ
11
11886
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏ===
{{blk-noun}}
* ကလောင်မိဉ်ꩻ
# တဲမ်းလိတ်လုဲင်ꩻကို [[တဲမ်းလိတ်ဆရာႏ]]သီး ကခံႏထူႏ ထူႏသုင်ꩻဒါႏ မိဉ်ꩻတမျိုꩻ။
===ဘာႏသာႏပြန်ႏ===
*မန်း : [[ကလာင်နာမည်]]
*အဲင်းကလေတ် : [[pen-name]].
5kkveilzlg4r8gl4lh5zbedc65ninql
ကဝ်ႏ
0
605
11887
10291
2025-06-23T11:46:43Z
咽頭べさ
11
11887
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
[[Image:Cactus in Bloom 01.jpg|thumb|Pink cactus flowers in bloom.|100px]]
[[image:Flor.png|thumb|100px]]
[[image:Brunfelsia pauciflora shrub.jpg|100px]]
[[image:Narcissus.calcicola.7114.jpg|100px]]
[[image:Dahlia - roze.jpg|100px]]
[[image:LiliumBulbiferumCroceumBologna.jpg|100px]]
[[image:Nerium oleander September 2007-1.jpg|100px]]
[[image:Red rose.jpg|100px]][[image:Tulipa suaveolens floriade to Canberra.jpg|100px]]
===အငဝ်းထန်ႏ===
{{audio|blk|LL-Q7121294 (blk)-KhunRorNa-ကဝ်ႏ.wav}}
===နာမ်ႏ===
{{blk-noun}}
* ကဝ်ႏ[[ဗို]] (သုင်ꩻအီအမိဉ်ꩻထျꩻ)
# တောမ်ႏ အတုဲင်၊ အပင်ပေႏ၊ အလာႏ စတဲင် ကပါဒါႏ အပြဝ်ႏကဝ်ႏလုဲင်ꩻပုင်ႏ အမိဉ်ꩻခံႏဆꩻငါ။ ကဝ်ႏတင်ႏ၊ ကဝ်ႏတဖြေ...။
* [[ကဝ်ႏတုဲင်]]၊
# အဝ်ႏအမွူးစတဲင်လောင်းကို ဖေႏကပွာꩻနွောင်ꩻ အစွိုးအခြွီတဲင် ကတုဲင်လွဉ်ဒါႏ အတုဲင်အကဝ်ႏ။ ကဝ်ႏတုဲင်။
* [[ကဝ်ႏလုဲင်ꩻ]]။
# တဲက်တွိုင်ꩻဖန်ဟဲ့ꩻဒါႏ ပကီႏကဝ်ႏလုဲင်ꩻတဲ့ꩻထာꩻရုက်(ပန်းပု)ထာꩻဒါႏ စူမုꩻသုခုမအနုပညာႏ။ ကဝ်ႏလုဲင်ꩻ။
*'''''ကဝ်ႏ''' ကရိုꩻနဝ်ꩻ''
#ကဝ်ႏမွံꩻကဝ်ႏတုဲင်မွူးဖုံႏ အရောင်ႏစွုမ်ႏအဝ်ႏအာတန်နေနေသွူ၊ကဝ်ႏတုဲင်ယိုတဗာႏနဝ်ꩻ အမွူးပေႏတသာယံမွန်ဗန်သွုပ်ယင်းအတာႏ ထေထန်ႏဖေႏအရာႏ ကအဝ်ႏလိုႏဒါႏအခူꩻအခွီမျိုꩻဖုံႏသွူ။
#ကဝ်ႏဖုံႏယိုနဝ်ꩻ တရေꩻဖဲ့ꩻတာႏ တန်ꩻဖိုꩻငိုꩻအဝ်ႏတဲင် ဥယေန်ႏခြံတုံး၊ကဝ်ႏခြာဖုံႏ၊ ယေန်ႏငဲးတာႏဖဲ့ꩻ သဘာႏဝထွားတရေꩻအီ အရောင်ႏအထီအသွီႏအဝ်ႏလွဉ်ထွူတဲင်ခါ ထဲမ်ဖေႏလိုꩻသီးအသောင်ရင်ꩻ ထာꩻတရေꩻဖုံႏတဗာႏယို အဝ်ႏသုင်ꩻအာသွူ။
===ဘာႏသာႏလင်===
*မန်း : [[ပန်း]]
*အဲင်းကလေတ် : [[flower]]
==ပအိုဝ်ႏ==
===ကြိယာႏ===
{{blk-verb}}
* ကဝ်ႏ
# ကဲဉ်းအာ ထာꩻမွူးထာꩻပေႏဖုံႏ အစွိုးအခြွီကလꩻနွောင်ꩻဒါႏခင်ႏလမ်းနဝ်ꩻ အကဝ်ႏ ကဝ်ႏလွဉ်။
#: ထာꩻခွꩻခိင်ႏနဝ်ꩻ အေင်ခေꩻကဝ်ႏ '''ကဝ်ႏ'''လဲဉ်းသွူ။
===ဘာႏသာႏပြန်ႏ===
*မန်း : ပန်း[[ပွင့်]]သည်။
*အဲင်းကလေတ် : (of flowers) [[bloom]]; [[blossom]].
dqc0chjm2fuuaig19anl7gyc3mvc2ji
ကဝ်ႏရာႏ
0
611
11888
1858
2025-06-23T11:47:53Z
咽頭べさ
11
11888
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏ===
{{blk-noun}}
* ကဝ်ႏရာႏ
* (ပန်းတီး)
# အရာႏကို အယာႏပနဲဉ်ႏခြိုမ်ႏ၊ အရသာႏနွိုးခွꩻ၊ ယဟန်ႏတဲ့ အရသာႏ နွိုးဆျာႏခွꩻ သေင်ႏရာႏတမျိုꩻ။
====အခရာႏပီ လိတ်ဖြုံႏကွာႏ====
* [[ပန်းတီး]]ရာႏ၊ [[တပုဲင်ႏဟောမ်]]၊ [[တပုဲင်ႏဟွမ်]]
====နပ်တွက်====
* ဖြုံႏ၊ ဖြိုင်ႏ
====ဘာႏသာႏလင်====
* မန်း : [[ပန်းသီး]]
* အိန်းကလေတ် : [[apple]].
e3yqcop8zla1xw1llz3ip7bi2eycck8
ကဝ်ႏအတိတ်နိမိတ်
0
614
11889
8300
2025-06-23T11:48:21Z
咽頭べさ
11
11889
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===နာမ်ႏ===
{{blk-noun}}
===ဘာႏသာႏပြန်ႏ===
*မန်း : [[အရိပ်ပန်း]]
* အဲင်းကလေတ် :
dreiz2f5xsiv61umkl9h5h8t5912gef
ကသမ်း
0
615
11890
1875
2025-06-23T11:48:41Z
咽頭べさ
11
11890
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===နာမ်ႏ===
{{blk-noun}}
===ဘာႏသာႏပြန်ႏ===
*မန်း : အကောင်းသား
6qhjz51ogkfj1xyyuzdr2i0ieb4v2it
ကသေန်း
0
616
11891
1877
2025-06-23T11:49:00Z
咽頭べさ
11
11891
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏ===
{{blk-noun}}
* ကသေန်း
# [[ခိုးသေန်း]]၊ စျာသန်
# နုတ်ꩻသွူဟူဖွန်ႏတွော့ꩻ ခြောင်နေးတရိုꩻတဝ်း၊ ခြောင်ꩻတဝ်းတဲ့တရိုꩻတဝ်း နျꩻထန်ႏနေးပိဉ်လီးလီး တောမ်ႏအပွိုင်ကိုတဲင် ကလꩻလွဉ်ဒါႏ တခိုးယွို့ပုင်ႏ ပိဉ်လီးလီး နုဲင်းကသွယ်ꩻ။
====ဘာႏသာႏပြန်ႏ====
*မန်း : [[မုန့်တီ]]၊ [[ကြာဆံ]]
* အိန်းကလေတ် : [[vermicelli]], [[rice]] [[noodle]]s.
runteqp6hnrksnu7dy0q7vymv5571t2
ကားထာꩻသား
0
622
11892
1900
2025-06-23T11:49:26Z
咽頭べさ
11
11892
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏ===
{{blk-noun}}
* ကားထာꩻသား
* [[ကုင်ႏသယ်ႏ]]၊ [[ကွန်ႏသယ်ႏ]]
# လွူးနမ်းမွေးသက် တောမ်ႏအဖြေꩻအစာ ကူꩻကားကွန်ႏတခြိုꩻသား။
===ဘာႏသာႏပြန်ႏ===
*မန်း : [[ကုန်သည်]]၊ [[ကုန်သည်ကြီး]]
*အိန်းကလေတ် : [[trader]]. [[merchant]].
piuaac7a1pu3mg0laphi75in7qwkpa9
ကာႏဆွတ်ꩻ
0
626
11893
1918
2025-06-23T11:49:48Z
咽頭べさ
11
11893
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏ===
{{blk-noun}}
* ကာႏဆွတ်ꩻ
# အဝ်ႏနားထျꩻလ ဗꩻဖြောင်း ကငေါ်ꩻတကဲင်ႏငါဒါႏ မဲ့ငါ အကင်အခဝ်လသွတ်ꩻ ကအဝ်ႏဒါႏ ဆွတ်ꩻဆွိုက်အခဝ်လ၊ ကာႏဆွတ်ꩻ။
#: တငါဖုံႏအဝ်ႏတဲင် ရုဲင်ꩻတသွိုးကီလ ကလꩻဒါႏ ကာႏအဝ်ႏ တစွုမ်ႏသွူ။
====ဘာႏသာႏပြန်ႏ====
*မန်း : [[မေးရိုး]]။
* အဲင်းကလေတ် : lower [[jawbone]]; [[mandible]].
i89k5fuuo968qoolywdk6idrxl4larz
ကာꩻ
0
629
11894
1929
2025-06-23T11:50:21Z
咽頭べさ
11
11894
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အရွီးခိုႏ===
* Eng-car၊ မန်း-ကား
===နာမ်ႏ===
{{blk-noun}}
# ဝါးအီတောမ်ႏစက်ခြွိုင်း ကလꩻဒါႏ အရာႏပါ လိုꩻထိုမ်း ဒင်ႏအီကွန်ႏတခြိုꩻ စတဲင် ကလꩻဒါႏ ဝါးခရာႏ၊ ကာꩻ။ ကား။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[ကား]](မော်တော်ကား)
* အိန်းကလေတ် : [[car]].
ax592ddz1b6v4ti2ittbv46hex90xrl
ကာꩻထုဲင်
0
633
11895
1945
2025-06-23T11:50:59Z
咽頭べさ
11
11895
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
[[ဖုဲင်:Tractors.jpg|thumb|ကာꩻထုဲင်ပုင်ႏ]]
===အငဝ်းထန်ႏ===
===နာမ်ႏ===
{{blk-noun}}
* စက်ထုဲင်
# ကာꩻ၊စက် ကသော့ꩻနေးဒါႏစက်ခြွိုင်း ကထုဲင်အီဒါႏ လုဲင်းခြံတာႏ ကာꩻတမျိုꩻ။
====နပ်တွက်ဗျာႏ====
* ဆွိုင်ꩻ
====ဘာႏသာႏလင်====
* မန်း : [[ထွန်စက်]]
* အိန်းကလေတ် : [[tractor]].
9b3lwcm7y0uynyiyhnvp7vkwsokrr7d
ကာꩻသိုမ်း
0
634
11896
1947
2025-06-23T11:51:19Z
咽頭べさ
11
11896
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===နာမ်ႏ===
{{blk-noun}}
* [[ကာꩻဂိုဒေါင်]]
# အွဉ်ႏသော့ꩻအီကာꩻခင်ႏလမ်း။
===ဘာႏသာႏပြန်ႏ===
*မန်း : ကားဂိုဒေါင်
*အိန်းကလေက် : Parking Garage
e53zvxtdx7vqn2lzf7rwfh2idct0t3n
ကိဉ်ႏ
0
637
11897
1955
2025-06-23T11:51:38Z
咽頭べさ
11
11897
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===နာမ်ႏ===
{{blk-noun}}
* [[ကိန်ႏ]]
# ကိဉ်ႏ[[ကဝ်ႏ]]။ ကိဉ်ႏဟန်ႏသိဉ်ဟန်ႏလာႏစော့ꩻ။
# ကိဉ်ႏလိုꩻ။ (ကိဉ်ႏဆာလိုꩻတရာ။)
====ဘာႏသာႏပြန်ႏ====
*မန်း : [[ခူး]]၊ ခူးဆွတ်၊ [[ဆွဲလိမ်]]၊ ဆွဲဆိတ်။
1pxkv8es3bsxmj6l1xtenwhdl1zv87d
ကို
0
643
11840
1980
2025-06-23T10:41:17Z
咽頭べさ
11
11840
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ဝိဘတ်===
{{blk-prep}}
* [[အကို]]၊ [[ကောင်းကို]]။
# အဝ်ႏလမ်း"ကို"။ အဝ်ႏကာꩻ"ကို"။
====ဘာႏသာႏပြန်ႏ====
*မန်း : [[ထဲ]]
* အိန်းကလေတ် : postpositional marker suffixed to a noun to indicate location (equivalent in usage to prepostions '[[inside]]','[[in]]', [[interior]].
qnmaggj0kkecy0iik6ymy9msutjebne
ကီးရန်ꩻ
0
646
11898
1993
2025-06-23T11:52:32Z
咽頭べさ
11
11898
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
[[ဖုဲင်:tick.jpg|thumb]]
===နာမ်ႏ===
{{blk-noun}}
#တိရစ္ဆာန်ႏ ကစုပ်ꩻဒါႏ ထာꩻသောင်ꩻထာꩻသားသွီႏ။
#ဖိုးပနားအလောင်း ကုဲင်းထီႏမော့ꩻဗာႏဒါႏ နမ်းတလွုံꩻအခင်ႏအာ တိရစ္ဆာန်ႏတမျိုꩻ။
==ဘာႏသာႏလင်==
*အိန်းကလေတ်: [[tick]].
*မန်း: [[မွှား]]။ [[ကပ်မွှား]]။
in22jrf909bpn2pl9zkv157yn1j77iy
ကုင်ႏသယ်ႏ
0
647
11899
1997
2025-06-23T11:52:52Z
咽頭べさ
11
11899
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏ===
{{blk-noun}}
* ကုံႏသဲႏ
* ကုင်ႏသယ်ႏ၊ [[ကွန်ႏသယ်ႏ]]
* [[ကားထာꩻသား]]
# လွူးနမ်းမွေးသက် တောမ်ႏအဖြေꩻအစာ ကူꩻကားကွန်ႏတခြိုꩻသား။
===ဘာႏသာႏပြန်ႏ===
*မန်း : [[ကုန်သည်]]
*အိန်းကလေတ် : [[trader]]. [[merchant]]
azjc6o8bswja69r3gkav2rdxfqd4wif
ကောင်
0
662
11900
9976
2025-06-23T11:53:34Z
咽頭べさ
11
11900
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
[[ဖုဲင်:mountain.png|thumbnail|<div style="text-align: center;">ကောင်ပွုံႏ</div>]]
*ကောင်။ ကောင်ဆောင်ႏ။
*
===နာမ်ႏ===
{{blk-noun}}
*ကောင်။ ဆောင်ႏ။ ကောင်ဆောင်ႏ။
*
====နပ်တွက်ဗျာႏ====
*ဖြုံႏ။
*
==ဘာႏသာႏလင်==
*အိန်းကလေတ်: [[mountain]].
*မန်း: [[တောင်]]။
*ခယ်ႏ: [[山]]。
:::Shān
ooma306c3yfgj9xbt5xowh1zby16qs5
ကောင်ထာႏဝ
0
664
11901
2057
2025-06-23T11:54:03Z
咽頭べさ
11
11901
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏ===
{{blk-noun}}
* ကောင်ထာႏဝ
# ကောင်နာ တောမ်ႏ ကောင်ခင်ႏထျꩻအခါႏ ကအဝ်ႏဒါႏ ကောင်ဖုဲင်းကောင်ဖဲင် ကောင်လဲင်အရပ်။
====နပ်တွက်====
* ဗာႏ၊ ဖြုံႏ
====အခရာႏပီ လိတ်ဖြုံႏကွာႏ====
* [[ကောင်ထဝ]]၊ [[ကောင်ဒေင်]]
====ဘာႏသာႏလင်====
* မန်း : [[တောင်ခါးပန်း]]၊ တောင်ခလယ်။
* အိန်းကလေတ် : [[bank]] of a [[mountain]]; side of a mountain.
d4o0yjzl5qn25gtcvok4yvjuut1xeux
ကောင်ဒေင်
0
665
11902
2060
2025-06-23T11:54:25Z
咽頭べさ
11
11902
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏ===
{{blk-noun}}
* ကောင်ထဝ
# ကောင်နာ တောမ်ႏ ကောင်ခင်ႏထျꩻအခါႏ ကအဝ်ႏဒါႏ ကောင်ဖုဲင်းကောင်ဖဲင် ကောင်လဲင်အရပ်။
====နပ်တွက်====
* ဗာႏ၊ ဖြုံႏ
====အခရာႏပီ လိတ်ဖြုံႏကွာႏ====
* [[ကောင်ထာႏဝ]]၊ [[ကောင်ထဝ]]
====ဘာႏသာႏလင်====
* မန်း : [[တောင်ခါးပန်း]]၊ တောင်ခလယ်။
* အိန်းကလေတ် : [[bank]] of a [[mountain]]; side of a mountain.
09p5gg950eacv2nwsqi8qgil1xbxnm6
ကောင်းကို
0
666
11903
2062
2025-06-23T11:54:52Z
咽頭べさ
11
11903
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏ===
{{blk-noun}}
* [[အကို]]
# အထန်ႏ၊ ကောင်းထန်ႏဖဲ့ꩻ တမွေးတဝ်းဒါႏ ခင်ႏလမ်းအကိုဖဲ့ꩻ။
====ဘာႏသာႏပြန်ႏ====
*မန်း : [[ထဲ]]၊ [[အထဲ]]၊ [[အတွင်း]]
* အိန်းကလေတ် : the [[inside]]; [[interior]].
t99qp371bcplio2ghfhvzqjkj4rbxv9
ကောင်ႏ
0
668
11904
2071
2025-06-23T11:55:11Z
咽頭べさ
11
11904
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===နာမ်ႏ===
{{blk-noun}}
* ကောင်ႏ
* [[ပလဲင်ꩻ]]
# သော့ꩻအီခရာႏ ဖန်မန်ႏဗူး။
===ဘာႏသာႏပြန်ႏ===
*မန်း : [[ပုလင်း]]
* အိန်းကလေတ် : [[glass]] [[bottle]]; glass [[jar]]; [[phial]].
aplogymvfymgb188piqozapdz99gfcl
ကောပီလိခ်အုပ်
0
672
11905
2086
2025-06-23T11:56:16Z
咽頭べさ
11
11905
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏ===
{{blk-noun}}
* လိတ်အုပ်ကော်ပီ
# ထူႏဗွိုန်မာꩻဗွိုန်ခါꩻဒါႏလိတ်အုပ်။
====နပ်တွက်ဗျာႏ====
* ဖွူꩻ
===ဘာႏသာႏပြန်ႏ===
*မန်း : ကော်ပီစာအုပ်
m0jpa7b1c2nrb8l8jqcmumakwkd88ox
ကောႏစီႏ
0
674
11906
2090
2025-06-23T11:57:20Z
咽頭べさ
11
11906
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏ===
{{blk-noun}}
* ကောႏစီႏ
* ကောႏရာဗာစီႏ
# အဝ်ႏရာဗာမွူး ကထူႏလꩻလွဉ်ဒါႏ အစီႏ။
====ဘာႏသာႏလင်====
* မန်း : [[ကြက်ပေါင်စေး]]၊ ရာဘာစေး
* အိန်းကလေတ် : [[rubber]].
ogpnf1fj656k0l6rrfkh3fdb5v9fnpj
ကောႏဇောꩻ
0
675
11907
2095
2025-06-23T11:57:48Z
咽頭べさ
11
11907
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===နာမ်ႏ===
{{blk-noun}}
# [[ထာꩻဒါ]]၊ [[ထာꩻဒျာ]]
====နပ်တွက်ဗျာႏ====
* ဖွူꩻ၊ ဗီႏ
===ဘာႏသာႏပြန်ႏ===
*မန်း : [[ကော်ဇော]]
*အိန်းကလေတ် : [[carpet]].
smura5500eg5pjmvw8969xpydtkw9bn
ကေႏညာႏသတင်ꩻသား
0
677
11908
2103
2025-06-23T11:58:13Z
咽頭べさ
11
11908
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===နာမ်ႏ===
{{blk-noun}}
===ဘာႏသာႏပြန်ႏ===
*မန်း : သတင်းကြေညာသူ
5t5ihezt29byemyu1hcnhnvkgej9m5f
ကံလောင်
0
686
11909
2134
2025-06-23T11:58:36Z
咽頭べさ
11
11909
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
====နာမ်ႏ====
{{blk-noun}}
* ကံလောင်
# တဲမ်းအီလိတ်၊ တဲမ်းအီငဝ်းသချင်ꩻ၊ သွဉ်အီလိတ်
====အခရာႏပီ လိတ်ဖြုံႏကွာႏ====
* [[ကံ]]
====ချာႏဘာႏသာႏ====
* အေင်ႏကလေတ် : [[pencil]]
* မန်း : [[ခဲတံ]]
jrpead7ljzc2hu9mwdyku2iqftor490
ကံႏညမ်း
0
690
11722
2148
2025-06-23T05:20:06Z
咽頭べさ
11
11722
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{head|blk|ကြိယာႏ}}
* [[ကံႏပေႏ]]၊ ကံႏဟဝ်တဝ်း။
====ဘာႏသာႏပြန်ႏ====
*မန်း : [[ကံခေ]]၊ ကံညံ့
scasmcdreqkayoav0cj5fifrk6pcqbx
ကျောႏကမ္ဘာႏ
0
717
11830
2257
2025-06-23T08:36:16Z
咽頭べさ
11
11830
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===နာမဝိသေသန===
{{blk-adj}}
# မိဉ်ꩻတန်ထင်ႏသျာꩻ ကျောႏစွစ်ꩻစဲစ်ꩻတွိုႏလွေꩻ တ[[ကမ္ဘာႏ]]လွုမ်း၊ ကမ္ဘာႏတဖြုံႏလုမ်း။
#: ကျောႏခမ်းကျောႏထီ။
===ဘာႏသာႏပြန်ႏ===
*မန်း : [[ကမ္ဘာကျော်]]
*အဲင်းကလေတ် : [[world]] [[famous]].
nvzy1sl2cqvqd97oyz6b6t6gff2419j
ကျွိုက်ရက်
0
728
11723
2302
2025-06-23T05:20:58Z
咽頭べさ
11
11723
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{head|blk|ကြိယာႏ}}
# အခိုတောမ်ႏတမူႏ မေတ္တာႏသꩻအဝ်ႏလို့ဝင်ꩻ တဖြာꩻတောမ်ႏတဖြာꩻအလောင်း။
====ဘာႏသာႏလင်====
* မန်း : [[ချစ်ကြိုက်]]
* အိန်းကလေတ် : [[fall in love]].
pvamcd1vmx8xpg1t0xbmy946b25jlen
ကျွꩻ
0
730
11724
2309
2025-06-23T05:21:27Z
咽頭べさ
11
11724
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{head|blk|ကြိယာႏ}}
* [[ကျွꩻကာ]]
# (ပုဂ္ဂိုလ်ႏမျတ်သီး) လွဉ်၊ လွေꩻ၊ ကျွꩻ။
#: ဗွေႏသင်ႏဃာႏသီး ကျွꩻသဲင်ꩻချာလဲဉ်းကျောင်ꩻသွူ။
====ဘာႏသာႏလင်====
*မန်း : [[ကြွ]]ချီသည်
* အိန်းကလေတ် : (holy or respectable persons) come or go; invite or bid farewell politely.
okl7my83h1aeknaqolr2qcsk4lheole
ကျွꩻလွေꩻ
0
732
11725
2318
2025-06-23T05:21:54Z
咽頭べさ
11
11725
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{head|blk|ကြိယာႏ}}
* [[ကျွꩻကာ]]
# (ပုဂ္ဂိုလ်ႏမျတ်သီး) လွဉ်၊ လွေꩻ၊ ကျွꩻ။
#: ဗွေႏဗိုန် ကျွꩻလွေꩻလဲဉ်း ဖရာꩻကောင်သွူ။
====ဘာႏသာႏလင်====
*မန်း : [[ကြွချီ]]သည်၊ [[ကြွမြန်း]]သည်။
* အိန်းကလေတ် : (holy or respectable persons) come or go; invite or bid farewell politely.
gdvo3nxkybwk78qq8bniiylidlqyi4q
ကြောင်းစင်
0
752
11729
2376
2025-06-23T05:37:11Z
咽頭べさ
11
11729
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* ကြောင်းစင်
# လွစ်ကင်ꩻထိုꩻ အဝွေႏအဝက်၊ ကြောင်းထိုꩻ၊ စင်ထိုꩻ။
====ဘာႏသာႏလင်====
* မန်း : [[စင်ကြယ်]]၊ [[သန့်ရှင်း]]၊ [[သန့်စင်]]
* အိန်းကလေတ် : be [[clean]]; be [[pure]].
rvgl0145ssj5j7wyio53kxmdxf1jm2h
ကွတ်ꩻ
0
773
11795
2442
2025-06-23T07:13:18Z
咽頭べさ
11
11795
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
*{{IPA|blk|/kut/}}
===ဂဏန်ꩻ===
{{head|blk|ဂဏန်ꩻ}}
* [[ကုတ်ꩻ]]
* [[၉]]
# [[သွစ်ꩻ]]တောမ်ႏ [[တဆီ]]အခါႏ အနပ်အတွက်ဆေ့ꩻအာ၊ ဂဏန်ꩻအမုဲင်(၉)။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[ကိုး]](၉)။
* အဲင်းကလေတ် : [[nine]].
* ဂျပန် : [[きゅう]]、[[く]]。
j9l7lh46iora5crf81v8e81setem9z5
ကꩻ
0
801
11730
2535
2025-06-23T05:37:43Z
咽頭べさ
11
11730
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* ကꩻဆဲင်ꩻ
* ကꩻခေါမ်ꩻလာꩻ
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[ဝတ်ဆင်]]သည်။(အင်္ကျီအတွက်သာ)
gt7yqr38u3qz1fz94f690fcrma0z3ze
ခင်ႏယမ်းထောင်ႏတပင်
0
817
11731
2587
2025-06-23T05:38:15Z
咽頭べさ
11
11731
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ကြိယာႏ===
{{head|blk|ကြိယာႏ}}
* ခင်ႏယမ်းထောင်ႏတပင်
# ခွုမ်မာꩻ ပဲစ်တမ်ႏကထွာနွောင်ꩻဒါႏ ထာꩻမာꩻတစွိုးစွိုး။
====ဘာႏသာႏလင်====
*မန်း : [[ထောင်နှုတ်ခမ်းနင်း]]
* အိန်းကလေတ် : do sth which might result in being sent to [[jail]].
e3f2hzzi1g097lmbbij6s6l369xy59d
ခမ်းလော့
0
826
11732
2629
2025-06-23T05:38:52Z
咽頭べさ
11
11732
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{head|blk|ကြိယာႏ}}
* အဝ်ႏမို့ꩻအာႏကာႏလောင်းအွိုးကီ ခမ်းအိုခမ်းထီ ထဲ့ဟူႏလင်ꩻလွဉ်။
====ဘာႏသာႏလင်====
* မန်း : [[မိုးရွာ]]သည်။
* အိန်းကလေတ် : [[rain]]
sxna32r4o035rjsbbaeh2jyp8ddbyu7
ချိုးကပ်
0
928
11733
2804
2025-06-23T05:40:02Z
咽頭べさ
11
11733
wikitext
text/x-wiki
==မန်း==
===အငဝ်းထန်ႏ===
* {{MLCTS|/gjou׃ ka'/}}
===အထျꩻထောင်ꩻ===
*
===ကြိယာႏ===
{{my-verb}}
* compound verb
* [[ခြꩻ]]
* [[ကင်ခြꩻ]]
# ဖွိုင်ꩻ၊ ဗွိုင်း အကင်ခြꩻ၊ တအီ။
====ဘာႏသာႏလင်====
* အိန်းကလေတ် : (of food) be overcooked so that the crust formed sticks to the pot.
----
==မန်း==
===အငဝ်းထန်ႏ===
* {{MLCTS|/gjou׃ ka'/}}
===အထျꩻထောင်ꩻ===
*
===ကြိယာႏ===
{{my-verb}}
* compound verb
* [[ခြောက်လောမ်]]
# နေင်းဖွိုင်ꩻ ထီလိုမ်ꩻထီလျားဖွိုင်ꩻ ခြောက်လောမ်၊ ခြောက်လွမ်။
====ဘာႏသာႏလင်====
* အိန်းကလေတ် : (of utensils) be encrusted with fur or dregs,etc.
qfhwsfdxbqenwsdoknzc4koye1qa56b
11734
11733
2025-06-23T05:41:37Z
咽頭べさ
11
11734
wikitext
text/x-wiki
==မန်း==
===အငဝ်းထန်ႏ===
{{my-IPA}}
===အထျꩻထောင်ꩻ===
*
===ကြိယာႏ===
{{my-verb}}
* compound verb
* [[ခြꩻ]]
* [[ကင်ခြꩻ]]
# ဖွိုင်ꩻ၊ ဗွိုင်း အကင်ခြꩻ၊ တအီ။
====ဘာႏသာႏလင်====
* အိန်းကလေတ် : (of food) be overcooked so that the crust formed sticks to the pot.
----
==မန်း==
===အငဝ်းထန်ႏ===
{{my-IPA}}
===အထျꩻထောင်ꩻ===
*
===ကြိယာႏ===
{{my-verb}}
* compound verb
* [[ခြောက်လောမ်]]
# နေင်းဖွိုင်ꩻ ထီလိုမ်ꩻထီလျားဖွိုင်ꩻ ခြောက်လောမ်၊ ခြောက်လွမ်။
====ဘာႏသာႏလင်====
* အိန်းကလေတ် : (of utensils) be encrusted with fur or dregs,etc.
a1x291qod838n45tf7zcbbudmvs4t5v
ခြဝ်ႏ
0
943
11735
2825
2025-06-23T05:43:11Z
咽頭べさ
11
11735
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏ===
{{blk-noun}}
* ခြဝ်ႏ
# ကထဲင်အီနေးဒါႏတောမ်ႏ ဝါႏစတဲင် အဒါ။
# လမ်းကို ကျောင်ꩻကို ကအုံဒါအီဒါႏ [[ခြဝ်ႏချော]] [[ခြဝ်ႏကျံꩻ]] [[ခြဝ်ႏကောႏ]] [[ခြဝ်ႏဝါႏ]] [[ခြဝ်ႏဝါႏလီႏ]]ထွာဒျာႏထာꩻဒါတမျိုꩻ။
====နပ်တွက်====
* ဖွူꩻ
===ဘာႏသာႏပြန်ႏ===
*မန်း : [[ဖျာ]]
* အဲင်းကလေတ် : [[mat]].
==ပအိုဝ်ႏ==
===ကြိယာႏ===
{{blk-verb}}
* ခြဝ်ႏ
# ခြွောတ်ꩻတောမ်ႏ စူမီႏ၊ ခင်ႏမီႏ စတဲင်။
====နပ်တွက်====
* လဲင်ႏ
====ဘာႏသာႏလင်====
* မန်း : [[ကုတ်ခြစ်]]
* အိန်းကလေတ် : [[scratch]]; [[claw]].
ceu8nbihxx3olpujqmzbtiuo5lofx39
ခြေင်း
0
948
11736
2830
2025-06-23T05:47:10Z
咽頭べさ
11
11736
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===နာမ်ႏ===
{{blk-noun}}
* အဲင်ႏ
===ဘာႏသာႏပြန်ႏ===
*မန်း : စဉ့်အိုး
==ပအိုဝ်ႏ==
===ကြိယာႏ===
{{blk-verb}}
* [[ဖင်း]]လွဉ်ꩻ၊ [[လွင်း]]လွဉ်ꩻ
* [[ယုဲင်]]၊ [[ခြူ]]။
===ဘာႏသာႏပြန်ႏ===
*မန်း : ပြေး၍လိုက်သည်
==ပအိုဝ်ႏ==
===ကြိယာႏ===
{{blk-verb}}
* မာꩻခြေင်းခြေင်း
# တဖြွီꩻနဝ်ꩻ စွိုင်ခြေင်းခြေင်း။
===ဘာႏသာႏပြန်ႏ===
*မန်း : [[တင်း]]သည်၊ တင်းကြပ်သည်။
exj9i1aboh30xhdyyimktwrpn83ul7c
ခြောက်လောမ်
0
958
11737
2839
2025-06-23T05:47:39Z
咽頭べさ
11
11737
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* ခြောက်လောမ်
# [[နေင်းဖွိုင်ꩻ]] ထီလိုမ်ꩻထီလျားဖွိုင်ꩻ [[ခြောက်]]ဗွို့ꩻ ခြောက်အဝ်ႏပယ်၊ ခြောက်လောမ်။
====အငဝ်းပီ လိတ်ဖြုံႏကွာႏ====
* [[ခြောက်လွမ်]]
====ဘာႏသာႏလင်====
* မန်း : [[ချိုးကပ်]]
* အိန်းကလေတ် : (of utensils) be encrusted with [[fur]] or dregs,etc.
b079gqy9wbxzjkb307fa9jli5s3szcn
ခြောက်လွမ်
0
961
11738
2841
2025-06-23T05:48:15Z
咽頭べさ
11
11738
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* ခြောက်လွမ်
# [[နေင်းဖွိုင်ꩻ]] ထီလိုမ်ꩻထီလျားဖွိုင်ꩻ [[ခြောက်]]ဗွို့ꩻ ခြောက်အဝ်ႏပယ်၊ ခြောက်လွမ်။
====အငဝ်းပီ လိတ်ဖြုံႏကွာႏ====
* [[ခြောက်လောမ်]]
====ဘာႏသာႏလင်====
* မန်း : [[ချိုးကပ်]]
* အိန်းကလေတ် : (of utensils) be encrusted with [[fur]] or dregs,etc.
p0prguos25uz9hd2ezfbrcqr0890mnw
ခြꩻ
0
987
11739
2873
2025-06-23T05:48:48Z
咽頭べさ
11
11739
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* ခြꩻ
# [[ဒွိုႏ]]ထာꩻခိန်ႏ အွောန်ႏညထိုꩻမေႏလောင်းတဲင် အခြꩻထိုꩻ တအီထိုꩻ [[ဖွိုင်ꩻ]]ကို။ အကင်ခြꩻ။
#: အိုဗွိုင်း၊ ဒဲဉ်ဖွိုင်ꩻ ကင်ခြꩻ။
====အငဝ်းထန်ႏပီ လိတ်ဖြုံႏကွာႏ====
* [[ကင်ခြꩻ]]
===ဘာႏသာႏပြန်ႏ===
*မန်း : [[ချိုးကပ်]]
* အိန်းကလေတ် : (of food) be overcooked so that the crust formed sticks to the pot.
37881oxhu05238ky3bvwtvnh2p79q59
ခွန်
0
995
11831
2899
2025-06-23T08:39:05Z
咽頭べさ
11
11831
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===နာမ်ႏ===
{{blk-noun}}
# [[ခွန်ဟော်ခံꩻ]]။ ခမ်းထီတဖြုံႏကို တောမ်ႏဟော်တောမ်ႏနန်ꩻ တောမ်ႏအသွဉ်ႏသယ်ႏ ကအဝ်ႏဒါႏ ခမ်းတခမ်း အတန်အကယ်ႏ အထိုသွတ်ꩻ၊ ကေားအိုပ်ချုတ်ခမ်းသား။
===ဘာႏသာႏပြန်ႏ===
*မန်း : [[ဘုရင်]]။
* အဲင်းကလေတ် : [[monarch]]; [[king]].
===နာမ်ႏတင်===
{{head|blk|နာမ်ႏတင်}}
# ခွန်...။ ပအိုဝ်ႏလိုꩻမျိုꩻသီး ထူႏဂုင်ႏချာ နီယိုခွန်ခွိုꩻ နုဲင်းနဝ်ꩻတဲင် လိုꩻခိုအမိဉ်ꩻဆꩻငါဖဲ့ꩻ ကထူႏသုင်ꩻအီဒါႏ နာမ်ႏတင် ခွိုꩻနွယ်ႏမိဉ်ꩻ။
#: - ခွန်မာႏဃ။
870qwb6p59oqlx64qnezzsepm9stjyj
ခွေသွဉ်းမူႏ
0
1031
11832
2939
2025-06-23T08:39:49Z
咽頭べさ
11
11832
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏတင်===
{{blk-pron}}
* [[ခွေသွောန်းမူႏ]]
# လိုꩻမူႏသီး ကဒေါ့ꩻသုင်ꩻ ယီးနယ်အီဒါႏ ဝွေꩻသီးနမ်းချာတာႏ နမ်းခြောင်ꩻငဝ်းတမျိုꩻ။ (ငဝ်းယေန်ႏငဲးနုညံꩻ)။
===ဘာႏသာႏပြန်ႏ===
*မန်း : [[ကျွန်မ]]၊ [[တပည့်တော်မ]]
* အိန်းကလေတ် : [[I]](female).
59uq0u5kvrsqnwxd61f08dptvmemjiy
ဆို့ꩻဝါႏ
0
1251
11740
3361
2025-06-23T05:49:19Z
咽頭べさ
11
11740
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
*
===အရွီးခိုႏ===
*
===ကြိယာႏ===
{{blk-verb}}
* compound verb
* (ရဟန်ꩻသင်ႏဃာႏ)[[ဆို့ꩻဝါႏ]]
# ရဟန်ႏသင်ႏဃာႏသီး ဝါႏတွင်ꩻသိုမ်လာကျာꩻ သိုမ်လာလွုမ်း ကျွꩻဗေင်ႏကိင်ꩻတဝ်းကျောင်ꩻလင်အကျောင်ꩻ ရွစ်သွူအဓိဋ္ဌာန်ႏတွော့ꩻ အုံချာနမ်းကျောင်ꩻကို၊ ဆိုႏဝါႏကျောင်ꩻကို။
====အခရာႏပီ လိတ်ဖြုံႏကွာႏ====
* [[ဆိုႏဝါႏ]]
===ဘာႏသာႏလင်===
* အိန်းကလေတ် : (of Buddhist monks)go into monsoon retreat, sojourn during the Buddhist lent (at a designated monastery).
hedj48a2kfduzcp1maamsjo0whgemc1
ဆိုႏဝါႏ
0
1254
11742
3363
2025-06-23T05:58:46Z
咽頭べさ
11
11742
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
*
===အရွီးခိုႏ===
*
===ကြိယာႏ===
{{blk-verb}}
* [[ဆိုႏဝါႏ]]
# ရဟန်ႏသင်ႏဃာႏသီး ဝါႏတွင်ꩻသိုမ်လာကျာꩻ သိုမ်လာလွုမ်း ကျွꩻဗေင်ႏကိင်ꩻတဝ်းကျောင်ꩻလင်အကျောင်ꩻ ရွစ်သွူအဓိဋ္ဌာန်ႏတွော့ꩻ အုံချာနမ်းကျောင်ꩻကို၊ ဆိုႏဝါႏကျောင်ꩻကို။
====အခရာႏပီ လိတ်ဖြုံႏကွာႏ====
* [[ဆို့ꩻဝါႏ]]
===ဘာႏသာႏလင်===
* အိန်းကလေတ် : (of Buddhist monks)go into monsoon retreat, sojourn during the Buddhist lent (at a designated monastery).
jiskgkjlq8u8c98pb98rxwe9dt7u9jj
ဆူႏ
0
1259
11818
3391
2025-06-23T08:28:30Z
咽頭べさ
11
11818
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===နာမ်ႏ===
{{head|blk|နာမ်ႏ}}
*အဆူႏ၊ ထာꩻဆူႏ။
===သင်္ချာနာမဝိသေသန===
{{blk-adj}}
#တဆူႏ၊ နီဆူႏ စတဲင်။
==ဘာႏသာႏလင်==
*မန်း: ဆူး။ ဆူ (အရေအတွက်ပြ)။
7a95t5sw3f0xreaadjua5jowxgkpmt9
ဆေ့ꩻဆေ့ꩻပေႏ
0
1261
11819
8208
2025-06-23T08:29:15Z
咽頭べさ
11
11819
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
* တစိꩻ။
*တစျꩻ။
*ဆေ့ꩻဆေ့ꩻပေႏ။
===အငဝ်းထန်ႏ===
*
===နာမဝိသေသန===
{{blk-adj}}
* တစိꩻ။ တစျꩻ။ ဆေ့ꩻဆေ့ꩻ။
====နပ်တွက်ဗျာႏ====
* စိꩻ။
===ဘာႏသာႏလင်===
* အိန်းကလေတ်: [[a bit]]. (Idom)<br>Littler.<br>a little.
* မန်း: [[အနည်းငယ်]]။ [[နည်းနည်း]]။
* ခယ်ႏ: [[一点]]<br><small>PY: yīdiǎn</small>
mkatu6h5vyu74j8t68ok5pplti7gg1x
တနျာႏ
0
1380
11820
3590
2025-06-23T08:30:05Z
咽頭べさ
11
11820
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏ===
{{blk-noun}}
* အရောင်ႏတနျာႏ
# အရောင်ႏနုဲင်းဒါႏ သွီႏ၊ ဆျာမောက်ꩻ အရောင်ႏမျိုꩻ။
===ဘာႏသာႏလင်===
* မန်း : [[အနီ]]
* အိန်းကလေတ် : [[red]].
====နာမဝိသေသန====
{{blk-adj}}
* ကတနျာႏဒါႏ
====နပ်တွက်====
* ဗာႏ
====ဘာႏသာႏလင်====
* မန်း : [[နီ]]သော
* အိန်းကလေတ် : [[red]]
tcfs33w17ebi64j0flo1r96ano5vzsd
တသီး
0
1430
11821
3665
2025-06-23T08:30:40Z
咽頭べさ
11
11821
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမဝိသေသန===
{{blk-adj}}
* တသီး
# အရောင်ႏကအဝ်ႏဒါႏ နုဲင်း ခံꩻ၊ မေ့ဖုံႏ။
====နပ်တွက်ဗျာႏ====
* ရောင်ႏ
====ဘာႏသာႏလင်====
* မန်း : [[ဝါ]]သော
* အိန်းကလေတ် : [[yellow]].
6nusuvhyrdqgcpiz48enu8xf8snr3s3
တုဲင်
0
1468
11741
3750
2025-06-23T05:49:50Z
咽頭べさ
11
11741
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ကြိယာႏ===
{{head|blk|ကြိယာႏ}}
# ကဲဉ်းအာ ထာꩻမွူးထာꩻပေႏဖုံႏ အစွိုးအခြွီကလꩻနွောင်ꩻဒါႏခင်ႏလမ်းနဝ်ꩻ အကဝ်ႏ တုဲင်လွဉ်။
#: ထာꩻခွꩻခိင်ႏနဝ်ꩻ အေင်ခေꩻကဝ်ႏ '''တုဲင်'''လွဉ်လဲဉ်းသွူ။
===ဘာႏသာႏပြန်ႏ===
*မန်း : ပန်း[[ပွင့်]]သည်။
*အဲင်းကလေတ် : (of flowers) [[bloom]]; [[blossom]].
6cyn4zlexsqgjwzsin5fhnybbxb59mq
တျာႏဆေႏ
0
1484
11743
3800
2025-06-23T05:59:20Z
咽頭べさ
11
11743
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===နာမ်ႏ===
{{blk-noun}}
* [[ငဝ်းစိန်ႏစာႏ]]၊ [[ငဝ်းထောမ်]]။(မိဉ်ႏဒေါ့ꩻငီႏငါထာꩻ၊ ဒေါ့ꩻထာꩻမိဉ်ႏတမဲဉ်ႏတဝ်းနဝ်ꩻ တျာႏဖေႏကဆေႏ ကရိုꩻဒါႏ ရေႏမိုးထေ့နယ်ဒါႏ ငဝ်းဒျာႏသွူ။)
# ( နာꩻဒေါ့ꩻနာꩻကရိုꩻ မိဉ်ႏတမွေးတဝ်းနဝ်ꩻ ခံႏတျာႏဆေႏဗွုန်ႏနေဟောင်း)။
===ဘာႏသာႏပြန်ႏ===
* မန်း : ကျိန်ဆိုသောစကား။
* အိန်းကလေတ် : swear-word meaning may lightning strike me.
==ပအိုဝ်ႏ==
===ကြိယာႏ===
{{blk-verb}}
* တျာႏဆေႏ
# တျာႏတနံဓာတ် ထဲ့လင်ꩻဗာႏထိုꩻ၊ မဲဉ်ႏထိုꩻ။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[မိုးကြိုးပစ်]]သည်။
* အိန်းကလေတ် : (of lightning)[[strike]].
6pqj4x7xo640tsg0o2eth68ojequafr
တွိုႏလား
0
1488
11744
3806
2025-06-23T05:59:44Z
咽頭べさ
11
11744
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* တွိုႏလား
* [[လဲဉ်းဆုဲင်ꩻ]]၊ [[ထဲ့ဆုဲင်ꩻ]]၊ နောက်ကျ။
# ထာꩻထွာ အခိင်ႏလွဉ်ꩻထိုꩻ၊ လို့ထိုꩻလဲဉ်းမꩻ ကွဲးထွာ။
====ဘာႏသာႏလင်====
* မန်း : [[နောက်ကျ]]၊ [[နှောင်း]]သည်။
* အိန်းကလေတ် : be [[late]].
59cn53vgiwkuw2y4cv5pxhmear1uxa4
ထီꩻ
0
1630
11745
4094
2025-06-23T06:00:13Z
咽頭べさ
11
11745
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အရွီးခိုႏ===
===အငဝ်းထန်ႏ===
===နာမ်ႏ===
{{blk-noun}}
* ထီꩻ
# ရဲးကာႏကွယ်ႏအီ [[မွူးရောင်ႏ]] [[ယာခိုး]]၊ [[ခမ်း]]တမ်ႏတာႏ သော့ꩻနေးအထိုးတဲင် ကင်းခရာႏတမျိုꩻ။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[ထီး]]
* အဲင်းကလေတ် : [[umbrella]].
* ဂျပန် : [[かさ]]
==ပအိုဝ်ႏ==
===အရွီးခိုႏ===
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* ထီꩻ
# ထီꩻကရိုꩻနဝ်ꩻ တောမ်ႏစူ ထွားနျꩻမာꩻသီ သွူႏ၊ သာႏဖုံႏ။ ထီꩻလိုꩻသွူႏ။ ထီꩻညဝ်ႏထွီႏတရိစ္ဆာန်ႏ သာႏဖုံႏ။
====ဘာႏသာႏပြန်ႏ====
* မန်း :
* အဲင်းကလေတ် :
m91ba0dkl4ucuhfat0pf8zhuolfx0xg
ထုဲင်
0
1636
11746
4100
2025-06-23T06:00:36Z
咽頭べさ
11
11746
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* ထုဲင်
# တောမ်ႏထုဲင်ထိုးထုဲင်ခြွိုင်း တစွိုးစွိုးတွော့ꩻ မာꩻပဲတ်ꩻမာꩻလီမာꩻလန်ဟံႏ ထုဲင်ဟံႏ။
====ဘာႏသာႏလင်====
* မန်း : [[ထွန်]]ယက်သည်။ [[ထယ်ထိုး]]သည်။
* အိန်းကလေတ် : [[harrow]], [[till]].
==ပအိုဝ်ႏ==
===နာမ်ႏ===
{{blk-noun}}
* ထုဲင်
# မာꩻလီမာꩻပဲတ်ꩻအီ လုဲင်းခြံကို ဟံႏယာႏဖုံႏတာႏ ကသော့ꩻခါꩻနေးဒါႏအသို ကပါဒါႏ ထာꩻခြွိုင်းတမျိုꩻ။
====ဘာႏသာႏလင်====
* မန်း : [[ထွန်]]၊ [[ထယ်]]
* အိန်းကလေတ် : harrow.
ekstfotc3m4j4dc30gagpong0la6dqw
ထေင်
0
1649
11747
4123
2025-06-23T06:01:34Z
咽頭べさ
11
11747
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* ထေင်
# တမွေးတဝ်းအကျောင်ꩻ၊ တလက်ခံႏတဝ်းအကျောင်ꩻ လွိုဆန် ဒေါ့ꩻချာ၊ ရိုꩻချာထာꩻ။
# ခွေမဲဉ်ႏ နာꩻမဲဉ်ႏ စတဲင် တေꩻလူႏလုဲင်ႏ၊ တနွိုင်လူႏလုဲင်ႏဝင်ꩻ။
====ဘာႏသာႏလင်====
* မန်း : [[ငြင်း]]သည်၊ [[ငြင်းဆို]]သည်၊ [[ငြင်းခုံ]]သည်၊ [[ငြင်းဆန်]]သည်။
* အိန်းကလေတ် :
# [[refuse]] to [[obey]].
# refuse to [[accept]]; [[decline]] (an offer).
# [[argue]]; [[dispute]].
==ပအိုဝ်ႏ==
===နာမ်ႏ===
{{blk-noun}}
* ထေင်
* [[နမ်]]လဲ့အဝ်ႏဟဲ့ꩻ။
# အခူꩻနဝ်ꩻ ခြွုတ်အံႏလားမန်ꩻကလꩻဒါႏ ထာꩻမွူးပေႏမျိုꩻ။
====ဘာႏသာႏလင်====
* မန်း : [[နှမ်း]]
* အိန်းကလေတ် : [[sesame]]. ""Sesanum indicum.""
ra5d5kxagvgxr5c941bv5878pfx84ms
ထောင်ႏ
0
1653
11748
4152
2025-06-23T06:03:29Z
咽頭べさ
11
11748
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===အရွီးခိုႏ===
အဝ်ႏ {{bor|shn|my|ထောင်|t=prison, jail}} လွဉ်။
===နာမ်ႏ===
{{head|blk|နာမ်ႏ}}
# အပဲစ်အလွောက် [[ဥပဒေႏ]]အလꩻ ကအွဉ်ႏသော့ꩻအီဒါႏ လိုꩻအပဲစ်ကအဝ်ႏသား ခင်ႏလမ်းအုံ။
[[ကဏ္ဍ:ပအိုဝ်ႏ နာမ်ႏ]]
===ဘာႏသာႏပြန်ႏ===
====မန်း====
* ထောင်၊ အချုပ်။
====အဲင်းကလေတ်====
* [[prison]]; [[jail]].
==ပအိုဝ်ႏ==
===ကြိယာႏ===
{{head|blk|ကြိယာႏ}}
# လွူးနမ်း မာꩻထာꩻမာꩻတစွိုးစွိုး။ ထောင်ႏ[[ခြံ]]၊ ထောင်ႏ[[လမ်း]]၊ ထောင်ႏ[[ကာꩻ]]၊ ထောင်ႏ[[ထာꩻမာꩻ]]။
# ထောင်ႏခမ်းထောင်ႏထီ (တယ်ႏ[[ခမ်းထီ]])။
j2js1vw4hn3avxb02mlflxveqezwi3w
11749
11748
2025-06-23T06:04:14Z
咽頭べさ
11
11749
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===အရွီးခိုႏ===
အဝ်ႏ {{bor|shn|my|ထောင်|t=prison, jail}} လွဉ်။
===နာမ်ႏ===
{{head|blk|နာမ်ႏ}}
# အပဲစ်အလွောက် [[ဥပဒေႏ]]အလꩻ ကအွဉ်ႏသော့ꩻအီဒါႏ လိုꩻအပဲစ်ကအဝ်ႏသား ခင်ႏလမ်းအုံ။
===ဘာႏသာႏပြန်ႏ===
====မန်း====
* ထောင်၊ အချုပ်။
====အဲင်းကလေတ်====
* [[prison]]; [[jail]].
==ပအိုဝ်ႏ==
===ကြိယာႏ===
{{head|blk|ကြိယာႏ}}
# လွူးနမ်း မာꩻထာꩻမာꩻတစွိုးစွိုး။ ထောင်ႏ[[ခြံ]]၊ ထောင်ႏ[[လမ်း]]၊ ထောင်ႏ[[ကာꩻ]]၊ ထောင်ႏ[[ထာꩻမာꩻ]]။
# ထောင်ႏခမ်းထောင်ႏထီ (တယ်ႏ[[ခမ်းထီ]])။
46wzimqu7ooe7ny20fnawdn3w26evnd
ထဲ့ဆုဲင်ꩻ
0
1657
11750
4168
2025-06-23T06:05:15Z
咽頭べさ
11
11750
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* ထဲ့ဆုဲင်ꩻ
* [[လဲဉ်းဆုဲင်ꩻ]]၊ [[တွိုႏလား]]။
# ထာꩻထွာ အခိင်ႏလွဉ်ꩻထိုꩻ၊ လို့ထိုꩻလဲဉ်းမꩻ ကွဲးထွာ။
====ဘာႏသာႏလင်====
* မန်း : [[နောက်ကျ]]၊ [[နှောင်း]]သည်။
* အိန်းကလေတ် : be [[late]].
j40gfy24dloiaj7o51jeibv54u358hh
ထွားချောင်ꩻလွဉ်ꩻ
0
1673
11751
4208
2025-06-23T06:05:45Z
咽頭べさ
11
11751
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ကြိယာႏ===
{{head|blk|ကြိယာႏ}}
ထွေယောင်ꩻလွဉ်ꩻ၊ ထွားချောင်ꩻလွဉ်ꩻ၊ ထွားတေ့ꩻလွဉ်ꩻဝင်ꩻ။
==ဘာႏသာႏပြန်ႏ==
*မန်း: နောက်ယောင်ခံ
*english: tail
*ခယ်ႏ: 跟从〔-從〕
mgp69y8vyxpdytiaqe6aq7fg7idvzbd
နာꩻ
0
1797
11833
4429
2025-06-23T08:40:16Z
咽頭べさ
11
11833
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏတင်===
{{blk-pron}}
# ရေႏမိုးဒေါ့ꩻယီးနယ် ကပေႏကယ်ꩻ မွေးတဝ်းလဲ့ သွꩻဖက်ရွယ်ႏပီ ကေားကနာႏသား နမ်းတင်အနေႏ။
#:ဥပမာႏ- ခွေတောမ်ႏ'''နာꩻ''' ထွိုက်တန်ႏဒျာႏဝင်ꩻဟောင်း။
# နီနမ်းချာ ကရေႏမိုးဒေါ့ꩻယီးနယ်ထေ့လွေꩻ ကနာႏသားတာႏ နမ်းခြောင်ꩻငဝ်းငွါ။
#:ဥပမာႏ- သွꩻ ခွေတောမ်ႏ'''နာꩻ''' မဲ့ႏနီလွေꩻသွိုဝင်ꩻနော်။
====ဘာႏသာႏလင်====
* မန်း : [[နင်]]၊ [[မင်း]]၊ [[သင်]]၊ [[ခင်ဗျား]]
* အိန်းကလေတ် :
#[[you]](used when addressing an equal or a younger person in an intimate way or to others in a impolite manner).
#you, (pronoun of address used between intimate peers).
likhprdczmtdk0oxei9dbzd6iq4vlxt
နိစ်သက်
0
1798
11752
4435
2025-06-23T06:06:15Z
咽頭べさ
11
11752
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===အရွီးခိုႏ===
* My-နှစ်သက်
===ကြိယာႏ===
{{blk-verb}}
* နိစ်သက်
# [[ကျွိုက်]]၊ [[ရက်ပဲင်ꩻ]]၊ [[သဖော်ꩻကျ]]။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[နှစ်သက်]]
* အိန်းကလေတ် : [[love]] ; be fond; be pleased with; [[like]].
jmeomgx4j1r53wp1bviw7vrs61xygrl
နောဝ်ꩻ
0
1832
11842
4498
2025-06-23T10:42:47Z
咽頭べさ
11
11842
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
* {{a|ခမ်းကောင်}} {{IPA|blk|/na̰ː˧˦˧/}}
===ဝိဘတ်===
{{head|blk|ဝိဘတ်|ခမ်းဒေါမ်လိတ်ဖြုံႏ|နာ်ႉ}}
* နောဝ်ꩻ
# ကတ္တားမွေးဒျာႏအကျောင်ꩻ ကအွောန်ႏနယ်ဖေႏဒါႏ လိတ်ဖြုံႏ။
*:ခွန်ခမ်းခြွိုင်ꩻ'''နောဝ်ꩻ''' အုံဒျာႏ တောင်းကီꩻသွူ။
===လိတ်ဖြုံႏအလင်===
* {{l|blk|နဝ်ꩻ}}
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[က]]၊ [[သည်]]
* အဲင်းကလေတ် : [[am]], [[is]], [[are]].
jcktslu0za6sxa9ejen9foqhbtvofdb
ပင်ႏတသွောင်း
0
1886
11753
4634
2025-06-23T06:06:52Z
咽頭べさ
11
11753
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ကြိယာႏ===
{{blk-verb}}
* ဖေႏကတွိုႏကီလꩻတဲင် [[ပင်ႏထို]]၊ [[မာꩻထို]] စွဲးကိုဖေႏ၊ ဖေႏကထိုအီ။
===ဘာႏသာႏလင်===
* မန်း : [[မြှင့်တင်]]
* အိန်းကလေတ် : [[raise]]; [[elevate]].
gyyg71ckrfrmnwoznf2sh3jibfuapxs
ပင်ႏထို
0
1887
11754
4640
2025-06-23T06:07:10Z
咽頭べさ
11
11754
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ကြိယာႏ===
{{blk-verb}}
* ဖေႏကတွိုႏကီလꩻတဲင် [[မာꩻထို]]၊ [[ပင်ႏတသွောင်း]]ဖေႏ၊ ဖေႏကထိုအီ။
===ဘာႏသာႏလင်===
* မန်း : [[မြှင့်တင်]]
* အိန်းကလေတ် : [[raise]]; [[elevate]].
d8jvrik7sd7ekc9rdm0grq6eo0ag7gs
ပါမုဲင်ꩻ
0
1926
11834
4697
2025-06-23T08:40:49Z
咽頭べさ
11
11834
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏတင်===
{{blk-pron}}
* ပါမုဲင်ꩻ
* [[ပိုမုဲင်ꩻ]]
# သုင်ꩻယီးနယ်ဖေႏအီ တသေစဲင်းတဝ်းဒါႏ လိုꩻပုဂ္ဂိုလ်ႏတာႏ နာမ်ႏခြောင်ꩻငဝ်းဖြုံႏ။
#:- ငဝ်းသချင်ꩻယို '''ပါမုဲင်ꩻ'''တဲမ်းခါꩻကရိုꩻနဝ်ꩻ ယဟန်ႏသား တသေတဝ်း။
===ဘာႏသာႏပြန်ႏ===
*မန်း : [[မည်သူ]]၊ ဘယ်သူလဲ၊ [[ဘယ်သူဘယ်ဝါ]]၊
* အိန်းကလေတ် : [[who]]
pwi4y95bv3deo2vasxbmwaiwn9dafjt
ပါꩻအဖြာꩻမုဲင်ꩻ
0
1928
11835
4699
2025-06-23T08:41:12Z
咽頭べさ
11
11835
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏတင်===
{{blk-pron}}
* ပါꩻအဖြာꩻမုဲင်ꩻ
* [[ပါမုဲင်ꩻ]]၊ [[ပိုမုဲင်ꩻ]]
# သုင်ꩻယီးနယ်ဖေႏအီ တသေစဲင်းတဝ်းဒါႏ ပါꩻယိုပါꩻနဝ်ꩻ လိုꩻပုဂ္ဂိုလ်ႏတာႏ နာမ်ႏခြောင်ꩻငဝ်းဖြုံႏ။
#:- '''ပါꩻအဖြာꩻမုဲင်ꩻ''' ထူႏထိုꩻခွေတခိုးနဲး။
===ဘာႏသာႏပြန်ႏ===
*မန်း : [[မည်သူ]]၊ [[ဘယ်သူဘယ်ဝါ]]၊
* အိန်းကလေတ် : [[who]].
gz6bsct2iclgi71g6gbm7mzwgbb7qi1
ပီ
0
1939
11755
4723
2025-06-23T06:07:55Z
咽頭べさ
11
11755
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* ပီ
# ပီဒျာႏ၊ ဗွိုန်ပီ၊ ဗိုန်ပီ။
# အစွိုးအမျိုꩻ၊ အပွိုင်အပုင်ႏ စတဲင် တမျိုꩻတစွိုးချင်ႏ။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[တူ]]သည်။ ဆင်သည်။ ဆင်တူသည်။
* အိန်းကလေတ် : [[alike]]; be the [[same]]; resemble.
===နာမ်ႏ===
{{blk-noun}}
# [[လိုꩻ]]၊ တရိစ္ဆာန်ႏသီး ယားခိုႏအထန်ႏဖဲ့ꩻ ကအဝ်ႏဒို့ꩻရဲးခါꩻဖေႏဒါႏ အဗီႏအထွိုင်။
#: လိုꩻပီ၊ ဖိုးပနားပီ။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[အရေပြား]]၊ [[အရေခွံ]]
* အိန်းကလေတ် : [[skin]].
===နာမ်ႏ===
{{blk-noun}}
* [[အပီ]]
* သေင်ႏရောင်ႏသေင်ႏရာႏ၊ ဟန်ႏ စတဲင် အထန်ႏဖဲ့ꩻ ကအဝ်ႏဒို့ꩻခါꩻဖေႏဒါႏ အဗီႏအထွိုင်။ အပီ။
#: အိုႏမောက်ꩻစောက်ꩻရာႏပီ။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[အခွံ]]
* အိန်းကလေတ် : [[peel]].
==မန်း==
===အငဝ်းထန်ႏ===
* {{MLCTS|/pi/}}
===ကြိယာႏ===
{{my-verb}}
* [[ဖြွောင်ႏ]]
# ငဝ်းဖြွောင်ႏ။
===ဘာႏသာႏပြန်ႏ===
* အိန်းကလေတ် : (of [[speech]]) be [[distinct]].
==ဖြဝ်ꩻ==
===အငဝ်းထန်ႏ===
{{shn-pron}}
===အရွီးခိုႏ ၁===
အဝ်ႏ {{inh|shn|tai-pro|*piːᴬ||year}} လွဉ်။ ဝေါဟာရအရွီးခိုႏဗွိုန်တောမ်ႏ {{cog|th|ปี}}, {{cog|nod|ᨸᩦ}}, {{cog|lo|ປີ}}, {{cog|khb|ᦔᦲ}}, {{cog|tdd|ᥙᥤ}}, {{cog|aho|𑜆𑜣}}, {{cog|za|bi}}, {{cog|pcc|bil}} ယိုဖုံႏ။
====နာမ်ႏ====
{{shn-noun}}
* [[နေင်ႏ]]
# ခုနေင်ႏသက္ကရာဇ်။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[ခုနှစ်]]
* အိန်းကလေတ် : [[year]].
===အရွီးခိုႏ ၂===
အဝ်ႏ {{inh|shn|tai-pro|*pliːᴬ||banana blossom}} လွဉ်။ ဝေါဟာရအရွီးခိုႏဗွိုန်တောမ်ႏ {{cog|th|ปลี}}, {{cog|lo|ປີ}} ယိုဖုံႏ။
====နာမ်ႏ====
{{shn-noun}}
* [[ထထီႏ]][[ကဝ်ႏ]]
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[ငှက်ပျော]][[ပွင့်]]
* အိန်းကလေတ် : [[banana]] [[blossom]].
g3iw0r2sv4lvz5z54pdqrbpww8onegy
11758
11755
2025-06-23T06:12:18Z
咽頭べさ
11
11758
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* ပီ
# ပီဒျာႏ၊ ဗွိုန်ပီ၊ ဗိုန်ပီ။
# အစွိုးအမျိုꩻ၊ အပွိုင်အပုင်ႏ စတဲင် တမျိုꩻတစွိုးချင်ႏ။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[တူ]]သည်။ ဆင်သည်။ ဆင်တူသည်။
* အိန်းကလေတ် : [[alike]]; be the [[same]]; resemble.
===နာမ်ႏ===
{{blk-noun}}
# [[လိုꩻ]]၊ တရိစ္ဆာန်ႏသီး ယားခိုႏအထန်ႏဖဲ့ꩻ ကအဝ်ႏဒို့ꩻရဲးခါꩻဖေႏဒါႏ အဗီႏအထွိုင်။
#: လိုꩻပီ၊ ဖိုးပနားပီ။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[အရေပြား]]၊ [[အရေခွံ]]
* အိန်းကလေတ် : [[skin]].
===နာမ်ႏ===
{{blk-noun}}
* [[အပီ]]
* သေင်ႏရောင်ႏသေင်ႏရာႏ၊ ဟန်ႏ စတဲင် အထန်ႏဖဲ့ꩻ ကအဝ်ႏဒို့ꩻခါꩻဖေႏဒါႏ အဗီႏအထွိုင်။ အပီ။
#: အိုႏမောက်ꩻစောက်ꩻရာႏပီ။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[အခွံ]]
* အိန်းကလေတ် : [[peel]].
==မန်း==
===အငဝ်းထန်ႏ===
{{my-IPA}}
===ကြိယာႏ===
{{my-verb}}
* [[ဖြွောင်ႏ]]
# ငဝ်းဖြွောင်ႏ။
===ဘာႏသာႏပြန်ႏ===
* အိန်းကလေတ် : (of [[speech]]) be [[distinct]].
==ဖြဝ်ꩻ==
===အငဝ်းထန်ႏ===
{{shn-pron}}
===အရွီးခိုႏ ၁===
အဝ်ႏ {{inh|shn|tai-pro|*piːᴬ||year}} လွဉ်။ ဝေါဟာရအရွီးခိုႏဗွိုန်တောမ်ႏ {{cog|th|ปี}}, {{cog|nod|ᨸᩦ}}, {{cog|lo|ປີ}}, {{cog|khb|ᦔᦲ}}, {{cog|tdd|ᥙᥤ}}, {{cog|aho|𑜆𑜣}}, {{cog|za|bi}}, {{cog|pcc|bil}} ယိုဖုံႏ။
====နာမ်ႏ====
{{shn-noun}}
* [[နေင်ႏ]]
# ခုနေင်ႏသက္ကရာဇ်။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[ခုနှစ်]]
* အိန်းကလေတ် : [[year]].
===အရွီးခိုႏ ၂===
အဝ်ႏ {{inh|shn|tai-pro|*pliːᴬ||banana blossom}} လွဉ်။ ဝေါဟာရအရွီးခိုႏဗွိုန်တောမ်ႏ {{cog|th|ปลี}}, {{cog|lo|ປີ}} ယိုဖုံႏ။
====နာမ်ႏ====
{{shn-noun}}
* [[ထထီႏ]][[ကဝ်ႏ]]
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[ငှက်ပျော]][[ပွင့်]]
* အိန်းကလေတ် : [[banana]] [[blossom]].
fj5c93b38v69p7optj7g4gf6t3nx348
ပေ့ꩻရဲး
0
1955
11759
4744
2025-06-23T06:13:44Z
咽頭べさ
11
11759
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-noun}}
* ပေ့ꩻရဲး
# [[ပေ့ꩻ]]ခါꩻ၊ [[ရဲး]]ခါꩻ။
===ဘာႏသာႏလင်===
* မန်း : [[ပိတ်ပင်]]သည်၊ [[ပိတ်ဆို့]]သည်၊ [[တားမြစ်]]သည်။
* အိန်းကလေတ် : [[prevent]] ; [[bar]]; [[forbid]]; [[prohibit]].
43fva7arsed4gd1mbrzi9gqy9pyh5i8
ဖြုံႏ
0
2071
11822
4968
2025-06-23T08:31:54Z
咽頭べさ
11
11822
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
[[ဖုဲင်:mound.jpg|thumb]]
===နာမဝိသေသန===
{{blk-adj}}
#တဖြုံႏ၊ နီဖြုံႏ စတဲင် ပုဒ်အွဉ်ႏနယ်အီ အဆေ့ꩻအအာ။ (သင်္ချာ)
*
===နာမ်ႏ===
{{head|blk|နာမ်ႏ}}
*ဖြုံႏ။ ဖြုံႏဒီႏ။ ဟံႏဖြုံႏ။
*
#အထျꩻတန်အနာပေႏဒါႏ ဟံႏပွုမ်ႏ။
#ဟံႏထိုခေါ်ဝင်ꩻပီနုဲင်းကောင်။
*
==ဘာႏသာႏလင်==
*အိန်းကလေတ်: [[mound]].
*(အရေအတွက်ပြပုဒ်)လုံး။ တောင်ပို့။ တောင်ပူစာ။ မြေပုံ။
bbujjgdfqhha2sxc0ly2r1fdlk8pm9z
ဖြေင်း
0
2074
11823
4972
2025-06-23T08:32:40Z
咽頭べさ
11
11823
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမဝိသေသန===
{{blk-adj}}
* ဖြေင်း
* [[ကဖြေင်း]]
# အရောင်ႏနုဲင်းဒါႏ မေႏသွာႏ။
====ဘာႏသာႏလင်====
* မန်း : [[နက်]]သော၊ [[မည်း]]သော
* အိန်းကလေတ် : [[black]].
6z8moebikd8i8czuog3g632kotdqpyr
ဗဲ့ꩻ
0
2102
11760
5028
2025-06-23T06:15:56Z
咽頭べさ
11
11760
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏ===
{{blk-noun}}
* [[အဗဲ့ꩻ]]
* ဗဲ့ꩻ
# နမ်းခန္ဓာႏအကို ကအဝ်ႏပယ်ဒါႏယာႏ တအဲဉ်ပြေယွိုင်ꩻဒါႏ ထာꩻရာꩻတမျိုꩻ။
====ဘာႏသာႏလင်====
* မန်း : [[အဆီ]]
* အိန်းကလေတ် : [[fat]]
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{head|blk|ကြိယာႏ}}
* ဗဲ့ꩻ
# ကအဝ်ႏဆွို့ꩻခါꩻဒါႏထာꩻယို ငင်ႏထန်ႏ၊ ထူႏထန်ႏ။
# အဝ်ႏအအာကို ထူႏထန်ႏ နုတ်ထန်ႏထိုꩻ အဆေ့ꩻ။
# သိမ်ꩻထိုꩻ၊ အွဉ်ႏဆွိုးအုံဆွိုး ထာꩻမာꩻတာႏဝွန်ႏ။
===ဘာႏသာႏလင်===
* မန်း : [[နုတ်]]သည်။
* အိန်းကလေတ် :
# pull out; [[extract]].
# [[subtract]]; take back.
# [[remove]].
8kjjz7i5kldqmhw64jtvsf7i1bjvlo0
ဗွာ
0
2106
11824
5043
2025-06-23T08:33:31Z
咽頭べさ
11
11824
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမဝိသေသန===
{{blk-adj}}
# [[ဗွာစင်]]၊ ကြောင်းစင်၊ တရေꩻဖုဲင်ႏထွား။
====ဘာႏသာႏလင်====
* မန်း : [[ဖြူစင်]]သော၊ လှပသော၊ [[စင်ကြယ်]]သော
* အိန်းကလေတ် : [[fair]], [[beautiful]].
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမဝိသေသန===
{{blk-adj}}
# အရောင်ႏကအဝ်ႏဒါႏ နုဲင်း[[ထွန်]]၊ [[ဖိုး]][[နဲဉ်းထီ]] စတဲင် အရောင်ႏ၊ အရောင်ႏဗွာ။
====ဘာႏသာႏလင်====
* မန်း : [[ဖြူ]]သော
* အိန်းကလေတ် : [[white]](colour).
hot4thi2m8sc0m75wjq4qtqiffmjlid
ဗွေလွန်း
0
2117
11761
5062
2025-06-23T06:16:24Z
咽頭べさ
11
11761
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* ဗွေလွန်း၊ [[လွန်း]]
# အဗွေထိုꩻတွော့ꩻ ခွို့၊ ရီႏ၊ လွန်း၊ ထန်ႏထိုꩻ။
#: ထီလွန်းထိုꩻလဲဉ်းနောင်။
===ဘာႏသာႏလင်===
* မန်း : [[ပြည့်လျှံ]]၊
* အိန်းကလေတ် : [[overflow]]
i169t410nfl46sm2w3fkwjkbrtc8339
ဘွုံꩻတန်
0
2150
11762
5145
2025-06-23T06:16:52Z
咽頭べさ
11
11762
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{head|blk|ကြိယာႏ}}
* ဘုင်ꩻတန်
# တန်ꩻခိုꩻ၊ အဗိုန်အဟုင်ႏ တန်ထို။
====ဘာႏသာႏလင်====
* မန်း : [[ဘုန်းကြီး]]သည်။ တန်ခိုးကြီးသည်။
* အိန်းကလေတ် : be very powerful; wield a lot of weight.
m9p603vd6uh26dqaovt6nn3km47x4ld
မာꩻထို
0
2191
11763
5224
2025-06-23T06:18:20Z
咽頭べさ
11
11763
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ကြိယာႏ===
{{blk-verb}}
* ဖေႏကတွိုႏကီလꩻတဲင် [[ပင်ႏထို]]၊ [[ပင်ႏတသွောင်း]]ဖေႏ၊ ဖေႏကထိုအီ။
===ဘာႏသာႏလင်===
* မန်း : [[မြှင့်တင်]]
* အိန်းကလေတ် : [[raise]]; [[elevate]].
rfhtjtkwa4cfmgpvonceaz29nyeuuhg
မျန်မာ
0
2300
11871
5437
2025-06-23T11:24:18Z
咽頭べさ
11
11871
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===အရွီးခိုႏ===
===နာမ်ႏဆဲင်ႏတဖြာꩻ===
{{head|blk|proper noun}}
* မျန်မာ
* ကအဝ်ႏအုံသော့ꩻဒါႏ မန်းခမ်းတခမ်းလွုမ်းကို ကအဝ်ႏဒါႏ ခမ်းရင်ꩻသားလိုꩻမျိုꩻစွုမ်ႏသီးတာႏ ကဟဲ့ꩻညီꩻဒါႏဝင်ꩻအမိဉ်ꩻ။
* မန်းခမ်းရင်ꩻသား၊ မန်းလိုꩻမျိုꩻ။
* ကအုံသော့ꩻဒါႏ မျန်မာခမ်းထီကို ခမ်းသားထီသား။
====ဆွိုက်စပ်အသုင်ꩻ====
* [[မျန်မာခမ်းထီ]]၊ မျန်မာ[[ခမ်းသား]]၊ မျန်မာ[[ဘာႏသာႏငဝ်းငွါ]]၊ မျန်မာ[[အက္ခရာႏ]]။
====အခရာႏပီး လိတ်ဖြုံႏကွာႏ====
* [[မန်း]]
====ဘာႏသာႏလင်====
* မန်း : [[မြန်မာ]]
* အိန်းကလေတ် : [[Myanmar]]
9kk9mllcdws3u8xbcvn14adepvx2fbb
ယွိုက်ꩻ
0
2404
11825
5630
2025-06-23T08:33:51Z
咽頭べさ
11
11825
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမဝိသေသန===
{{blk-adj}}
* ယွိုက်ꩻ
# တလျူတဝ်း၊ မွိုင်ꩻတဝ်း၊ ကယွိုက်ꩻဒါႏ။
====ဘာႏသာႏလင်====
* မန်း : [[နှေး]]သော။
* အိန်းကလေတ် : [[slow]].
d0r3d4i3i0y0mub0bnjjqjt10oclcxl
ယွိုက်ꩻယုဲင်
0
2406
11826
5632
2025-06-23T08:34:10Z
咽頭べさ
11
11826
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမဝိသေသန===
{{blk-adj}}
* ယွိုက်ꩻယုဲင်
# တလျူတဝ်း၊ မွိုင်ꩻတဝ်း၊ ကင်ထွူႏ၊ ကယွိုက်ꩻယုဲင်ဒါႏ။
====ဘာႏသာႏလင်====
* မန်း : [[နှေးကွေး]]သော။
* အိန်းကလေတ် : [[sluggish]].
qvfulpakbfnwr1aim3fhyjtj7rzmjqs
ရက်
0
2407
11764
5636
2025-06-23T06:19:25Z
咽頭べさ
11
11764
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* [[မေတ္တာႏ]]သꩻအဝ်ႏလို့ဝင်ꩻ။
* [[ကျွိုက်]]စွယ်ꩻ။
* ဟွုန်ရက်၊ ဖိဉ်းမွိုတ်ဝင်ꩻ။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[ချစ်]]သည်။
* အိန်းကလေတ် : [[love]]: have affection.
l6spxckk4bg2ssvm4awordx56qhdw48
ရက်ပဲင်ꩻ
0
2408
11765
5640
2025-06-23T06:20:08Z
咽頭べさ
11
11765
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===အရွီးခိုႏ===
*
===ကြိယာႏ===
{{blk-verb}}
* ရက်ပဲင်ꩻ
# [[ဟွုန်ရက်]]၊ [[နိစ်သက်]]။ မေတ္တောႏသꩻအဝ်ႏ။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[ချစ်ခင်]]
* အိန်းကလေတ် : to be [[affectionate]], to be fond of, to [[love]].
m1fhgqbk6qpsn222xfjyn6ohg27ac6g
ရေႏမာꩻ
0
2439
11766
5718
2025-06-23T06:20:38Z
咽頭べさ
11
11766
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ကြိယာႏ===
{{head|blk|ကြိယာႏ}}
* [[ကျံႏမာꩻ]]
# ကျံႏစီႏရင်ႏယူႏခွုမ်မာꩻ တစွိုးစွိုး။
===ဘာႏသာႏလင်===
*မန်း : [[ကြံဖန်]]၊ [[ကြံစည်]]
qbjvla04lnba2swn7laphxldowt5fm3
ရဲး
0
2441
11767
5720
2025-06-23T06:21:11Z
咽頭べさ
11
11767
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* ရဲး
# ရဲးပေ့ꩻ၊ ပေ့ꩻခါꩻ၊ ထွဉ်ႏအုံထွဉ်ႏဆွိုး၊ ပိက်ခါꩻ။
===ဘာႏသာႏလင်===
* မန်း : [[တား]]သည်။
* အိန်းကလေတ် : [[forbid]]; [[stop]]; bar; check; prevent; prohibit.
qr1lq96lefgt9g337xwqm7xixm4xohf
ရဲးပေ့ꩻ
0
2442
11769
5722
2025-06-23T06:34:48Z
咽頭べさ
11
11769
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-noun}}
* ရဲးပေ့ꩻ
# [[ရဲး]]ခါꩻ၊ [[ပေ့ꩻ]]ခါꩻ။
===ဘာႏသာႏလင်===
* မန်း : [[ပိတ်ပင်]]သည်၊ [[တားဆီး]]သည်၊ [[ပိတ်ဆို့]]သည်၊ [[တားမြစ်]]သည်။
* အိန်းကလေတ် : [[prevent]] ; [[bar]]; [[forbid]]; [[prohibit]].
dwg25rngv13siizxpz60cx8iif2fg99
လာဗွူ
0
2491
11772
5803
2025-06-23T06:53:33Z
咽頭べさ
11
11772
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{head|blk|ကြိယာႏ}}
* လာဗွူ
# မာꩻစင်၊ မာꩻကွင်ႏထိုꩻ ထာꩻအီႏထာꩻစျꩻဖုံႏ ဗွူစတဲင်ဖုံႏအကို တောမ်ႏတလီꩻ။
====ဘာႏသာႏလင်====
* မန်း : [[စပါးလှေ့]]သည်
* အိန်းကလေတ် : [[winnow]](paddy).
3nscu57kn97iqk9gcmoz3te0wcs31vk
လဲဉ်းဆုဲင်ꩻ
0
2574
11773
5958
2025-06-23T06:53:56Z
咽頭べさ
11
11773
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* လဲဉ်းဆုဲင်ꩻ
* [[ထဲ့ဆုဲင်ꩻ]]၊ [[တွိုႏလား]]။
# ထာꩻထွာ အခိင်ႏလွဉ်ꩻထိုꩻ၊ လို့ထိုꩻလဲဉ်းမꩻ ကွဲးထွာ။
====ဘာႏသာႏလင်====
* မန်း : [[နောက်ကျ]]၊ [[နှောင်း]]သည်။
* အိန်းကလေတ် : be [[late]].
ivtbqe9s2juseim908zratp383g9oxp
လွဉ်
0
2578
11774
5962
2025-06-23T06:54:19Z
咽頭べさ
11
11774
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* causative verb
* [[လွဉ်]]
# အဝ်ႏရပ်ခင်ႏလမ်းအလင် တထွောင်းထွောင်းကို မိုးထေ့ရုဲင်ꩻထေ့လွဉ် နီနမ်းခင်ႏလမ်းထျꩻ။
====လိတ်ဖြုံႏကွာႏ အငဝ်းပီ အခရာႏဗွိုန်====
* [[လွောန်]]
====ဘာႏသာႏလင်====
* မန်း : [[လာ]]သည်။
* အိန်းကလေတ် : [[come]].
* ဂျပန် : [[来る]].
ggej7tbrq9so7ycpgc1xsrfymr4mm83
လွန်း
0
2583
11775
5967
2025-06-23T06:54:48Z
咽頭べさ
11
11775
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* လွန်း
# လွိုထိုꩻ ခွုန်းကတောမ်ႏ။
# အဗွေထိုꩻတွော့ꩻ ခွို့၊ ရီႏ၊ ထန်ႏထိုꩻ။
===ဘာႏသာႏလင်===
* မန်း : [[လျှံ]]သည်။
* အိန်းကလေတ် : [[overflow]]
12xu5xxv52v2zp76om7ou98k9hzxte4
လွန်းလွို
0
2585
11776
5969
2025-06-23T06:55:10Z
咽頭べさ
11
11776
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* [[လွိုင်ႏအာ]]
# လွိုင်ႏအာပြန်ꩻပြော်ꩻ၊ ဗွေစွုမ်ႏအာမွေး။
===ဘာႏသာႏလင်===
* မန်း : [[အလျှံပယ်]]
* အိန်းကလေတ် : [[abundantly]]; [[plentifully]]; [[profusely]].
l46tvt7i3fkdqjzg8sb1iimo9uxzyuu
လွိုင်ႏအာ
0
2587
11777
9901
2025-06-23T06:55:31Z
咽頭べさ
11
11777
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* အဝ်ႏ[[အလွန်းအလွို]]
# လွိုင်ႏအာပြန်ꩻပြော်ꩻ၊ ဗွေစွုမ်ႏအာမွေး။
===ဘာႏသာႏလင်===
* မန်း : [[အလျှံပယ်]]၊ [[များပြား]]
* အိန်းကလေတ် : [[abundantly]]; [[plentifully]]; [[profusely]].
chv9uf2bda7xkb58ssrjfew952cvgfj
လွောန်
0
2593
11778
5981
2025-06-23T06:55:51Z
咽頭べさ
11
11778
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* causative verb
* လွောန်
# အဝ်ႏရပ်ခင်ႏလမ်းအလင် တထွောင်းထွောင်းကို မိုးထေ့ရုဲင်ꩻထေ့လွဉ် နီနမ်းခင်ႏလမ်းထျꩻ။
====လိတ်ဖြုံႏကွာႏ အငဝ်းပီ အခရာႏဗွိုန်====
* [[လွဉ်]]
====ဘာႏသာႏလင်====
* မန်း : [[လာ]]သည်။
* အိန်းကလေတ် : [[come]].
* ဂျပန် : [[来る]].
ogcalo3rzc70i287u51vbk3kw7auzlf
သဖော်ꩻကျ
0
2681
11779
6182
2025-06-23T06:56:21Z
咽頭べさ
11
11779
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===အရွီးခိုႏ===
*
===ကြိယာႏ===
{{blk-verb}}
* သဖော်ꩻကျ
* [[သꩻမဲဉ်လꩻအဝ်ႏ]]၊
# ထဲ့မဲဉ်ႏသꩻသဖော်ꩻ ကမဲဉ်လꩻအတွိုင်ꩻ။ မဲဉ်လꩻ[[နိစ်သက်]]။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[သဘောကျ]]
* အိန်းကလေတ် : [[like]]; [[agree]]; be pleased.
kudxgsmtst46g4hj7zrh7cxops3dnul
သီ
0
2707
11836
6256
2025-06-23T10:32:25Z
咽頭べさ
11
11836
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏတင်===
{{blk-pron}}
# ခွဲး[[စွော့ꩻ]][[ဒေါ့ꩻရီ]] လိုꩻပေႏဖုံႏ၊ ရွယ်ႏဗွိုန်သားဖုံႏ အမိဉ်ꩻခြောင်ꩻ သုင်ꩻအီဒါႏ ငဝ်းငွါ။
#: သီအီႏလွေꩻမုဲင်ꩻ။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[မင်း]]တို့၊ [[နင်]]တို့။
* အဲင်းကလေတ် : [[you]].
===ကြိယာႏ===
{{blk-verb}}
* [[သက်]]လို့ထိုꩻ။
* သီမားထိုꩻ။
* စက်ဖုံႏ အဆွိုးထိုꩻ။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[သေဆုံး]]သည်။ [[ကွယ်လွန်]]သည်။
* အဲင်းကလေတ် : [[die]]; [[expire]].
==မန်း==
===အငဝ်းထန်ႏ===
{{my-IPA}}
===ကြိယာႏ===
{{my-verb}}
* [[ညာꩻ]]။
#: အဝ်ႏညာꩻလဲဉ်းတောမ်ႏနာꩻ။
====ဘာႏသာႏပြန်ႏ====
* မန်း : [[ဝေး]]သည်။
* အဲင်းကလေတ် : recede into the [[distance]]; be [[distant]].
===ကြိယာႏ===
{{my-verb}}
* [[ဗွော့ꩻ]]၊
* [[ပယ်]]
#: မဲဉ်အုံဗွော့ꩻလဲဉ်းနာꩻ၊ မဲဉ်အုံပယ်လဲဉ်းသီထျꩻ။
====ဘာႏသာႏပြန်ႏ====
* မန်း : [[နီး]]သည်၊ [[ကပ်]]သည်။
* အဲင်းကလေတ် : [[come]] [[near]]; [[approach]].
===ကြိယာႏ===
{{my-verb}}
* [[အာႏပေႏ]]
* [[အာႏ]]ဆေ့ꩻ။
====ဘာႏသာႏပြန်ႏ====
* မန်း : အားနည်းချို့တဲ့သည်။
* အဲင်းကလေတ် : [[weaken]]; [[dim]].
===ကြိယာႏ===
{{my-verb}}
* [[ရွစ်]]ငဝ်းသချင်ꩻ
* [[တချင်ꩻငဝ်း]]။
====ဘာႏသာႏပြန်ႏ====
* မန်း : သီချင်း[[ဆို]]သည်။
* အဲင်းကလေတ် : [[sing]]; [[chant]].
===ကြိယာႏ===
{{my-verb}}
* [[တဲမ်း]]
* [[စန်ႏ]], တဲမ်းစီႏ။
====ဘာႏသာႏပြန်ႏ====
* မန်း : စီကုံးရေးဖွဲ့သည်။
* အဲင်းကလေတ် : [[compose]].
===ကြိယာႏ===
{{my-verb}}
* [[ထူး]]
* [[သီႏ]]
* [[ဒွါႏ]]။
====ဘာႏသာႏပြန်ႏ====
* မန်း : ပုတီးစေ့စသည် ပန်းကိုကြိုးတွင်စီသွင်းသည်။
* အဲင်းကလေတ် : [[string]].
==ဖြဝ်ꩻ==
===အငဝ်းထန်ႏ===
{{shn-pron}}
===အရွီးခိုႏ ၁===
ဝေါဟာရအရွီးခိုႏ ဗွိုန်တောမ်ႏ {{cog|th|สี}}, {{cog|lo|ສີ}}, {{cog|khb|ᦉᦲ}}, {{cog|blt|ꪎꪲ}}, {{cog|phk|ꩬီ}}, {{cog|aho|𑜏𑜣}}, {{cog|za|cae}}, {{cog|zzj|cae}} ယိုဖုံႏ။
====ကြိယာႏ====
{{shn-verb}}
* [[ပွေါတ်]]
* [[တွောတ်]]
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[ပွတ်တိုက်]]သည်။
* အဲင်းကလေတ် : [[rub]]; [[scrape]].
===အရွီးခိုႏ ၂===
ဝေါဟာရအရွီးခိုႏ ဗွိုန်တောမ်ႏ {{cog|th|สี}}, {{cog|lo|ສີ}}, {{cog|khb|ᦉᦲ}} ယိုဖုံႏ။
====နာမ်ႏ====
{{shn-noun}}
* [[အရောင်ႏ]]
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[အရောင်]]
* အဲင်းကလေတ် : [[color]].
5suwt7s2l47txezbiwvliq2bp6ug579
သီမား
0
2709
11780
6258
2025-06-23T06:56:55Z
咽頭べさ
11
11780
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* [[သက်]]လို့ထိုꩻ။ အ[[ကုဲင်]]ထိုꩻ။
* [[သီ]]ထိုꩻ။
====ဘာႏသာႏပြန်ႏ====
* မန်း : [[သေဆုံး]]သည်။ [[ကွယ်လွန်]]သည်။
* အိန်းကလေတ် : [[die]].
4alo81p3dwx3e7geq4u6p305bn64bvu
သေ
0
2749
11781
10606
2025-06-23T06:58:16Z
咽頭べさ
11
11781
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏ===
{{blk-noun}}
# ကတဟီႏ ကဖြေင်ꩻဒါႏထာꩻ၊ ဖင်ႏထာꩻကကျင်ႏဒါႏ ခင်ႏကအဝ်ႏဒါႏလစ်ꩻပင် တရိစ္ဆာန်ႏ။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[မြင်း]](တိရစ္ဆာန်)
* အဲင်းကလေတ် : [[horse]].
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
# သꩻအာႏရုင်ႏကိုပေါႏလွောန်။ သေနာႏ။ သꩻဖော်ဗွောင်။ သꩻဖော်ဖြောင်။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[သိ]]သည်။
* အဲင်းကလေတ် : [[know]].
==မန်း==
'''သေ'''
===အငဝ်းထန်ႏ===
* {{MLCTS|/thei/}}
===အရွီးခိုႏ===
*
===ကြိယာႏ===
{{my-verb}}
# [[ဆွိုး]]
#: စက်ဆွိုး၊ နားရီႏဆွိုး။ အငေါဝ်းဆွိုး ၊ အွဉ်ႏဆွိုးထာꩻမာꩻ ၊
===ဘာႏသာႏပြန်ႏ===
* မန်း :
# ရပ်တန့်သည် ။
#: စက်သေ၊ နာရီသေ။ CMD ။ 499 ။
* အဲင်းကလေတ် : stop functioning.
==မန်း==
'''သေ'''
===အငဝ်းထန်ႏ===
{{my-IPA}}
===အရွီးခိုႏ===
*
===ကြိယာႏ===
{{my-verb}}
# [[သီ]]၊ [[သီမား]] (သက်)။
===ဘာႏသာႏပြန်ႏ===
* မန်း : သေဆုံးသည်။(အသက်)။
* အဲင်းကလေတ် : die.
0oqyw1xrhnrcna8bioo6tp5sms05073
သဲင်
0
2783
11782
6384
2025-06-23T06:59:25Z
咽頭べさ
11
11782
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* [[သူ]]
# ဆဲင်ꩻခေါမ်ꩻလာꩻစဝ်ႏတွော့ꩻ အွဉ်ႏလို'''သဲင်'''ချာလဲဉ်း။
====ဘာႏသာႏပြန်ႏ====
* မန်း : ခြောက်အောင်လုပ်သည်။
* အိန်းကလေတ် : [[dry]].
==ပအိုဝ်ႏ==
===နာမဝိသေသန===
{{blk-adj}}
* [[သူ]]
# တစဝ်ႏတဝ်းဒါႏ၊ ကသူဒါႏ၊ အစဝ်ႏတမွေးတဝ်းဒါႏ။
====ဘာႏသာႏပြန်ႏ====
* မန်း : [[ခြောက်]]သော၊ [[ခြောက်သွေ့]]၊ [[သွေ့]]
* အိန်းကလေတ် : [[dry]].
==ပအိုဝ်ႏ==
===နာမ်ႏ===
* သဲင်
# အဆွော့ꩻသွတ်ꩻ အငိုꩻတန် လုံးသဲင်ဟဝ်ရတနာႏ။
====ဘာႏသာႏပြန်ႏ====
* မန်း : [[စိန်]]
* အိန်းကလေတ် : [[diamond]].
97q3nztz7lk9gticoerqmioay57yve4
သံꩻ
0
2804
11783
6414
2025-06-23T07:00:22Z
咽頭べさ
11
11783
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
*သံꩻ
*
===နာမ်ႏ===
{{head|blk|နာမ်ႏ}}
#ထာꩻသားပေႏတမျိုꩻ။
===ကြိယာႏ===
{{head|blk|ကြိယာႏ}}
#သံꩻတသီႏ။
#သံꩻတသီႏကျံꩻ။
==ဘာႏသာႏလင်==
*အိန်းကလေတ်: bug, bedbug
*မန်း: ကြမ်းပိုး။ ကျပိုး။ နှံ။ ထိုး(မင်ကြောင်ထိုးသည်)။
*ခယ်ႏ: 臭虫。打。
0wfi6wh7mqp5gh95vmq8vmo5yrxptko
11784
11783
2025-06-23T07:01:01Z
咽頭べさ
11
[[သံꩻ (သမ်ꩻ)]] စာမျက်နှာကို [[သံꩻ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
11783
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
*သံꩻ
*
===နာမ်ႏ===
{{head|blk|နာမ်ႏ}}
#ထာꩻသားပေႏတမျိုꩻ။
===ကြိယာႏ===
{{head|blk|ကြိယာႏ}}
#သံꩻတသီႏ။
#သံꩻတသီႏကျံꩻ။
==ဘာႏသာႏလင်==
*အိန်းကလေတ်: bug, bedbug
*မန်း: ကြမ်းပိုး။ ကျပိုး။ နှံ။ ထိုး(မင်ကြောင်ထိုးသည်)။
*ခယ်ႏ: 臭虫。打。
0wfi6wh7mqp5gh95vmq8vmo5yrxptko
သွောတ်ꩻ
0
2814
11798
6449
2025-06-23T07:18:29Z
咽頭べさ
11
11798
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
*{{IPA|blk|/saws/}}
===ဂဏန်ꩻ===
{{head|blk|ဂဏန်ꩻ}}
* [[သွစ်ꩻ]]
* [[၈]]
# [[နွုတ်ꩻ]]တောမ်ႏ [[ကွတ်ꩻ]]အခါႏ အနပ်အတွက်ဆေ့ꩻအာ၊ ဂဏန်ꩻအမုဲင်(၈)။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[ရှစ်]](၈)။
* အဲင်းကလေတ် : [[eight]].
* ဂျပန် : [[はち]]。
h2pcb7aaadcz814r1ld5n5c6qguunc5
သꩻမဲဉ်လꩻအဝ်ႏ
0
2828
11786
6472
2025-06-23T07:02:17Z
咽頭べさ
11
11786
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===အရွီးခိုႏ===
*
===ကြိယာႏ===
{{blk-verb}}
* သꩻမဲဉ်လꩻအဝ်ႏ
* [[သဖော်ꩻကျ]]
# ထဲ့မဲဉ်ႏသꩻသဖော်ꩻ ကမဲဉ်လꩻအတွိုင်ꩻ။ မဲဉ်လꩻ[[နိစ်သက်]]။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[သဘောကျ]]
* အိန်းကလေတ် : [[like]]; [[agree]]; be pleased.
0ut10jv6lll3kyc3by06l84x16n10yr
ဟွုန်ရက်
0
2849
11787
6515
2025-06-23T07:02:47Z
咽頭べさ
11
11787
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===အရွီးခိုႏ===
*
===ကြိယာႏ===
{{blk-verb}}
* ဟွုန်ရက်
# [[ရက်ပဲင်ꩻ]]၊ [[နိစ်သက်]]။ မေတ္တောႏသꩻအဝ်ႏ။
===ဘာႏသာႏပြန်ႏ===
* မန်း : [[ချစ်ခင်]]
* အိန်းကလေတ် : to be [[affectionate]], to be fond of, to [[love]].
6cb98s7jzy0lokt0qm5i00y3joldkuv
အပြန်ႏအလန်ႏ
0
2945
11717
6753
2025-06-23T05:13:48Z
咽頭べさ
11
11717
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏဝိသေသန===
{{blk-adv}}
* အပြန်ႏအလန်ႏ
* [[ခွုန်ꩻလွေꩻခွုန်ꩻသဲင်ꩻ]]၊ လူႏလုဲင်ႏ။
# တဖဲ့ꩻတောမ်ႏတဖဲ့ꩻ တဖြာꩻတောမ်ႏတဖြာꩻ ခွုန်ꩻချာ၊ ပြန်ႏချာဝင်ꩻအနေႏ။
===ဘာႏသာႏပြန်ႏ===
*မန်း : [[အပြန်အလှန်]]
*အိန်းကလေတ် : [[reciprocally]], [[mutually]].
0iq34m932ptyer620k6yjzqjvs9vrl9
အပွန်းတရျာꩻ
0
2946
11718
6757
2025-06-23T05:14:44Z
咽頭べさ
11
11718
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏဝိသေသန===
{{blk-adv}}
* အပွန်းတရျာꩻ
# [[အဆတရျာꩻ]]၊ [[အပွုမ်ႏတရျာꩻ]]။ အပွန်းပေါင်ꩻအာ။
====နပ်တွက်====
* ပွန်း
====ဘာႏသာႏပြန်ႏ====
*မန်း : [[အဆတစ်ရာ]]
* အိန်းကလေတ် : [[infinitely]].
9uvejlyy25b2ohqprgqxb7lztz9aclr
အပွုမ်ႏတရျာꩻ
0
2947
11719
6761
2025-06-23T05:15:59Z
咽頭べさ
11
11719
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏဝိသေသန===
{{blk-adv}}
* အပွုမ်ႏတရျာꩻ
# [[အပွန်းတရျာꩻ]]၊ [[အဆတရျာꩻ]]။ အပွုမ်ႏပေါင်ꩻအာ။
====နပ်တွက်====
* ပွုမ်ႏ၊ ဆ
====ဘာႏသာႏပြန်ႏ====
*မန်း : [[အဆတစ်ရာ]]
* အိန်းကလေတ် : infinitely.
ocw9rcsrs99hk5fm0ygxnhcnt485bc5
အလွန်းအလွို
0
3002
11788
6868
2025-06-23T07:03:29Z
咽頭べさ
11
11788
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ကြိယာႏ===
{{blk-verb}}
* [[လွိုင်ႏအာ]]
# လွိုင်ႏအာပြန်ꩻပြော်ꩻ၊ ဗွေစွုမ်ႏအာမွေး။
===ဘာႏသာႏလင်===
* မန်း : [[အလျှံပယ်]]၊
* အိန်းကလေတ် : [[abundantly]]; [[plentifully]]; [[profusely]].
bhb2uzvlqoun4k5hx6y7f67k7ba5nzc
အာႏရုဏ်ႏထန်ႏ
0
3019
11789
6906
2025-06-23T07:03:58Z
咽頭べさ
11
11789
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===နာမ်ႏ===
*
# မွူးလေ ထာꩻလေလွဉ်စအခိင်ႏ။
===ဘာႏသာႏလင်===
* မန်း : [[အရုဏ်တတ်]]
* အိန်းကလေတ် : crack of [[dawn]]; [[daybreak]].
==ပအိုဝ်ႏ==
===ကြိယာႏ===
* အာႏရုဏ်ႏထန်ႏ
# မွူးလေ မွူးရောင်ႏ ထာꩻလေလွဉ်၊ ထန်ႏလွဉ်။
===ဘာႏသာႏလင်===
* မန်း : [[အာရုဏ်တတ်]]
* အိန်းကလေတ် : (of day) [[dawn]].
gifd5h3mwef31841vjo9xgody7rkdxj
11790
11789
2025-06-23T07:04:29Z
咽頭べさ
11
11790
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===နာမ်ႏ===
{{head|blk|နာမ်ႏ}}
# မွူးလေ ထာꩻလေလွဉ်စအခိင်ႏ။
===ဘာႏသာႏလင်===
* မန်း : [[အရုဏ်တတ်]]
* အိန်းကလေတ် : crack of [[dawn]]; [[daybreak]].
==ပအိုဝ်ႏ==
===ကြိယာႏ===
{{head|blk|ကြိယာႏ}}
* အာႏရုဏ်ႏထန်ႏ
# မွူးလေ မွူးရောင်ႏ ထာꩻလေလွဉ်၊ ထန်ႏလွဉ်။
===ဘာႏသာႏလင်===
* မန်း : [[အာရုဏ်တတ်]]
* အိန်းကလေတ် : (of day) [[dawn]].
6ej2k2jpbmida8ui8i00tw8e1hn4k4l
အိဉ်ဒိုနီးသျား
0
3025
11872
6918
2025-06-23T11:24:43Z
咽頭べさ
11
11872
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမ်ႏဆဲင်ႏတဖြာꩻ===
{{head|blk|proper noun}}
* အိဉ်ဒိုနီးသျား
# အာသျတွိုက် အခဝ်တွို့ꩻနဝ်ကို ကအဝ်ႏဒါႏ ခမ်းတန်တခမ်းအမိဉ်ꩻ။ အိဉ်ဒိုနီးသျားခမ်းထီ။
#: အိဉ်ဒိုနီးသျားခမ်းထီ၊ အိဉ်ဒိုနီးသျားဘာႏသာႏငဝ်းငွါ၊ အိဉ်ဒိုနီးသျားလိုꩻမျိုꩻ။
====နပ်တွက်====
* ခမ်း
====ဘာႏသာႏလင်====
* မန်း : အင်ဒိုနီးရှားနိုင်ငံ
* အိန်းကလေတ် : [[Indonesia]]
32ocze56p8nyvtmn488pa47w6eiuppm
အံႏ
0
3038
11791
6966
2025-06-23T07:05:29Z
咽頭べさ
11
11791
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ကြိယာႏ===
{{head|blk|ကြိယာႏ}}
# [[စုဲင်]]ထွူမျောႏ။ အံႏသုင်ꩻဆောင်ႏ။
===Translate===
*မြန်မာ:စားသည် ။
*English : Eat
8tcp9n3bn132aoa4do4mgjchjlnmvz2
အံႏဖြာႏ
0
3039
11792
6974
2025-06-23T07:06:00Z
咽頭べさ
11
11792
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
*
===အရွီးခိုႏ===
===ကြိယာႏ===
{{blk-verb}}
*အံႏဖြာႏ
# တဖြာꩻတောမ်ႏတဖြာꩻ ထီႏဝင်ꩻအဟဝ်အယံ အစိုန်ꩻတဲင် အံႏဖြာႏဝင်ꩻနဝ်ꩻသွူ။
====နပ်တွက်ဗျာႏ====
* အစွိုးစွိုး
====ဘာႏသာႏပြန်ႏ====
* မန်း : [[ချီးမြှောက်]]၊ [[ချီးမွမ်း]]
* အိန်းကလေတ် : praise,speak in honour of, speak well of.
m6gzo7bxrqhqg9pt7gd3wbgm9xhvqsu
အွူႏ
0
3040
11827
6977
2025-06-23T08:34:30Z
咽頭べさ
11
11827
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===နာမဝိသေသန===
{{blk-adj}}
* အွူႏ
* အရောင်ႏ[[အွူႏ]] ကအဝ်ႏဒါႏ။
# မောက်ꩻစောက်ꩻရာႏရောင်ႏတောမ်ႏ အရောင်ႏဖြေင်း ကရောꩻစပ်ခါꩻဒါႏအရောင်ႏ ကအဝ်ႏဒါႏ။
====ဘာႏသာႏလင်====
* မန်း : [[ညို]]သော။
* အိန်းကလေတ် : [[brown]].
s044rkaoo3kvyqaew0abm9uzksofkaz
၀
0
3061
11799
9722
2025-06-23T07:19:33Z
咽頭べさ
11
11799
wikitext
text/x-wiki
{{also|ဝ}}
{{character info}}
==မန်း==
===ဂဏန်ꩻ===
{{head|my|ဂဏန်ꩻ}}
# [[၀]] ([[သုည]])
# အခြေင်
====ထွားထဲင်းအလင်====
{{မန်းဂဏန်ꩻဖုံႏ}}
* {{l|my|သုည}}
==မဲင်ꩻ==
===အငဝ်းထန်ႏ===
*{{IPA|mnw|/sūnˀɲaˀ/}}
* {{audio|mnw|Mnw-၀.oga}}
===ဂဏန်ꩻ===
{{head|mnw|ဂဏန်ꩻ}}
# [[၀]] ([[သုည]])
# အခြေင်။
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ဂဏန်ꩻ===
{{head|blk|ဂဏန်ꩻ}}
* ၀၊ သုည
* အခြေင်။
#ပအိုဝ်ႏဂဏန်ꩻအမုဲင်( [[File:Pa O-Akhemtarya-Digit-ဒွီႏ.svg|20px]] )ဒွီႏခြေင်၊ အနပ်ဗာႏအဝ်ႏခင်ႏလမ်းခလားကတွိုႏအမုဲင်တာထွာအဖြုံႏခြေင်ကိုနဝ်ꩻသွူ။
ပအိုဝ်ႏခမ်းဒေါမ်ဂဏန်ꩻ( [[]] )ယိုနဝ်ꩻ ဝေင်ꩻတန််သထွုံႏ အခြဲမ်တရျာꩻပအိုဝ်ႏလိတ်မွူးပစိုႏကို ထိုမ်ႏထွားမော့ꩻနွောင်ꩻဒျာႏသွူ။
===ဘာႏသာႏပြန်ႏ===
* အဲင်းကလေတ် : [[0]], ([[zero]])
p11ua14bkvkd2glrtzq73vn0b6a4vyo
၁
0
3067
11800
9712
2025-06-23T07:24:31Z
咽頭べさ
11
11800
wikitext
text/x-wiki
{{character info/new}}
==မန်း==
===ဂဏန်ꩻ===
{{head|my|ဂဏန်ꩻ}}
# [[၁]] ([[တာ]])
====ထွားထဲင်းအလင်====
{{မန်းဂဏန်ꩻဖုံႏ}}
==မဲင်ꩻ==
===အငဝ်းထန်ႏ===
*{{IPA|mnw|/mạ̀w/}}
* {{audio|mnw|၁ Mạ̀w mnw.ogg}}
===ဂဏန်ꩻ===
{{head|mnw|ဂဏန်ꩻ}}
# [[၁]] ([[တာ]])
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ဂဏန်ꩻ===
{{head|blk|ဂဏန်ꩻ}}
* ၁၊ [[တာ]]
* တဗာႏ။
#ပအိုဝ်ႏဂဏန်ꩻအမုဲင်( [[File:Pa O-Akhemtarya-Digit-တာ.svg|20px]] )တာ၊ အနပ်ဗာႏအဝ်ႏခင်ႏလမ်းအမုဲင်ဒွီႏခြေင်တွမ်ႏနီအခါႏကိုနဝ်ꩻသွူ။
ပအိုဝ်ႏခမ်းဒေါမ်ဂဏန်ꩻ( [[]] )ယိုနဝ်ꩻ ဝေင်ꩻတန််သထွုံႏ အခြဲမ်တရျာꩻပအိုဝ်ႏလိတ်မွူးပစိုႏကို ထိုမ်ႏထွားမော့ꩻနွောင်ꩻဒျာႏသွူ။
===ဘာႏသာႏပြန်ႏ===
* အဲင်းကလေတ် : [[1]], ([[one]])
45q4abfhvr9g7gli3bcgvmrh3bqvooe
၂
0
3070
11801
9713
2025-06-23T07:26:29Z
咽頭べさ
11
11801
wikitext
text/x-wiki
{{character info/new}}
==မန်း==
===ဂဏန်ꩻ===
{{head|my|ဂဏန်ꩻ}}
# [[၂]] ([[နီ]])
====ထွားထဲင်းအလင်====
{{မန်းဂဏန်ꩻဖုံႏ}}
==မဲင်ꩻ==
===အငဝ်းထန်ႏ===
*{{IPA|mnw|/ba/}}
* {{audio|mnw|၂ Ba mnw.ogg|ရမျာင်}}
===ဂဏန်ꩻ===
{{head|mnw|ဂဏန်ꩻ}}
# [[၂]] ([[နီ]])
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ဂဏန်ꩻ===
{{head|blk|ဂဏန်ꩻ}}
* ၁၊ [[နီ]]
#ပအိုဝ်ႏဂဏန်ꩻအမုဲင်( [[File:Pa O-Akhemtarya-Digit-နီ.svg|20px]] )နီ၊ အနပ်ဗာႏအဝ်ႏခင်ႏလမ်းအမုဲင်တာတွမ်ႏသိုမ်အခါႏကိုနဝ်ꩻသွူ။
ပအိုဝ်ႏခမ်းဒေါမ်ဂဏန်ꩻ( [[]] )ယိုနဝ်ꩻ ဝေင်ꩻတန််သထွုံႏ အခြဲမ်တရျာꩻပအိုဝ်ႏလိတ်မွူးပစိုႏကို ထိုမ်ႏထွားမော့ꩻနွောင်ꩻဒျာႏသွူ။
===ဘာႏသာႏပြန်ႏ===
* အဲင်းကလေတ် : [[2]], ([[two]])
q9t53jjn7fj81p8jhrhm4tchc47lyy7
၃
0
3072
11802
9728
2025-06-23T07:28:11Z
咽頭べさ
11
11802
wikitext
text/x-wiki
{{character info/new}}
==မန်း==
===ဂဏန်ꩻ===
{{head|my|ဂဏန်ꩻ}}
# ၃ ([[သွံ]]၊ [[သိုမ်]])
====ထွားထဲင်းအလင်====
{{မန်းဂဏန်ꩻဖုံႏ}}
==မဲင်ꩻ==
===အငဝ်းထန်ႏ===
*{{IPA|mnw|/pū̀/}}
* {{audio|mnw|၃ Pū̀ mnw.ogg}}
===ဂဏန်ꩻ===
{{head|mnw|ဂဏန်ꩻ}}
# ၃ ([[သွံ]]၊ [[သိုမ်]])
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ဂဏန်ꩻ===
{{head|blk|ဂဏန်ꩻ}}
* ၃၊ ([[သွံ]]၊ [[သိုမ်]])
#ပအိုဝ်ႏဂဏန်ꩻအမုဲင်( [[File:Pa O-Akhemtarya-Digit-သိုမ်.svg|20px]] )သိုမ်၊ အနပ်ဗာႏအဝ်ႏခင်ႏလမ်းအမုဲင်နီတွမ်ႏလစ်ꩻအခါႏကိုနဝ်ꩻသွူ။
ပအိုဝ်ႏခမ်းဒေါမ်ဂဏန်ꩻ( [[]] )ယိုနဝ်ꩻ ဝေင်ꩻတန််သထွုံႏ အခြဲမ်တရျာꩻပအိုဝ်ႏလိတ်မွူးပစိုႏကို ထိုမ်ႏထွားမော့ꩻနွောင်ꩻဒျာႏသွူ။
===ဘာႏသာႏပြန်ႏ===
* အဲင်းကလေတ် : [[3]], ([[three]])
p9dsv0g8lcf73tu6651p73l73ahfhs7
၅
0
3075
11803
9726
2025-06-23T07:29:33Z
咽頭べさ
11
11803
wikitext
text/x-wiki
{{character info/new}}
==မန်း==
===ဂဏန်ꩻ===
{{head|my|ဂဏန်ꩻ}}
# ၅ ([[ငတ်ꩻ]])
====ထွားထဲင်းအလင်====
{{မန်းဂဏန်ꩻဖုံႏ}}
==မဲင်ꩻ==
===အငဝ်းထန်ႏ===
*{{IPA|mnw|/masxn/}}
* {{audio|mnw|၅ Pa S̄xn mnw.ogg}}
===ဂဏန်ꩻ===
{{head|mnw|ဂဏန်ꩻ}}
# ၅ ([[ငတ်ꩻ]])
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ဂဏန်ꩻ===
{{head|blk|ဂဏန်ꩻ}}
* ၅ ([[ငတ်ꩻ]])
#ပအိုဝ်ႏဂဏန်ꩻအမုဲင်( [[File:Pa O-Akhemtarya-Digit-ငတ်ꩻ.svg|20px]] )ငတ်ꩻ၊ အနပ်ဗာႏအဝ်ႏခင်ႏလမ်းအမုဲင်လစ်ꩻတွမ်ႏသူအခါႏကိုနဝ်ꩻသွူ။
ပအိုဝ်ႏခမ်းဒေါမ်ဂဏန်ꩻ( [[]] )ယိုနဝ်ꩻ ဝေင်ꩻတန််သထွုံႏ အခြဲမ်တရျာꩻပအိုဝ်ႏလိတ်မွူးပစိုႏကို ထိုမ်ႏထွားမော့ꩻနွောင်ꩻဒျာႏသွူ။
===ဘာႏသာႏပြန်ႏ===
* အဲင်းကလေတ် : [[5]], ([[five]])
88az4oxqzbj6j884c5pa1538zwkd5js
၆
0
3076
11804
9725
2025-06-23T07:31:42Z
咽頭べさ
11
11804
wikitext
text/x-wiki
{{character info/new}}
==မန်း==
===ဂဏန်ꩻ===
{{head|my|ဂဏန်ꩻ}}
# [[သူ]](ဂဏန်ꩻ)
====ဘာႏသာႏပြန်ႏ====
* မန်း : [[ခြောက်]].
* အိန်းကလေတ် : [[six]](6).
====ထွားထဲင်းအလင်====
{{မန်းဂဏန်ꩻဖုံႏ}}
==မဲင်ꩻ==
===အငဝ်းထန်ႏ===
*{{IPA|mnw|/arao/}}
* {{audio|mnw|၆ Arao mnw.ogg}}
===ဂဏန်ꩻ===
{{head|mnw|numeral|tr=arao}}
# [[သူ]]
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ဂဏန်ꩻ===
{{head|blk|ဂဏန်ꩻ}}
# ဂဏန်ꩻ[[သူ]]
#ပအိုဝ်ႏဂဏန်ꩻအမုဲင်( [[File:Pa O-Akhemtarya-Digit-သူ.svg|20px]] )သူ၊ အနပ်ဗာႏအဝ်ႏခင်ႏလမ်းအမုဲင်ငတ်ꩻတွမ်ႏနွုတ်ꩻအခါႏကိုနဝ်ꩻသွူ။
ပအိုဝ်ႏခမ်းဒေါမ်ဂဏန်ꩻ( [[]] )ယိုနဝ်ꩻ ဝေင်ꩻတန််သထွုံႏ အခြဲမ်တရျာꩻပအိုဝ်ႏလိတ်မွူးပစိုႏကို ထိုမ်ႏထွားမော့ꩻနွောင်ꩻဒျာႏသွူ။
9lmn5atd4ou4ujjq63ykty5f8hfb39p
၇
0
3077
11811
9724
2025-06-23T08:20:50Z
咽頭べさ
11
11811
wikitext
text/x-wiki
{{character info/new}}
==မန်း==
===ဂဏန်ꩻ===
{{head|my|ဂဏန်ꩻ}}
# [[နွုတ်ꩻ]]
====ထွားထဲင်းအလင်====
{{မန်းဂဏန်ꩻဖုံႏ}}
==မဲင်ꩻ==
===အငဝ်းထန်ႏ===
*{{IPA|mnw|/happō/}}
* {{audio|mnw|၇ Happō mnw.ogg}}
===ဂဏန်ꩻ===
{{head|mnw|numeral}}
# [[နွုတ်ꩻ]]
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ဂဏန်ꩻ===
{{head|blk|ဂဏန်ꩻ}}
# ဂဏန်ꩻ[[နွုတ်ꩻ]]
#ပအိုဝ်ႏဂဏန်ꩻအမုဲင်( [[File:Pa O-Akhemtarya-Digit-နွုတ်ꩻ.svg|20px]] )နွုတ်ꩻ၊ အနပ်ဗာႏအဝ်ႏခင်ႏလမ်းအမုဲင်သူတွမ်ႏသွစ်ꩻအခါႏကိုနဝ်ꩻသွူ။
ပအိုဝ်ႏခမ်းဒေါမ်ဂဏန်ꩻ( [[]] )ယိုနဝ်ꩻ ဝေင်ꩻတန််သထွုံႏ အခြဲမ်တရျာꩻပအိုဝ်ႏလိတ်မွူးပစိုႏကို ထိုမ်ႏထွားမော့ꩻနွောင်ꩻဒျာႏသွူ။
====ဘာႏသာႏပြန်ႏ====
* မန်း : [[ခြောက်]](ဂဏန်း)
* အိန်းကလေတ် : [[6]]([[seven]]).
sj6wspu5xcg9p834czajbk3vy1l66tz
၈
0
3078
11812
9723
2025-06-23T08:22:13Z
咽頭べさ
11
11812
wikitext
text/x-wiki
{{character info}}
==မန်း==
===ဂဏန်ꩻ===
{{head|my|ဂဏန်ꩻ}}
# [[သွစ်ꩻ]]
# [[သွောတ်ꩻ]]
====ထွားထဲင်းအလင်====
* {{l|my|sc=Mymr|ရှစ်}}
==မဲင်ꩻ==
===အငဝ်းထန်ႏ===
*{{IPA|mnw|/hacān/}}
* {{audio|mnw|၈ Hacān mnw.ogg}}
===ဂဏန်ꩻ===
{{head|mnw|numeral}}
# [[သွစ်ꩻ]]
# [[သွောတ်ꩻ]]
====ထွားထဲင်းအလင်====
{{မန်းဂဏန်ꩻဖုံႏ}}
* {{l|mnw|ဒစာံ}}
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ဂဏန်ꩻ===
{{head|blk|ဂဏန်ꩻ}}
# [[သွစ်ꩻ]]
# [[သွောတ်ꩻ]]
#ပအိုဝ်ႏဂဏန်ꩻအမုဲင်( [[File:Pa O-Akhemtarya-Digit-သွစ်ꩻ.svg|20px]] )သွစ်ꩻ၊ အနပ်ဗာႏအဝ်ႏခင်ႏလမ်းအမုဲင်နွုတ်ꩻတွမ်ႏကွတ်ꩻအခါႏကိုနဝ်ꩻသွူ။
ပအိုဝ်ႏခမ်းဒေါမ်ဂဏန်ꩻ( [[]] )ယိုနဝ်ꩻ ဝေင်ꩻတန််သထွုံႏ အခြဲမ်တရျာꩻပအိုဝ်ႏလိတ်မွူးပစိုႏကို ထိုမ်ႏထွားမော့ꩻနွောင်ꩻဒျာႏသွူ။
====ဘာႏသာႏပြန်ႏ====
* မန်း : [[ရှစ်]](ဂဏန်း)
* အိန်းကလေတ် : [[8]] ([[eight]]).
bwx4v8hrlin4ndxqx0ul3m4a3sbfgrs
၉
0
3079
11813
9721
2025-06-23T08:23:01Z
咽頭べさ
11
11813
wikitext
text/x-wiki
{{character info}}
==မန်း==
===ဂဏန်ꩻ===
{{head|my|ဂဏန်ꩻ}}
# [[ကွတ်ꩻ]]
====ထွားထဲင်းအလင်====
{{မန်းဂဏန်ꩻဖုံႏ}}
====ချာႏဘာႏသာႏ====
* အိန်းကလေတ် : [[9]]
==ပအိုဝ်ႏ==
===အငဝ်းထန်ႏ===
===ဂဏန်ꩻ===
{{head|blk|ဂဏန်ꩻ}}
# [[ကွတ်ꩻ]](ဂဏန်ꩻ)
#ပအိုဝ်ႏဂဏန်ꩻအမုဲင်( [[File:Pa O-Akhemtarya-Digit-ကွတ်ꩻ.svg|20px]] )ကွတ်ꩻ၊ အနပ်ဗာႏအဝ်ႏခင်ႏလမ်းအမုဲင်သွစ်ꩻထွူအဗာႏကွတ်ꩻကိုနဝ်ꩻသွူ။
ပအိုဝ်ႏခမ်းဒေါမ်ဂဏန်ꩻ( [[]] )ယိုနဝ်ꩻ ဝေင်ꩻတန််သထွုံႏ အခြဲမ်တရျာꩻပအိုဝ်ႏလိတ်မွူးပစိုႏကို ထိုမ်ႏထွားမော့ꩻနွောင်ꩻဒျာႏသွူ။
4o8mkif9uwaghdmbr445tpx8krz7xpb
မော်ဂျူး:blk-translit
828
3524
11768
11398
2025-06-23T06:34:09Z
咽頭べさ
11
11768
Scribunto
text/plain
local export = {}
local gsub = mw.ustring.gsub
local u = require("Module:string/char")
local letter_with_mark = "(.["..u(0x0300).."-"..u(0x036F).."]?)"
local pre = {
["ျ"] = "္ယ", ["ြ"] = "္ရ", ["ွ"] = "္ဝ", ["ှ"] = "္ဟ",
["ၞ"] = "္န", ["ၟ"] = "္မ", ["ၠ"] = "္လ",
}
local tt1 = {
["က"] = "kᵃ", ["ခ"] = "khᵃ", ["ဂ"] = "gᵃ", ["ဃ"] = "ghᵃ", ["င"] = "ṅᵃ",
["စ"] = "cᵃ", ["ဆ"] = "chᵃ", ["ဇ"] = "jᵃ", ["ဈ"] = "jhᵃ", ["ဉ"] = "ñᵃ", ["ည"] = "ññᵃ", -- ññ -> ñ later
["ဋ"] = "ṭᵃ", ["ဌ"] = "ṭhᵃ", ["ဍ"] = "ḍᵃ", ["ဎ"] = "ḍhᵃ", ["ဏ"] = "ṇᵃ", ["ၮ"] = "ṇᵃ",
["တ"] = "tᵃ", ["ထ"] = "thᵃ", ["ဒ"] = "dᵃ", ["ဓ"] = "dhᵃ", ["န"] = "nᵃ",
["ပ"] = "pᵃ", ["ဖ"] = "phᵃ", ["ဗ"] = "bᵃ", ["ဘ"] = "bhᵃ", ["မ"] = "mᵃ",
["ယ"] = "yᵃ", ["ရ"] = "rᵃ", ["လ"] = "lᵃ", ["ဝ"] = "wᵃ", ["သ"] = "śᵃ", ["ဿ"] = "śśᵃ",
["ဟ"] = "hᵃ", ["ဠ"] = "ḷᵃ", ["အ"] = "ʼᵃ",
-- independent vowels (1 char)
["ဣ"] = "ʼi", ["ဥ"] = "ʼu", ["ဩ"] = "ʼo",
-- dependent vowels and diacritics (1 char)
["ါ"] = "ā", ["ာ"] = "ā", ["ိ"] = "i", ["ီ"] = "ī", ["ု"] = "u", ["ူ"] = "ū", ["ဲ"] = "ʸ",
["ေ့"] = "e", ["ေ"] = "ē", ["ံ"] = "ṁ", ["း"] = "̌", ["္"] = "¡", ["်"] = "¤",
-- punctuation marks
["၊"] = ",", ["။"] = ".",
-- numerals
["၀"] = "0", ["၁"] = "1", ["၂"] = "2", ["၃"] = "3", ["၄"] = "4",
[''] = '0', [''] = '1', [''] = '2', [''] = '3', [''] = '4',
["၅"] = "5", ["၆"] = "6", ["၇"] = "7", ["၈"] = "8", ["၉"] = "9",
[''] = '5', [''] = '6', [''] = '7', [''] = '8', [''] = '9',
-- zero-width space (display it if it hides in a word)
[u(0x200B)] = "‼", [u(0x200C)] = "‼", [u(0x200D)] = "‼",
}
-- ⒶⒽⓄⓂ markup for anusvara.
local ahom = {
["ံⒶ"] = "အ်", ["ံⒽ"] = "ĥ",
["ံⓄ"] = "ံ", -- default action, at least for now.
["ံⓂ"] = "ံ", -- default action
}
local tt2 = {
["ံ[ⒶⒽⓄⓂ]"] = ahom, -- CAUTION: ahom is a table.
-- vowels (2 chars)
["ဲ့"] = "ea", ["ꩻ"] = "̀", ["ႏ"] = "́", ["ေ့ꩻ"] = "è",
["ုဲင့်"] = "ai", ["ုဲင်"] = "āi", ["ော့"] = "ao",
["ော်"] = "āo", ["ို့"] = "o", ["ို"] = "ō",
}
function export.tr(text, lang, sc, debug_mode)
if type(text) == "table" then -- called directly from a template
text = text.args[1]
end
--Punctuation
text = gsub(text, "( +)", u(0xa0, 0xa0).."%1") -- 2 NBSP before spaces to widen them.
text = gsub(text, "<wbr/?>", " ") -- Insert spaces between words.
text = gsub(text, "([ှ])(ေ?ါ?ာ?)([်])(ေ?)",
function(H,b,A,a) return b..a..'h' end)
text = gsub(text, ".", pre)
text = gsub(text, "ဲါ", "ါဲ") -- fixed ay+aa to aa+ay; it often occurs
for k, v in pairs(tt2) do
text = gsub(text, k, v)
end
text = gsub(text, ".", tt1)
text = gsub(text, "([aeiuoāīū])ʸ", "%1y")
text = gsub(text, "ᵃʸ", "oa")
text = gsub(text, "ᵃ([¡¤]+)", "")
text = gsub(text, "([aeiuoāīū])¤", "%1k")
text = gsub(text, "ᵃ([aeiuoāīū])", "%1")
text = gsub(text, "ᵃ", "a")
text = gsub(text, "iṁu", "iuṁ")
if lang == "blk" then --Pa'O
text = gsub(text, "ññ", "ñ")
end
return text
end
return export
d06ljq44rw45zf180uumkpvggdxm0pf
11770
11768
2025-06-23T06:42:57Z
咽頭べさ
11
11770
Scribunto
text/plain
local export = {}
local gsub = mw.ustring.gsub
local u = require("Module:string/char")
local letter_with_mark = "(.["..u(0x0300).."-"..u(0x036F).."]?)"
local pre = {
["ျ"] = "္ယ", ["ြ"] = "္ရ", ["ွ"] = "္ဝ", ["ှ"] = "္ဟ",
["ၞ"] = "္န", ["ၟ"] = "္မ", ["ၠ"] = "္လ",
}
local tt1 = {
["က"] = "kᵃ", ["ခ"] = "khᵃ", ["ဂ"] = "gᵃ", ["ဃ"] = "ghᵃ", ["င"] = "ṅᵃ",
["စ"] = "cᵃ", ["ဆ"] = "chᵃ", ["ဇ"] = "jᵃ", ["ဈ"] = "jhᵃ", ["ဉ"] = "ñᵃ", ["ည"] = "ññᵃ", -- ññ -> ñ later
["ဋ"] = "ṭᵃ", ["ဌ"] = "ṭhᵃ", ["ဍ"] = "ḍᵃ", ["ဎ"] = "ḍhᵃ", ["ဏ"] = "ṇᵃ", ["ၮ"] = "ṇᵃ",
["တ"] = "tᵃ", ["ထ"] = "thᵃ", ["ဒ"] = "dᵃ", ["ဓ"] = "dhᵃ", ["န"] = "nᵃ",
["ပ"] = "pᵃ", ["ဖ"] = "phᵃ", ["ဗ"] = "bᵃ", ["ဘ"] = "bhᵃ", ["မ"] = "mᵃ",
["ယ"] = "yᵃ", ["ရ"] = "rᵃ", ["လ"] = "lᵃ", ["ဝ"] = "wᵃ", ["သ"] = "śᵃ", ["ဿ"] = "śśᵃ",
["ဟ"] = "hᵃ", ["ဠ"] = "ḷᵃ", ["အ"] = "ʼᵃ",
-- independent vowels (1 char)
["ဣ"] = "ʼi", ["ဥ"] = "ʼu", ["ဩ"] = "ʼo",
-- dependent vowels and diacritics (1 char)
["ါ"] = "ā", ["ာ"] = "ā", ["ိ"] = "i", ["ီ"] = "ī", ["ု"] = "u ", ["ူ"] = "ū", ["ဲ"] = "ʸ",
["ေ့"] = "e", ["ေ"] = "ē", ["ံ"] = "ṁ", ["း"] = "̌", ["္"] = "¡", ["်"] = "¤",
-- punctuation marks
["၊"] = ",", ["။"] = ".",
-- numerals
["၀"] = "0", ["၁"] = "1", ["၂"] = "2", ["၃"] = "3", ["၄"] = "4",
[''] = '0', [''] = '1', [''] = '2', [''] = '3', [''] = '4',
["၅"] = "5", ["၆"] = "6", ["၇"] = "7", ["၈"] = "8", ["၉"] = "9",
[''] = '5', [''] = '6', [''] = '7', [''] = '8', [''] = '9',
-- zero-width space (display it if it hides in a word)
[u(0x200B)] = "‼", [u(0x200C)] = "‼", [u(0x200D)] = "‼",
}
-- ⒶⒽⓄⓂ markup for anusvara.
local ahom = {
["ံⒶ"] = "အ်", ["ံⒽ"] = "ĥ",
["ံⓄ"] = "ံ", -- default action, at least for now.
["ံⓂ"] = "ံ", -- default action
}
local tt2 = {
["ံ[ⒶⒽⓄⓂ]"] = ahom, -- CAUTION: ahom is a table.
-- vowels (2 chars)
["ဲ့"] = "ea", ["ꩻ"] = "̀", ["ႏ"] = "́", ["ေ့ꩻ"] = "è",
["ုဲင့်"] = "ai", ["ုဲင်"] = "āi", ["ော့"] = "ao",
["ော်"] = "āo", ["ို့"] = "o", ["ို"] = "ō",
}
function export.tr(text, lang, sc, debug_mode)
if type(text) == "table" then -- called directly from a template
text = text.args[1]
end
--Punctuation
text = gsub(text, "( +)", u(0xa0, 0xa0).."%1") -- 2 NBSP before spaces to widen them.
text = gsub(text, "<wbr/?>", " ") -- Insert spaces between words.
text = gsub(text, "([ှ])(ေ?ါ?ာ?)([်])(ေ?)",
function(H,b,A,a) return b..a..'h' end)
text = gsub(text, ".", pre)
text = gsub(text, "ဲါ", "ါဲ") -- fixed ay+aa to aa+ay; it often occurs
for k, v in pairs(tt2) do
text = gsub(text, k, v)
end
text = gsub(text, ".", tt1)
text = gsub(text, "([aeiuoāīū])ʸ", "%1y")
text = gsub(text, "ᵃʸ", "oa")
text = gsub(text, "ᵃ([¡¤]+)", "")
text = gsub(text, "([aeiuoāīū])¤", "%1k")
text = gsub(text, "ᵃ([aeiuoāīū])", "%1")
text = gsub(text, "ᵃ", "a")
text = gsub(text, "iṁu", "iuṁ")
if lang == "blk" then --Pa'O
text = gsub(text, "ññ", "ñ")
end
return text
end
return export
7ytp6yh9vbt4q7wzdagl1lmu2rf0zu0
11771
11770
2025-06-23T06:48:54Z
咽頭べさ
11
11771
Scribunto
text/plain
local export = {}
local gsub = mw.ustring.gsub
local u = require("Module:string/char")
local letter_with_mark = "(.["..u(0x0300).."-"..u(0x036F).."]?)"
local pre = {
["ျ"] = "္ယ", ["ြ"] = "္ရ", ["ွ"] = "္ဝ", ["ှ"] = "္ဟ",
["ၞ"] = "္န", ["ၟ"] = "္မ", ["ၠ"] = "္လ",
}
local tt1 = {
["က"] = "kᵃ", ["ခ"] = "khᵃ", ["ဂ"] = "gᵃ", ["ဃ"] = "ghᵃ", ["င"] = "ṅᵃ",
["စ"] = "cᵃ", ["ဆ"] = "chᵃ", ["ဇ"] = "jᵃ", ["ဈ"] = "jhᵃ", ["ဉ"] = "ñᵃ", ["ည"] = "ññᵃ", -- ññ -> ñ later
["ဋ"] = "ṭᵃ", ["ဌ"] = "ṭhᵃ", ["ဍ"] = "ḍᵃ", ["ဎ"] = "ḍhᵃ", ["ဏ"] = "ṇᵃ", ["ၮ"] = "ṇᵃ",
["တ"] = "tᵃ", ["ထ"] = "thᵃ", ["ဒ"] = "dᵃ", ["ဓ"] = "dhᵃ", ["န"] = "nᵃ",
["ပ"] = "pᵃ", ["ဖ"] = "phᵃ", ["ဗ"] = "bᵃ", ["ဘ"] = "bhᵃ", ["မ"] = "mᵃ",
["ယ"] = "yᵃ", ["ရ"] = "rᵃ", ["လ"] = "lᵃ", ["ဝ"] = "wᵃ", ["သ"] = "śᵃ", ["ဿ"] = "śśᵃ",
["ဟ"] = "hᵃ", ["ဠ"] = "ḷᵃ", ["အ"] = "ʼᵃ",
-- independent vowels (1 char)
["ဣ"] = "ʼi", ["ဥ"] = "ʼu", ["ဩ"] = "ʼo",
-- dependent vowels and diacritics (1 char)
["ါ"] = "ā", ["ာ"] = "ā", ["ိ"] = "i", ["ီ"] = "ī", ["ု"] = "u ", ["ူ"] = "ū", ["ဲ"] = "ʸ",
["ေ့"] = "e", ["ေ"] = "ē", ["ံ"] = "ṁ", ["း"] = "̌", ["္"] = "¡", ["်"] = "¤",
-- punctuation marks
["၊"] = ",", ["။"] = ".",
-- numerals
["၀"] = "0", ["၁"] = "1", ["၂"] = "2", ["၃"] = "3", ["၄"] = "4",
[''] = '0', [''] = '1', [''] = '2', [''] = '3', [''] = '4',
["၅"] = "5", ["၆"] = "6", ["၇"] = "7", ["၈"] = "8", ["၉"] = "9",
[''] = '5', [''] = '6', [''] = '7', [''] = '8', [''] = '9',
-- zero-width space (display it if it hides in a word)
[u(0x200B)] = "‼", [u(0x200C)] = "‼", [u(0x200D)] = "‼",
}
-- ⒶⒽⓄⓂ markup for anusvara.
local ahom = {
["ံⒶ"] = "အ်", ["ံⒽ"] = "ĥ",
["ံⓄ"] = "ံ", -- default action, at least for now.
["ံⓂ"] = "ံ", -- default action
}
local tt2 = {
["ံ[ⒶⒽⓄⓂ]"] = ahom, -- CAUTION: ahom is a table.
-- vowels (2 chars)
["ဲ့"] = "ea", ["ꩻ"] = "̀", ["ႏ"] = "́", ["ေ့ꩻ"] = "è",
["ုဲင့်"] = "ai", ["ုဲင်"] = "āi", ["ော့"] = "ao",
["ော်"] = "āo", ["ို့"] = "o", ["ို"] = "ō", ["ဲး"] = "ǎ",
}
function export.tr(text, lang, sc, debug_mode)
if type(text) == "table" then -- called directly from a template
text = text.args[1]
end
--Punctuation
text = gsub(text, "( +)", u(0xa0, 0xa0).."%1") -- 2 NBSP before spaces to widen them.
text = gsub(text, "<wbr/?>", " ") -- Insert spaces between words.
text = gsub(text, "([ှ])(ေ?ါ?ာ?)([်])(ေ?)",
function(H,b,A,a) return b..a..'h' end)
text = gsub(text, ".", pre)
text = gsub(text, "ဲါ", "ါဲ") -- fixed ay+aa to aa+ay; it often occurs
for k, v in pairs(tt2) do
text = gsub(text, k, v)
end
text = gsub(text, ".", tt1)
text = gsub(text, "([aeiuoāīū])ʸ", "%1y")
text = gsub(text, "ᵃʸ", "oa")
text = gsub(text, "ᵃ([¡¤]+)", "")
text = gsub(text, "([aeiuoāīū])¤", "%1k")
text = gsub(text, "ᵃ([aeiuoāīū])", "%1")
text = gsub(text, "ᵃ", "a")
text = gsub(text, "iṁu", "iuṁ")
if lang == "blk" then --Pa'O
text = gsub(text, "ññ", "ñ")
end
return text
end
return export
dye2jbzpjw13nug31x94o2v57vpyj6s
11848
11771
2025-06-23T11:07:04Z
咽頭べさ
11
11848
Scribunto
text/plain
local export = {}
local gsub = mw.ustring.gsub
local u = require("Module:string/char")
local con_cls = "([ကခဂဃငစဆဇဈညဋဌဍဎဏတထဒဓနပဖဗဘမယရလဝသဟဠအ])"
local med_cls = "([ှီ္ွံဲေျိ်ါ့ြုူးꩻႈ]?)"
local tt1 = {
["က"] = "kᵃ", ["ခ"] = "khᵃ", ["ဂ"] = "gᵃ", ["ဃ"] = "ghᵃ", ["င"] = "ṅᵃ",
["စ"] = "cᵃ", ["ဆ"] = "chᵃ", ["ဇ"] = "jᵃ", ["ဈ"] = "jhᵃ", ["ဉ"] = "ñᵃ", ["ည"] = "ññᵃ", -- ññ -> ñ later
["ဋ"] = "ṭᵃ", ["ဌ"] = "ṭhᵃ", ["ဍ"] = "ḍᵃ", ["ဎ"] = "ḍhᵃ", ["ဏ"] = "ṇᵃ", ["ၮ"] = "ṇᵃ",
["တ"] = "tᵃ", ["ထ"] = "thᵃ", ["ဒ"] = "dᵃ", ["ဓ"] = "dhᵃ", ["န"] = "nᵃ",
["ပ"] = "pᵃ", ["ဖ"] = "phᵃ", ["ဗ"] = "bᵃ", ["ဘ"] = "bhᵃ", ["မ"] = "mᵃ",
["ယ"] = "yᵃ", ["ရ"] = "rᵃ", ["လ"] = "lᵃ", ["ဝ"] = "wᵃ", ["သ"] = "śᵃ", ["ဿ"] = "śśᵃ",
["ဟ"] = "hᵃ", ["ဠ"] = "ḷᵃ", ["အ"] = "ʼᵃ",
-- independent vowels (1 char)
["ဣ"] = "ʼi", ["ဥ"] = "ʼu", ["ဩ"] = "ʼo",
-- dependent vowels and diacritics (1 char)
["ါ"] = "ā", ["ာ"] = "ā", ["ိ"] = "i", ["ီ"] = "ī", ["ု"] = "u ", ["ူ"] = "ū", ["ဲ"] = "ʸ",
["ေ့"] = "e", ["ေ"] = "ē", ["ံ"] = "ṁ", ["း"] = "̌", ["္"] = "¡", ["်"] = "¤",
-- punctuation marks
["၊"] = ",", ["။"] = ".",
-- numerals
["၀"] = "0", ["၁"] = "1", ["၂"] = "2", ["၃"] = "3", ["၄"] = "4",
[''] = '0', [''] = '1', [''] = '2', [''] = '3', [''] = '4',
["၅"] = "5", ["၆"] = "6", ["၇"] = "7", ["၈"] = "8", ["၉"] = "9",
[''] = '5', [''] = '6', [''] = '7', [''] = '8', [''] = '9',
-- zero-width space (display it if it hides in a word)
[u(0x200B)] = "‼", [u(0x200C)] = "‼", [u(0x200D)] = "‼",
}
-- ⒶⒽⓄⓂ markup for anusvara.
local ahom = {
["ံⒶ"] = "အ်", ["ံⒽ"] = "ĥ",
["ံⓄ"] = "ံ", -- default action, at least for now.
["ံⓂ"] = "ံ", -- default action
}
local tt2 = {
["ံ[ⒶⒽⓄⓂ]"] = ahom, -- CAUTION: ahom is a table.
-- vowels (2 chars)
["ဲ့"] = "ea", ["ꩻ"] = "̀", ["ႏ"] = "́", ["ေ့ꩻ"] = "è",
["ုဲင့်"] = "ai", ["ုဲင်"] = "āi", ["ော့"] = "ao",
["ော်"] = "āo", ["ို့"] = "o", ["ို"] = "ō", ["ဲး"] = "ǎ",
}
function export.tr(text, lang, sc, debug_mode)
if type(text) == "table" then -- called directly from a template
text = text.args[1]
end
--Punctuation
text = gsub(text, "( +)", u(0xa0, 0xa0).."%1") -- 2 NBSP before spaces to widen them.
text = gsub(text, "<wbr/?>", " ") -- Insert spaces between words.
text = gsub(text, "([ှ])(ေ?ါ?ာ?)([်])(ေ?)",
function(H,b,A,a) return b..a..'h' end)
text = gsub(text, ".", pre)
text = gsub(text, "ဲါ", "ါဲ") -- fixed ay+aa to aa+ay; it often occurs
for k, v in pairs(tt2) do
text = gsub(text, k, v)
end
text = gsub(text, ".", tt1)
text = gsub(text, "([aeiuoāīū])ʸ", "%1y")
text = gsub(text, "ᵃʸ", "oa")
text = gsub(text, "ᵃ([¡¤]+)", "")
text = gsub(text, "([aeiuoāīū])¤", "%1k")
text = gsub(text, "ᵃ([aeiuoāīū])", "%1")
text = gsub(text, "ᵃ", "a")
text = gsub(text, "iṁu", "iuṁ")
if lang == "blk" then --Pa'O
text = gsub(text, "ññ", "ñ")
end
return text
end
return export
h3y5u9vzq140cl0cdpj4qet11idt7lk
11850
11848
2025-06-23T11:08:49Z
咽頭べさ
11
[[Special:Contributions/咽頭べさ|咽頭べさ]] ([[User talk:咽頭べさ|အုံကွံ]]) ခြပ်ချော်ꩻမုꩻယို [[Special:Diff/11848|11848]] ယားကုဲင်ချာလဲဉ်းသွူ။
11850
Scribunto
text/plain
local export = {}
local gsub = mw.ustring.gsub
local u = require("Module:string/char")
local letter_with_mark = "(.["..u(0x0300).."-"..u(0x036F).."]?)"
local pre = {
["ျ"] = "္ယ", ["ြ"] = "္ရ", ["ွ"] = "္ဝ", ["ှ"] = "္ဟ",
["ၞ"] = "္န", ["ၟ"] = "္မ", ["ၠ"] = "္လ",
}
local tt1 = {
["က"] = "kᵃ", ["ခ"] = "khᵃ", ["ဂ"] = "gᵃ", ["ဃ"] = "ghᵃ", ["င"] = "ṅᵃ",
["စ"] = "cᵃ", ["ဆ"] = "chᵃ", ["ဇ"] = "jᵃ", ["ဈ"] = "jhᵃ", ["ဉ"] = "ñᵃ", ["ည"] = "ññᵃ", -- ññ -> ñ later
["ဋ"] = "ṭᵃ", ["ဌ"] = "ṭhᵃ", ["ဍ"] = "ḍᵃ", ["ဎ"] = "ḍhᵃ", ["ဏ"] = "ṇᵃ", ["ၮ"] = "ṇᵃ",
["တ"] = "tᵃ", ["ထ"] = "thᵃ", ["ဒ"] = "dᵃ", ["ဓ"] = "dhᵃ", ["န"] = "nᵃ",
["ပ"] = "pᵃ", ["ဖ"] = "phᵃ", ["ဗ"] = "bᵃ", ["ဘ"] = "bhᵃ", ["မ"] = "mᵃ",
["ယ"] = "yᵃ", ["ရ"] = "rᵃ", ["လ"] = "lᵃ", ["ဝ"] = "wᵃ", ["သ"] = "śᵃ", ["ဿ"] = "śśᵃ",
["ဟ"] = "hᵃ", ["ဠ"] = "ḷᵃ", ["အ"] = "ʼᵃ",
-- independent vowels (1 char)
["ဣ"] = "ʼi", ["ဥ"] = "ʼu", ["ဩ"] = "ʼo",
-- dependent vowels and diacritics (1 char)
["ါ"] = "ā", ["ာ"] = "ā", ["ိ"] = "i", ["ီ"] = "ī", ["ု"] = "u ", ["ူ"] = "ū", ["ဲ"] = "ʸ",
["ေ့"] = "e", ["ေ"] = "ē", ["ံ"] = "ṁ", ["း"] = "̌", ["္"] = "¡", ["်"] = "¤",
-- punctuation marks
["၊"] = ",", ["။"] = ".",
-- numerals
["၀"] = "0", ["၁"] = "1", ["၂"] = "2", ["၃"] = "3", ["၄"] = "4",
[''] = '0', [''] = '1', [''] = '2', [''] = '3', [''] = '4',
["၅"] = "5", ["၆"] = "6", ["၇"] = "7", ["၈"] = "8", ["၉"] = "9",
[''] = '5', [''] = '6', [''] = '7', [''] = '8', [''] = '9',
-- zero-width space (display it if it hides in a word)
[u(0x200B)] = "‼", [u(0x200C)] = "‼", [u(0x200D)] = "‼",
}
-- ⒶⒽⓄⓂ markup for anusvara.
local ahom = {
["ံⒶ"] = "အ်", ["ံⒽ"] = "ĥ",
["ံⓄ"] = "ံ", -- default action, at least for now.
["ံⓂ"] = "ံ", -- default action
}
local tt2 = {
["ံ[ⒶⒽⓄⓂ]"] = ahom, -- CAUTION: ahom is a table.
-- vowels (2 chars)
["ဲ့"] = "ea", ["ꩻ"] = "̀", ["ႏ"] = "́", ["ေ့ꩻ"] = "è",
["ုဲင့်"] = "ai", ["ုဲင်"] = "āi", ["ော့"] = "ao",
["ော်"] = "āo", ["ို့"] = "o", ["ို"] = "ō", ["ဲး"] = "ǎ",
}
function export.tr(text, lang, sc, debug_mode)
if type(text) == "table" then -- called directly from a template
text = text.args[1]
end
--Punctuation
text = gsub(text, "( +)", u(0xa0, 0xa0).."%1") -- 2 NBSP before spaces to widen them.
text = gsub(text, "<wbr/?>", " ") -- Insert spaces between words.
text = gsub(text, "([ှ])(ေ?ါ?ာ?)([်])(ေ?)",
function(H,b,A,a) return b..a..'h' end)
text = gsub(text, ".", pre)
text = gsub(text, "ဲါ", "ါဲ") -- fixed ay+aa to aa+ay; it often occurs
for k, v in pairs(tt2) do
text = gsub(text, k, v)
end
text = gsub(text, ".", tt1)
text = gsub(text, "([aeiuoāīū])ʸ", "%1y")
text = gsub(text, "ᵃʸ", "oa")
text = gsub(text, "ᵃ([¡¤]+)", "")
text = gsub(text, "([aeiuoāīū])¤", "%1k")
text = gsub(text, "ᵃ([aeiuoāīū])", "%1")
text = gsub(text, "ᵃ", "a")
text = gsub(text, "iṁu", "iuṁ")
if lang == "blk" then --Pa'O
text = gsub(text, "ññ", "ñ")
end
return text
end
return export
dye2jbzpjw13nug31x94o2v57vpyj6s
ကဏ္ဍ:ပအိုဝ်ႏအာမေဍိတ်ဖုံႏ
14
4442
11875
10065
2025-06-23T11:25:58Z
咽頭べさ
11
[[ကဏ္ဍ:ပအိုဝ်ႏ အာမေဍိတ်]] စာမျက်နှာကို [[ကဏ္ဍ:ပအိုဝ်ႏအာမေဍိတ်ဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
10065
wikitext
text/x-wiki
[[ကဏ္ဍ:ပအိုဝ်ႏဘာႏသာႏငဝ်းငွါ]]
qe909oz500hnhscr35zyhd3gwlvd0rq
ကဏ္ဍ:နော်ဝွေးနာမဝိသေသနဖုံႏ
14
4445
11807
10075
2025-06-23T08:15:42Z
咽頭べさ
11
[[ကဏ္ဍ:နော်ဝွေး နာမဝိသေသန]] စာမျက်နှာကို [[ကဏ္ဍ:နော်ဝွေးနာမဝိသေသနဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
10075
wikitext
text/x-wiki
[[ကဏ္ဍ:နော်ဝွေးဘာႏသာႏငဝ်းငွါ]]
ichxhl57fwrjerkhcfj9vm931ow5nf2
ကျောက်
0
4628
11806
10510
2025-06-23T08:13:40Z
咽頭べさ
11
11806
wikitext
text/x-wiki
==မန်း==
===အငဝ်းထန်ႏ===
{{my-IPA}}
===နာမ်ႏ===
{{my-noun}}
* common noun
# [[လုံး]]
# [[လုံးတူႏ]]
====နပ်တွက်====
* လုံး
====အခရာႏပီ လိတ်ဖြုံႏကွာႏ====
* [[ကျောက်ခဲ]], ( n)
===ဘာႏသာႏလင်===
* အိန်းကလေတ် : [[rock]]; [[flint]].
----
===နာမ်ႏ===
{{my-noun}}
* common noun
* [[သဲင်ဟဝ်ရတနာႏ]]
====အခရာႏပီ လိတ်ဖြုံႏကွာႏ====
* [[ကျောက်မျက်]], အမျက်
====ဘာႏသာႏလင်====
* အိန်းကလေတ် : [[jewel]]; precious stone.
----
===နာမ်ႏ===
{{my-noun}}
* common noun
# [[ခြောက်]]
====ဘာသာႏလင်====
* အိန်းကလေတ် : [[gall-stone]]; [[kidney]] stone.
----
===နာမ်ႏ===
{{my-noun}}
* common noun
* ထာꩻဆာကရဒါႏထာꩻ ရောႏဂါႏတမျိုꩻ အမိဉ်ꩻ။
====အခရာႏပီ လိတ်ဖြုံႏကွာႏ====
* [[ကျောက်ရောဂါ]]
====ဘာႏသာႏလင်====
* အိန်းကလေတ် : [[contagious]] [[disease]], particularly [[smallpox]], [[chickenpox]].
0qklikm11mdbnat0vjqvtuxbzt74tpb
ကဏ္ဍ:နော်ဝွေးငဝ်းတဲႏဖုံႏ
14
4746
11809
10728
2025-06-23T08:18:55Z
咽頭べさ
11
[[ကဏ္ဍ:အဘိဓာန်ႏကို တပါသော့ꩻတဝ်းဒါႏ နော်ဝွေးဝေါဟာရဖုံႏ]] စာမျက်နှာကို [[ကဏ္ဍ:နော်ဝွေးငဝ်းတဲႏဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
10728
wikitext
text/x-wiki
[[ကဏ္ဍ:နော်ဝွေးဘာႏသာႏငဝ်းငွါ]]
ichxhl57fwrjerkhcfj9vm931ow5nf2
မော်ဂျူး:pages
828
4916
11726
11496
2025-06-23T05:28:28Z
咽頭べさ
11
11726
Scribunto
text/plain
local export = {}
local string_utilities_module = "Module:string utilities"
local concat = table.concat
local find = string.find
local format = string.format
local getmetatable = getmetatable
local get_current_section -- defined below
local get_namespace_shortcut -- defined below
local get_pagetype -- defined below
local gsub = string.gsub
local insert = table.insert
local is_internal_title -- defined below
local is_title -- defined below
local lower = string.lower
local match = string.match
local new_title = mw.title.new
local require = require
local sub = string.sub
local title_equals = mw.title.equals
local tonumber = tonumber
local type = type
local ufind = mw.ustring.find
local unstrip_nowiki = mw.text.unstripNoWiki
--[==[
Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==]
local function decode_entities(...)
decode_entities = require(string_utilities_module).decode_entities
return decode_entities(...)
end
local function ulower(...)
ulower = require(string_utilities_module).lower
return ulower(...)
end
local function trim(...)
trim = require(string_utilities_module).trim
return trim(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local current_frame
local function get_current_frame()
current_frame, get_current_frame = mw.getCurrentFrame(), nil
return current_frame
end
local parent_frame
local function get_parent_frame()
parent_frame, get_parent_frame = (current_frame or get_current_frame()):getParent(), nil
return parent_frame
end
local namespace_shortcuts
local function get_namespace_shortcuts()
namespace_shortcuts, get_namespace_shortcuts = {
[4] = "WT",
[10] = "T",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}, nil
return namespace_shortcuts
end
do
local transcluded
--[==[
Returns {true} if the current {{tl|#invoke:}} is being transcluded, or {false} if not. If the current {{tl|#invoke:}} is part of a template, for instance, this template will therefore return {true}.
Note that if a template containing an {{tl|#invoke:}} is used on its own page (e.g. to display a demonstration), this function is still able to detect that this is transclusion. This is an improvement over the other method for detecting transclusion, which is to check the parent frame title against the current page title, which fails to detect transclusion in that instance.]==]
function export.is_transcluded()
if transcluded == nil then
transcluded = (parent_frame or get_parent_frame()) and parent_frame:preprocess("<includeonly>1</includeonly>") == "1" or false
end
return transcluded
end
end
do
local preview
--[==[
Returns {true} if the page is currently being viewed in preview, or {false} if not.]==]
function export.is_preview()
if preview == nil then
preview = (current_frame or get_current_frame()):preprocess("{{REVISIONID}}") == ""
end
return preview
end
end
--[==[
Returns {true} if the input is a title object, or {false} if not. This therefore '''includes''' external title objects (i.e. those for pages on other wikis), such as [[w:Example]], unlike `is_internal_title` below.]==]
function export.is_title(val)
if not (val and type(val) == "table") then
return false
end
local mt = getmetatable(val)
-- There's no foolproof method for checking for a title object, but the
-- __eq metamethod should be mw.title.equals unless the object has been
-- seriously messed around with.
return mt and
type(mt) == "table" and
getmetatable(mt) == nil and
mt.__eq == title_equals and
true or false
end
is_title = export.is_title
--[==[
Returns {true} if the input is an internal title object, or {false} if not. An internal title object is a title object for a page on this wiki, such as [[example]]. This therefore '''excludes''' external title objects (i.e. those for pages on other wikis), such as [[w:Example]], unlike `is_title` above.]==]
function export.is_internal_title(title)
-- Note: Mainspace titles starting with "#" should be invalid, but a bug in mw.title.new and mw.title.makeTitle means a title object is returned that has the empty string for prefixedText, so they need to be filtered out.
return is_title(title) and #title.prefixedText > 0 and #title.interwiki == 0
end
is_internal_title = export.is_internal_title
--[==[
Returns {true} if the input string is a valid link target, or {false} if not. This therefore '''includes''' link targets to other wikis, such as [[w:Example]], unlike `is_valid_page_name` below.]==]
function export.is_valid_link_target(target)
local target_type = type(target)
if target_type == "string" then
return is_title(new_title(target))
end
error(format("bad argument #1 to 'is_valid_link_target' (string expected, got %s)", target_type), 2)
end
--[==[
Returns {true} if the input string is a valid page name on this wiki, or {false} if not. This therefore '''excludes''' page names on other wikis, such as [[w:Example]], unlike `is_valid_link_target` above.]==]
function export.is_valid_page_name(name)
local name_type = type(name)
if name_type == "string" then
return is_internal_title(new_title(name))
end
error(format("bad argument #1 to 'is_valid_page_name' (string expected, got %s)", name_type), 2)
end
--[==[
Given a title object, returns a full link target which will always unambiguously link to it.
For instance, the input {"foo"} (for the page [[foo]]) returns {":foo"}, as a leading colon always refers to mainspace, even when other namespaces might be assumed (e.g. when transcluding using `{{ }}` syntax).
If `shortcut` is set, then the returned target will use the namespace shortcut, if any; for example, the title for `Template:foo` would return {"T:foo"} instead of {"Template:foo"}.]==]
function export.get_link_target(title, shortcut)
if not is_title(title) then
error(format("bad argument #1 to 'is_valid_link_target' (title object expected, got %s)", type(title)))
elseif title.interwiki ~= "" then
return title.fullText
elseif shortcut then
local fragment = title.fragment
if fragment == "" then
return get_namespace_shortcut(title) .. ":" .. title.text
end
return get_namespace_shortcut(title) .. ":" .. title.text .. "#" .. fragment
elseif title.namespace == 0 then
return ":" .. title.fullText
end
return title.fullText
end
do
local function find_sandbox(text)
return find(text, "^User:.") or find(lower(text), "sandbox", 1, true)
end
local function get_transclusion_subtypes(title, main_type, documentation, page_suffix)
local text, subtypes = title.text, {main_type}
-- Any template/module with "sandbox" in the title. These are impossible
-- to screen for more accurately, as there's no consistent pattern. Also
-- any user sandboxes in the form (e.g.) "Template:User:...".
local sandbox = find_sandbox(text)
if sandbox then
insert(subtypes, "sandbox")
end
-- Any template/module testcases (which can be labelled and/or followed
-- by further subpages).
local testcase = find(text, "./[Tt]estcases?%f[%L]")
if testcase then
-- Order "testcase" and "sandbox" based on where the patterns occur
-- in the title.
local n = sandbox and sandbox < testcase and 3 or 2
insert(subtypes, n, "testcase")
end
-- Any template/module documentation pages.
if documentation then
insert(subtypes, "documentation")
end
local final = subtypes[#subtypes]
if not (final == main_type and not page_suffix or final == "sandbox") then
insert(subtypes, "page")
end
return concat(subtypes, " ")
end
local function get_snippet_subtypes(title, main_type, documentation)
local ns = title.namespace
return get_transclusion_subtypes(title, (
ns == 2 and "user " or
ns == 8 and match(title.text, "^Gadget-.") and "gadget " or
""
) .. main_type, documentation)
end
--[==[
Returns the page type of the input title object in a format which can be used in running text.]==]
function export.get_pagetype(title)
if not is_internal_title(title) then
error(mw.dumpObject(title.fullText) .. " is not a valid page name.")
end
-- If possibly a documentation page, get the base title and set the
-- `documentation` flag.
local content_model, text, documentation = title.contentModel
if content_model == "wikitext" then
text = title.text
if title.isSubpage and title.subpageText == "documentation" then
local base_title = title.basePageTitle
if base_title then
title, content_model, text, documentation = base_title, base_title.contentModel, base_title.text, true
end
end
end
-- Content models have overriding priority, as they can appear in
-- nonstandard places due to page content model changes.
if content_model == "css" or content_model == "sanitized-css" then
return get_snippet_subtypes(title, "stylesheet", documentation)
elseif content_model == "javascript" then
return get_snippet_subtypes(title, "script", documentation)
elseif content_model == "json" then
return get_snippet_subtypes(title, "JSON data", documentation)
elseif content_model == "MassMessageListContent" then
return get_snippet_subtypes(title, "mass message delivery list", documentation)
-- Modules.
elseif content_model == "Scribunto" then
return get_transclusion_subtypes(title, "မော်ဂျူး", documentation, false)
elseif content_model == "text" then
return "page" -- ???
-- Otherwise, the content model is "wikitext", so check namespaces.
elseif title.isTalkPage then
return "talk page"
end
local ns = title.namespace
-- Main namespace.
if ns == 0 then
return "entry"
-- Wiktionary:
elseif ns == 4 then
return find_sandbox(title.text) and "sandbox" or "project page"
-- Template:
elseif ns == 10 then
return get_transclusion_subtypes(title, "တမ်းပလေက်", documentation, false)
end
-- Convert the namespace to lowercase, unless it contains a capital
-- letter after the initial letter (e.g. MediaWiki, TimedText). Also
-- normalize any underscores.
local ns_text = gsub(title.nsText, "_", " ")
if ufind(ns_text, "^%U*$", 2) then
ns_text = ulower(ns_text)
end
-- User:
if ns == 2 then
return ns_text .. " " .. (title.isSubpage and "subpage" or "page")
-- Category: and Appendix:
elseif ns == 14 or ns == 100 then
return ns_text
-- Thesaurus: and Reconstruction:
elseif ns == 110 or ns == 118 then
return ns_text .. " entry"
end
return ns_text .. " page"
end
get_pagetype = export.get_pagetype
end
--[==[
Returns {true} if the input title object is for a content page, or {false} if not. A content page is a page that is considered part of the dictionary itself, and excludes pages for discussion, administration, maintenance etc.]==]
function export.is_content_page(title)
if not is_internal_title(title) then
error(mw.dumpObject(title.fullText) .. " is not a valid page name.")
end
local ns = title.namespace
-- (main), Appendix, Thesaurus, Citations, Reconstruction.
return (ns == 0 or ns == 100 or ns == 110 or ns == 114 or ns == 118) and
title.contentModel == "wikitext"
end
--[==[
Returns {true} if the input title object is for a documentation page, or {false} if not.]==]
function export.is_documentation(title)
return match(get_pagetype(title), "%f[%w]documentation%f[%W]") and true or false
end
--[==[
Returns {true} if the input title object is for a sandbox, or {false} if not.
By default, sandbox documentation pages are excluded, but this can be overridden with the `include_documentation` parameter.]==]
function export.is_sandbox(title, include_documentation)
local pagetype = get_pagetype(title)
return match(pagetype, "%f[%w]sandbox%f[%W]") and (
include_documentation or
not match(pagetype, "%f[%w]documentation%f[%W]")
) and true or false
end
--[==[
Returns {true} if the input title object is for a testcase page, or {false} if not.
By default, testcase documentation pages are excluded, but this can be overridden with the `include_documentation` parameter.]==]
function export.is_testcase_page(title, include_documentation)
local pagetype = get_pagetype(title)
return match(pagetype, "%f[%w]testcase%f[%W]") and (
include_documentation or
not match(pagetype, "%f[%w]documentation%f[%W]")
) and true or false
end
--[==[
Returns the namespace shortcut for the input title object, or else the namespace text. For example, a `Template:` title returns {"T"}, a `Module:` title returns {"MOD"}, and a `User:` title returns {"User"}.]==]
function export.get_namespace_shortcut(title)
return (namespace_shortcuts or get_namespace_shortcuts())[title.namespace] or title.nsText
end
get_namespace_shortcut = export.get_namespace_shortcut
do
local function check_level(lvl)
if type(lvl) ~= "number" then
error("Heading levels must be numbers.")
elseif lvl < 1 or lvl > 6 or lvl % 1 ~= 0 then
error("Heading levels must be integers between 1 and 6.")
end
return lvl
end
--[==[
A helper function which iterates over the headings in `text`, which should be the content of a page or (main) section.
Each iteration returns three values: `sec` (the section title), `lvl` (the section level) and `loc` (the index of the section in the given text, from the first equals sign). The section title will be automatically trimmed, and any HTML entities will be resolved.
The optional parameter `a` (which should be an integer between 1 and 6) can be used to ensure that only headings of the specified level are iterated over. If `b` is also given, then they are treated as a range.
The optional parameters `a` and `b` can be used to specify a range, so that only headings with levels in that range are returned.]==]
local function find_headings(text, a, b)
a = a and check_level(a) or nil
b = b and check_level(b) or a or nil
local start, loc, lvl, sec = 1
return function()
repeat
loc, lvl, sec, start = match(text, "()%f[^%z\n](==?=?=?=?=?)([^\n]+)%2[\t ]*%f[%z\n]()", start)
lvl = lvl and #lvl
until not (sec and a) or (lvl >= a and lvl <= b)
return sec and trim(decode_entities(sec)) or nil, lvl, loc
end
end
local function _get_section(content, name, level)
if not (content and name) then
return nil
elseif find(name, "\n", 1, true) then
error("Heading name cannot contain a newline.")
end
level = level and check_level(level) or nil
name = trim(decode_entities(name))
local start
for sec, lvl, loc in find_headings(content, level and 1 or nil, level) do
if start and lvl <= level then
return sub(content, start, loc - 1)
elseif not start and (not level or lvl == level) and sec == name then
start, level = loc, lvl
end
end
return start and sub(content, start)
end
--[==[
A helper function to return the content of a page section.
`content` is raw wikitext, `name` is the requested section, and `level` is an optional parameter that specifies
the required section heading level. If `level` is not supplied, then the first section called `name` is returned.
`name` can either be a string or table of section names. If a table, each name represents a section that has the
next as a subsection. For example, { {"Spanish", "Noun"}} will return the first matching section called "Noun"
under a section called "Spanish". These do not have to be at adjacent levels ("Noun" might be L4, while "Spanish"
is L2). If `level` is given, it refers to the last name in the table (i.e. the name of the section to be returned).
The returned section includes all of its subsections. If no matching section is found, return {nil}.]==]
function export.get_section(content, names, level)
if type(names) ~= "table" then
return _get_section(content, names, level)
end
local i = 1
local name = names[i]
if not name then
error("Must specify at least 1 section.")
end
while true do
local nxt_i = i + 1
local nxt = names[nxt_i]
if nxt == nil then
return _get_section(content, name, level)
end
content = _get_section(content, name)
if content == nil then
return nil
elseif i == 6 then
error("Not possible specify more than 6 sections: headings only go up to level 6.")
end
i = nxt_i
name = names[i]
end
return content
end
end
do
local current_section
--[==[
A function which returns the number of the page section which contains the current {#invoke}.]==]
function export.get_current_section()
if current_section ~= nil then
return current_section
end
local extension_tag = (current_frame or get_current_frame()).extensionTag
-- We determine the section via the heading strip marker count, since they're numbered sequentially, but the only way to do this is to generate a fake heading via frame:preprocess(). The native parser assigns each heading a unique marker, but frame:preprocess() will return copies of older markers if the heading is identical to one further up the page, so the fake heading has to be unique to the page. The best way to do this is to feed it a heading containing a nowiki marker (which we will need later), since those are always unique.
local nowiki_marker = extension_tag(current_frame, "nowiki")
-- Note: heading strip markers have a different syntax to the ones used for tags.
local h = tonumber(match(
current_frame:preprocess("=" .. nowiki_marker .. "="),
"\127'\"`UNIQ%-%-h%-(%d+)%-%-QINU`\"'\127"
))
-- For some reason, [[Special:ExpandTemplates]] doesn't generate a heading strip marker, so if that happens we simply abort early.
if not h then
return 0
end
-- The only way to get the section number is to increment the heading count, so we store the offset in nowiki strip markers which can be retrieved by procedurally unstripping nowiki markers, counting backwards until we find a match.
local n, offset = tonumber(match(
nowiki_marker,
"\127'\"`UNIQ%-%-nowiki%-([%dA-F]+)%-QINU`\"'\127"
), 16)
while not offset and n > 0 do
n = n - 1
offset = match(
unstrip_nowiki(format("\127'\"`UNIQ--nowiki-%08X-QINU`\"'\127", n)),
"^HEADING\1(%d+)" -- Prefix "HEADING\1" prevents collisions.
)
end
offset = offset and (offset + 1) or 0
extension_tag(current_frame, "nowiki", "HEADING\1" .. offset)
current_section = h - offset
return current_section
end
get_current_section = export.get_current_section
end
do
local L2_sections
local function get_L2_sections()
L2_sections, get_L2_sections = mw.loadData("Module:headword/data").page.L2_sections, nil
return L2_sections
end
--[==[
A function which returns the name of the L2 language section which contains the current {#invoke}.]==]
function export.get_current_L2()
local section = get_current_section()
if section == 0 then
return
end
while section > 0 do
local L2 = (L2_sections or get_L2_sections())[section]
if L2 then
return L2
end
section = section - 1
end
end
end
return export
ba2b5r74vy8aw40acfnhelgnwndrdc4
ကဏ္ဍ:ပအိုဝ်ႏငဝ်းစုဗူႏဖုံႏ
14
5077
11869
11432
2025-06-23T11:21:37Z
咽頭べさ
11
[[ကဏ္ဍ:ပအိုဝ်ႏ ငဝ်းစုဗူႏဖုံႏ]] စာမျက်နှာကို [[ကဏ္ဍ:ပအိုဝ်ႏငဝ်းစုဗူႏဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
11432
wikitext
text/x-wiki
[[ကဏ္ဍ:ပအိုဝ်ႏဘာႏသာႏငဝ်းငွါ]]
qe909oz500hnhscr35zyhd3gwlvd0rq
ခွေရက်ငါႏနာꩻ
0
5078
11854
11404
2025-06-23T11:15:47Z
咽頭べさ
11
11854
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ငဝ်းစုဗူႏ===
{{head|blk|phrase}}
#ခွေယိုနဝ်ꩻ ရက်မွေးလဲဉ်းနာꩻ။
====ချာႏဘာႏသာႏ====
*အိန်းကလေတ်: I love you.
dtbx9zikd81pjiou6c067mv8mq14x88
ခွေတသေနာႏတဝ်း
0
5084
11853
11402
2025-06-23T11:15:20Z
咽頭べさ
11
11853
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ငဝ်းစုဗူႏ===
{{head|blk|phrase}}
#နာꩻဒေါ့ꩻတမုဲင်ꩻ ခွေတသေနာႏတဝ်း။
#ခွေတသေနာႏတဝ်း အကျောင်ꩻခရာႏဖုံႏ။
====ပြန်ႏဘာႏသာႏ====
*မန်း : ငါနားမလည်ဘူး ။
*အိန်းကလေတ် : I don’t understand.
l0lskwffyy788umkw4xfi8etbazwepr
နာꩻမဉ်ꩻတမုဲင်ꩻ
0
5085
11859
11403
2025-06-23T11:17:37Z
咽頭べさ
11
11859
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ငဝ်းစုဗူႏ===
{{head|blk|phrase}}
#သွꩻပေႏ မဉ်ꩻနုဲင်းမုဲင်ꩻ။
#ခွေမဲဉ်သေငါႏ '''နာꩻမဉ်ꩻတမုဲင်ꩻ'''။
#နာꩻဝေးမူႏ မဉ်ꩻတမုဲင်ꩻ။
====ပြန်ႏဘာႏသာႏ====
*မန်း : နာမည်ဘယ်လိုခေါ်လဲ ။
*အိန်းကလေတ် : What’s your name?.
5inz2kpgqe31bsn1j6wqn9k7t9y6rut
ခွေတသေတဝ်း
0
5086
11852
11405
2025-06-23T11:14:20Z
咽頭べさ
11
11852
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ငဝ်းစုဗူႏ===
{{head|blk|phrase}}
#နာꩻအီႏမာꩻတမုဲင်ꩻ ခွေတသေတဝ်း။
#အီႏတွိုႏလွေꩻမုဲင်ꩻခါ ခွေတသေတဝ်း။
====ပြန်ႏဘာႏသာႏ====
*မန်း : ငါမသိဘူး ။
*အိန်းကလေတ် : I don’t know.
sh3mwzfv9fg9ef08cxnlturhpxhairq
အံႏထွူလဲဉ်းဒဲဉ်နဲ့
0
5087
11867
11406
2025-06-23T11:20:39Z
咽頭べさ
11
11867
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ငဝ်းစုဗူႏ===
{{head|blk|phrase}}
#နာꩻအံႏထွူလဲဉ်းဒဲဉ်နဲ့? ။
====ပြန်ႏဘာႏသာႏ====
*မန်း : ထမင်းစားပြီးပြီလား ။
bcq4dhb24jj4ycp85l847gmmo9y0lvi
အဝ်ႏမာꩻတမုဲင်ꩻ
0
5088
11865
11407
2025-06-23T11:20:04Z
咽頭べさ
11
11865
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ငဝ်းစုဗူႏ===
{{head|blk|phrase}}
#ယိုခါ နာꩻအဝ်ႏမာꩻတမုဲင်ꩻဟောင်း? ။
====ပြန်ႏဘာႏသာႏ====
*မန်း : ဘာလုပ်နေလဲ ။
7b9dwx33znjb5b7jbi6p5heeeipodjn
ယူႏလꩻငါႏနာꩻ
0
5089
11862
11408
2025-06-23T11:18:58Z
咽頭べさ
11
11862
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ငဝ်းစုဗူႏ===
{{head|blk|phrase}}
#အုံထာꩻကျာꩻယို ယူႏလꩻငါႏနာꩻ ။
#ဖညာꩻဗာႏဝင်ꩻညငါႏလဲဉ်းသွူ ခွေယူႏလꩻငါႏနာꩻ။
====ပြန်ႏဘာႏသာႏ====
*မန်း : မင်းကိုလွမ်းတယ်။
sbt5xqzz0rrzzkyvv8wiocd1cdptzdn
အုံဟဝ်နေဟောင်း
0
5090
11868
11409
2025-06-23T11:20:58Z
咽頭べさ
11
11868
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ငဝ်းစုဗူႏ===
{{head|blk|phrase}}
#မော့ꩻခွဲးဗာႏဝင်ꩻသꩻရေꩻငါႏ နာꩻအုံဟဝ်နေဟောင်း? ။
====ပြန်ႏဘာႏသာႏ====
*မန်း : နေကောင်းရဲ့လား ။
8lpmx03cnvoet95woi06n5n72lxit84
သေနာႏလဲဉ်းနဲ့
0
5091
11863
11412
2025-06-23T11:19:17Z
咽頭べさ
11
11863
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ငဝ်းစုဗူႏ===
{{head|blk|phrase}}
# နာꩻသေနာႏလဲဉ်းနဲ့?
qlhgab35r0tyeotb8ofuagbbze0j7y0
အဝ်ႏလိုႏဖြေꩻစာတဝ်း
0
5097
11866
11425
2025-06-23T11:20:22Z
咽頭べさ
11
11866
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ငဝ်းစုဗူႏ===
{{head|blk|phrase}}
# ထာꩻတဟဝ်တဝ်းဖုံႏယို နီသွဉ်းသီး အဝ်ႏလိုႏဖြေꩻစာတဝ်း။
4jfmxehas6nbgm69mopjegm272edk7d
ထွားနုဲင်းမွိုန်းလိုꩻတွူဟုဲင်း
0
5098
11857
11426
2025-06-23T11:16:42Z
咽頭べさ
11
11857
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ငဝ်းစုဗူႏ===
{{head|blk|phrase}}
# ထွားနုဲင်းမွိုန်း လိုꩻတွူ လိုꩻနုတ်ꩻဟုဲင်း။
nhlbedobdzrqcuwofa0ogwnewyi43mu
နမ်းတာႏအကျိုꩻလွုမ်ꩻ
0
5099
11858
11427
2025-06-23T11:17:10Z
咽頭べさ
11
11858
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ငဝ်းစုဗူႏ===
{{head|blk|phrase}}
# အွဉ်ႏရေꩻဗော့ꩻ နမ်းတာႏအကျိုꩻလွုမ်ꩻ။
qc473yiq4duhvodp6q7t06o7zqxak2n
တဖြာꩻတထွောင်း
0
5100
11856
11428
2025-06-23T11:16:21Z
咽頭べさ
11
11856
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ငဝ်းစုဗူႏ===
{{head|blk|phrase}}
# အုံညာꩻ ဖညာꩻဝင်ꩻ တဖြာꩻတထွောင်းခေါ်သွူ။
qqvj4xue6y0m3ssgefkj2qgeu01e4pp
နီဝင်ꩻနီထာꩻရက်
0
5101
11860
11429
2025-06-23T11:18:01Z
咽頭べさ
11
11860
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ငဝ်းစုဗူႏ===
{{head|blk|phrase}}
# အပျောႏသွတ်ꩻမွူးနီꩻ ကထွာဒါႏ နီဝင်ꩻနီထာꩻရက်။
d6m52p2s6wm1tqjbo83m6p8fmp2ailn
ခွေသွဉ်း ကတဲမ်းထန်ႏဗာႏ
0
5102
11855
11430
2025-06-23T11:16:03Z
咽頭べさ
11
11855
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ငဝ်းစုဗူႏ===
{{head|blk|phrase}}
# ခွေသွဉ်း ကတဲမ်းထန်ႏဗာႏ လိတ်ဖုံႏယိုနဝ်ꩻ။
h0n1qc2dx8z1nca82oi90gvnoet44e3
ကတဲမ်းထန်ႏဗာႏ
0
5103
11845
11431
2025-06-23T10:45:24Z
咽頭べさ
11
11845
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ငဝ်းစုဗူႏ===
{{head|blk|phrase}}
# ကတဲမ်းထန်ႏဗာႏ လိတ်စောင်ႏ၊ လိတ်ဖွူꩻ အကျောင်ꩻခရာႏဖုံႏယိုနဝ်ꩻ။
d89kg15t1thfy3pub2vlvgopj1ubw1b
အဝ်ႏကုဲင်တလွိုးဒျာႏထာꩻ
0
5104
11864
11433
2025-06-23T11:19:47Z
咽頭べさ
11
11864
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ငဝ်းစုဗူႏ===
{{head|blk|phrase}}
# ဝင်ꩻနဝ်ꩻ ထန်ႏညာꩻလို့လဲဉ်း အဝ်ႏကုဲင်သား တလွိုးငါႏ။
4ylw1egct4rw4sldlebiyp6z9l8hawy
ခွေ တတွိုႏဖိုတဝ်း ခင်ႏလမ်းယိုကို
0
5105
11847
11434
2025-06-23T10:51:19Z
咽頭べさ
11
11847
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ငဝ်းစုဗူႏ===
{{head|blk|phrase}}
====ပြန်ႏဘာႏသာႏ====
*မန်း : ဒီနေရာကို ငါမရောက်ဖူးဘူး။
*အိန်းကလေတ် : I've never been to this place.
jrpyy7skt2ioc5aluml76r74t150xgj
11849
11847
2025-06-23T11:08:20Z
咽頭べさ
11
11849
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ငဝ်းစုဗူႏ===
{{head|blk|ငဝ်းစုဗူႏ}}
====ပြန်ႏဘာႏသာႏ====
*မန်း : ဒီနေရာကို ငါမရောက်ဖူးဘူး။
*အိန်းကလေတ် : I've never been to this place.
p57ugp6ijf3u5egxkefpvovrpv0cpri
မာꩻဗာႏ နုဲင်းမုဲင်ꩻ ဟောင်း
0
5106
11861
11435
2025-06-23T11:18:21Z
咽頭べさ
11
11861
wikitext
text/x-wiki
==ပအိုဝ်ႏ==
===ငဝ်းစုဗူႏ===
{{head|blk|phrase}}
*
====ပြန်ႏဘာႏသာႏ====
*မန်း : ဘယ်လိုလုပ်ရမလဲ?
*အိန်းကလေတ် : How should I do it?
8t0fql4zufpdzimlm7nxoczhprcj463
မော်ဂျူး:headword/page
828
5130
11728
11662
2025-06-23T05:36:30Z
咽頭べさ
11
11728
Scribunto
text/plain
local export = {}
local languages_module = "Module:languages"
local maintenance_category_module = "Module:maintenance category"
local string_compare_module = "Module:string/compare"
local string_decode_entities_module = "Module:string/decodeEntities"
local string_remove_comments_module = "Module:string/removeComments"
local string_utilities_module = "Module:string utilities"
local table_module = "Module:table"
local template_parser_module = "Module:template parser"
local mw = mw
local string = string
local table = table
local ustring = mw.ustring
local concat = table.concat
local find = string.find
local format = string.format
local gsub = string.gsub
local insert = table.insert
local load_data = mw.loadData
local match = string.match
local new_title = mw.title.new
local pairs = pairs
local require = require
local sub = string.sub
local toNFC = ustring.toNFC
local toNFD = ustring.toNFD
local ugsub = ustring.gsub
local function class_else_type(...)
class_else_type = require(template_parser_module).class_else_type
return class_else_type(...)
end
local function decode_entities(...)
decode_entities = require(string_decode_entities_module)
return decode_entities(...)
end
local function encode_entities(...)
encode_entities = require(string_utilities_module).encode_entities
return encode_entities(...)
end
local function get_category(...)
get_category = require(maintenance_category_module).get_category
return get_category(...)
end
local function get_lang(...)
get_lang = require(languages_module).getByCode
return get_lang(...)
end
local function list_to_set(...)
list_to_set = require(table_module).listToSet
return list_to_set(...)
end
local function parse(...)
parse = require(template_parser_module).parse
return parse(...)
end
local function remove_comments(...)
remove_comments = require(string_remove_comments_module)
return remove_comments(...)
end
local function split(...)
split = require(string_utilities_module).split
return split(...)
end
local function string_compare(...)
string_compare = require(string_compare_module)
return string_compare(...)
end
local function uupper(...)
uupper = require(string_utilities_module).upper
return uupper(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local langnames
local function get_langnames()
langnames, get_langnames = load_data("Module:languages/canonical names"), nil
return langnames
end
-- Combining character data used when categorising unusual characters. These resolve into two patterns, used to find
-- single combining characters (i.e. character + diacritic(s)) or double combining characters (i.e. character +
-- diacritic(s) + character).
-- Charsets are in the format used by Unicode's UnicodeSet tool: https://util.unicode.org/UnicodeJsps/list-unicodeset.jsp.
-- Single combining characters.
-- Charset: [[:M:]&[:^Canonical_Combining_Class=/^Double_/:]&[:^subhead=Grapheme joiner:]&[:^Variation_Selector=Yes:]]
-- Note: concatenating hundreds of lines at once gives an error, so () are used every 150 lines to break it up into chunks.
local comb_chars_single =
("\204\128-\205\142" .. -- U+0300-U+034E
"\205\144-\205\155" .. -- U+0350-U+035B
"\205\163-\205\175" .. -- U+0363-U+036F
"\210\131-\210\137" .. -- U+0483-U+0489
"\214\145-\214\189" .. -- U+0591-U+05BD
"\214\191" .. -- U+05BF
"\215\129" .. -- U+05C1
"\215\130" .. -- U+05C2
"\215\132" .. -- U+05C4
"\215\133" .. -- U+05C5
"\215\135" .. -- U+05C7
"\216\144-\216\154" .. -- U+0610-U+061A
"\217\139-\217\159" .. -- U+064B-U+065F
"\217\176" .. -- U+0670
"\219\150-\219\156" .. -- U+06D6-U+06DC
"\219\159-\219\164" .. -- U+06DF-U+06E4
"\219\167" .. -- U+06E7
"\219\168" .. -- U+06E8
"\219\170-\219\173" .. -- U+06EA-U+06ED
"\220\145" .. -- U+0711
"\220\176-\221\138" .. -- U+0730-U+074A
"\222\166-\222\176" .. -- U+07A6-U+07B0
"\223\171-\223\179" .. -- U+07EB-U+07F3
"\223\189" .. -- U+07FD
"\224\160\150-\224\160\153" .. -- U+0816-U+0819
"\224\160\155-\224\160\163" .. -- U+081B-U+0823
"\224\160\165-\224\160\167" .. -- U+0825-U+0827
"\224\160\169-\224\160\173" .. -- U+0829-U+082D
"\224\161\153-\224\161\155" .. -- U+0859-U+085B
"\224\162\151-\224\162\159" .. -- U+0897-U+089F
"\224\163\138-\224\163\161" .. -- U+08CA-U+08E1
"\224\163\163-\224\164\131" .. -- U+08E3-U+0903
"\224\164\186-\224\164\188" .. -- U+093A-U+093C
"\224\164\190-\224\165\143" .. -- U+093E-U+094F
"\224\165\145-\224\165\151" .. -- U+0951-U+0957
"\224\165\162" .. -- U+0962
"\224\165\163" .. -- U+0963
"\224\166\129-\224\166\131" .. -- U+0981-U+0983
"\224\166\188" .. -- U+09BC
"\224\166\190-\224\167\132" .. -- U+09BE-U+09C4
"\224\167\135" .. -- U+09C7
"\224\167\136" .. -- U+09C8
"\224\167\139-\224\167\141" .. -- U+09CB-U+09CD
"\224\167\151" .. -- U+09D7
"\224\167\162" .. -- U+09E2
"\224\167\163" .. -- U+09E3
"\224\167\190" .. -- U+09FE
"\224\168\129-\224\168\131" .. -- U+0A01-U+0A03
"\224\168\188" .. -- U+0A3C
"\224\168\190-\224\169\130" .. -- U+0A3E-U+0A42
"\224\169\135" .. -- U+0A47
"\224\169\136" .. -- U+0A48
"\224\169\139-\224\169\141" .. -- U+0A4B-U+0A4D
"\224\169\145" .. -- U+0A51
"\224\169\176" .. -- U+0A70
"\224\169\177" .. -- U+0A71
"\224\169\181" .. -- U+0A75
"\224\170\129-\224\170\131" .. -- U+0A81-U+0A83
"\224\170\188" .. -- U+0ABC
"\224\170\190-\224\171\133" .. -- U+0ABE-U+0AC5
"\224\171\135-\224\171\137" .. -- U+0AC7-U+0AC9
"\224\171\139-\224\171\141" .. -- U+0ACB-U+0ACD
"\224\171\162" .. -- U+0AE2
"\224\171\163" .. -- U+0AE3
"\224\171\186-\224\171\191" .. -- U+0AFA-U+0AFF
"\224\172\129-\224\172\131" .. -- U+0B01-U+0B03
"\224\172\188" .. -- U+0B3C
"\224\172\190-\224\173\132" .. -- U+0B3E-U+0B44
"\224\173\135" .. -- U+0B47
"\224\173\136" .. -- U+0B48
"\224\173\139-\224\173\141" .. -- U+0B4B-U+0B4D
"\224\173\149-\224\173\151" .. -- U+0B55-U+0B57
"\224\173\162" .. -- U+0B62
"\224\173\163" .. -- U+0B63
"\224\174\130" .. -- U+0B82
"\224\174\190-\224\175\130" .. -- U+0BBE-U+0BC2
"\224\175\134-\224\175\136" .. -- U+0BC6-U+0BC8
"\224\175\138-\224\175\141" .. -- U+0BCA-U+0BCD
"\224\175\151" .. -- U+0BD7
"\224\176\128-\224\176\132" .. -- U+0C00-U+0C04
"\224\176\188" .. -- U+0C3C
"\224\176\190-\224\177\132" .. -- U+0C3E-U+0C44
"\224\177\134-\224\177\136" .. -- U+0C46-U+0C48
"\224\177\138-\224\177\141" .. -- U+0C4A-U+0C4D
"\224\177\149" .. -- U+0C55
"\224\177\150" .. -- U+0C56
"\224\177\162" .. -- U+0C62
"\224\177\163" .. -- U+0C63
"\224\178\129-\224\178\131" .. -- U+0C81-U+0C83
"\224\178\188" .. -- U+0CBC
"\224\178\190-\224\179\132" .. -- U+0CBE-U+0CC4
"\224\179\134-\224\179\136" .. -- U+0CC6-U+0CC8
"\224\179\138-\224\179\141" .. -- U+0CCA-U+0CCD
"\224\179\149" .. -- U+0CD5
"\224\179\150" .. -- U+0CD6
"\224\179\162" .. -- U+0CE2
"\224\179\163" .. -- U+0CE3
"\224\179\179" .. -- U+0CF3
"\224\180\128-\224\180\131" .. -- U+0D00-U+0D03
"\224\180\187" .. -- U+0D3B
"\224\180\188" .. -- U+0D3C
"\224\180\190-\224\181\132" .. -- U+0D3E-U+0D44
"\224\181\134-\224\181\136" .. -- U+0D46-U+0D48
"\224\181\138-\224\181\141" .. -- U+0D4A-U+0D4D
"\224\181\151" .. -- U+0D57
"\224\181\162" .. -- U+0D62
"\224\181\163" .. -- U+0D63
"\224\182\129-\224\182\131" .. -- U+0D81-U+0D83
"\224\183\138" .. -- U+0DCA
"\224\183\143-\224\183\148" .. -- U+0DCF-U+0DD4
"\224\183\150" .. -- U+0DD6
"\224\183\152-\224\183\159" .. -- U+0DD8-U+0DDF
"\224\183\178" .. -- U+0DF2
"\224\183\179" .. -- U+0DF3
"\224\184\177" .. -- U+0E31
"\224\184\180-\224\184\186" .. -- U+0E34-U+0E3A
"\224\185\135-\224\185\142" .. -- U+0E47-U+0E4E
"\224\186\177" .. -- U+0EB1
"\224\186\180-\224\186\188" .. -- U+0EB4-U+0EBC
"\224\187\136-\224\187\142" .. -- U+0EC8-U+0ECE
"\224\188\152" .. -- U+0F18
"\224\188\153" .. -- U+0F19
"\224\188\181" .. -- U+0F35
"\224\188\183" .. -- U+0F37
"\224\188\185" .. -- U+0F39
"\224\188\190" .. -- U+0F3E
"\224\188\191" .. -- U+0F3F
"\224\189\177-\224\190\132" .. -- U+0F71-U+0F84
"\224\190\134" .. -- U+0F86
"\224\190\135" .. -- U+0F87
"\224\190\141-\224\190\151" .. -- U+0F8D-U+0F97
"\224\190\153-\224\190\188" .. -- U+0F99-U+0FBC
"\224\191\134" .. -- U+0FC6
"\225\128\171-\225\128\190" .. -- U+102B-U+103E
"\225\129\150-\225\129\153" .. -- U+1056-U+1059
"\225\129\158-\225\129\160" .. -- U+105E-U+1060
"\225\129\162-\225\129\164" .. -- U+1062-U+1064
"\225\129\167-\225\129\173" .. -- U+1067-U+106D
"\225\129\177-\225\129\180" .. -- U+1071-U+1074
"\225\130\130-\225\130\141" .. -- U+1082-U+108D
"\225\130\143" .. -- U+108F
"\225\130\154-\225\130\157" .. -- U+109A-U+109D
"\225\141\157-\225\141\159" .. -- U+135D-U+135F
"\225\156\146-\225\156\149" .. -- U+1712-U+1715
"\225\156\178-\225\156\180" .. -- U+1732-U+1734
"\225\157\146" .. -- U+1752
"\225\157\147" .. -- U+1753
"\225\157\178" .. -- U+1772
"\225\157\179" .. -- U+1773
"\225\158\180-\225\159\147") .. -- U+17B4-U+17D3
("\225\159\157" .. -- U+17DD
"\225\162\133" .. -- U+1885
"\225\162\134" .. -- U+1886
"\225\162\169" .. -- U+18A9
"\225\164\160-\225\164\171" .. -- U+1920-U+192B
"\225\164\176-\225\164\187" .. -- U+1930-U+193B
"\225\168\151-\225\168\155" .. -- U+1A17-U+1A1B
"\225\169\149-\225\169\158" .. -- U+1A55-U+1A5E
"\225\169\160-\225\169\188" .. -- U+1A60-U+1A7C
"\225\169\191" .. -- U+1A7F
"\225\170\176-\225\171\142" .. -- U+1AB0-U+1ACE
"\225\172\128-\225\172\132" .. -- U+1B00-U+1B04
"\225\172\180-\225\173\132" .. -- U+1B34-U+1B44
"\225\173\171-\225\173\179" .. -- U+1B6B-U+1B73
"\225\174\128-\225\174\130" .. -- U+1B80-U+1B82
"\225\174\161-\225\174\173" .. -- U+1BA1-U+1BAD
"\225\175\166-\225\175\179" .. -- U+1BE6-U+1BF3
"\225\176\164-\225\176\183" .. -- U+1C24-U+1C37
"\225\179\144-\225\179\146" .. -- U+1CD0-U+1CD2
"\225\179\148-\225\179\168" .. -- U+1CD4-U+1CE8
"\225\179\173" .. -- U+1CED
"\225\179\180" .. -- U+1CF4
"\225\179\183-\225\179\185" .. -- U+1CF7-U+1CF9
"\225\183\128-\225\183\140" .. -- U+1DC0-U+1DCC
"\225\183\142-\225\183\187" .. -- U+1DCE-U+1DFB
"\225\183\189-\225\183\191" .. -- U+1DFD-U+1DFF
"\226\131\144-\226\131\176" .. -- U+20D0-U+20F0
"\226\179\175-\226\179\177" .. -- U+2CEF-U+2CF1
"\226\181\191" .. -- U+2D7F
"\226\183\160-\226\183\191" .. -- U+2DE0-U+2DFF
"\227\128\170-\227\128\175" .. -- U+302A-U+302F
"\227\130\153" .. -- U+3099
"\227\130\154" .. -- U+309A
"\234\153\175-\234\153\178" .. -- U+A66F-U+A672
"\234\153\180-\234\153\189" .. -- U+A674-U+A67D
"\234\154\158" .. -- U+A69E
"\234\154\159" .. -- U+A69F
"\234\155\176" .. -- U+A6F0
"\234\155\177" .. -- U+A6F1
"\234\160\130" .. -- U+A802
"\234\160\134" .. -- U+A806
"\234\160\139" .. -- U+A80B
"\234\160\163-\234\160\167" .. -- U+A823-U+A827
"\234\160\172" .. -- U+A82C
"\234\162\128" .. -- U+A880
"\234\162\129" .. -- U+A881
"\234\162\180-\234\163\133" .. -- U+A8B4-U+A8C5
"\234\163\160-\234\163\177" .. -- U+A8E0-U+A8F1
"\234\163\191" .. -- U+A8FF
"\234\164\166-\234\164\173" .. -- U+A926-U+A92D
"\234\165\135-\234\165\147" .. -- U+A947-U+A953
"\234\166\128-\234\166\131" .. -- U+A980-U+A983
"\234\166\179-\234\167\128" .. -- U+A9B3-U+A9C0
"\234\167\165" .. -- U+A9E5
"\234\168\169-\234\168\182" .. -- U+AA29-U+AA36
"\234\169\131" .. -- U+AA43
"\234\169\140" .. -- U+AA4C
"\234\169\141" .. -- U+AA4D
"\234\169\187-\234\169\189" .. -- U+AA7B-U+AA7D
"\234\170\176" .. -- U+AAB0
"\234\170\178-\234\170\180" .. -- U+AAB2-U+AAB4
"\234\170\183" .. -- U+AAB7
"\234\170\184" .. -- U+AAB8
"\234\170\190" .. -- U+AABE
"\234\170\191" .. -- U+AABF
"\234\171\129" .. -- U+AAC1
"\234\171\171-\234\171\175" .. -- U+AAEB-U+AAEF
"\234\171\181" .. -- U+AAF5
"\234\171\182" .. -- U+AAF6
"\234\175\163-\234\175\170" .. -- U+ABE3-U+ABEA
"\234\175\172" .. -- U+ABEC
"\234\175\173" .. -- U+ABED
"\239\172\158" .. -- U+FB1E
"\239\184\160-\239\184\175" .. -- U+FE20-U+FE2F
"\240\144\135\189" .. -- U+101FD
"\240\144\139\160" .. -- U+102E0
"\240\144\141\182-\240\144\141\186" .. -- U+10376-U+1037A
"\240\144\168\129-\240\144\168\131" .. -- U+10A01-U+10A03
"\240\144\168\133" .. -- U+10A05
"\240\144\168\134" .. -- U+10A06
"\240\144\168\140-\240\144\168\143" .. -- U+10A0C-U+10A0F
"\240\144\168\184-\240\144\168\186" .. -- U+10A38-U+10A3A
"\240\144\168\191" .. -- U+10A3F
"\240\144\171\165" .. -- U+10AE5
"\240\144\171\166" .. -- U+10AE6
"\240\144\180\164-\240\144\180\167" .. -- U+10D24-U+10D27
"\240\144\181\169-\240\144\181\173" .. -- U+10D69-U+10D6D
"\240\144\186\171" .. -- U+10EAB
"\240\144\186\172" .. -- U+10EAC
"\240\144\187\188-\240\144\187\191" .. -- U+10EFC-U+10EFF
"\240\144\189\134-\240\144\189\144" .. -- U+10F46-U+10F50
"\240\144\190\130-\240\144\190\133" .. -- U+10F82-U+10F85
"\240\145\128\128-\240\145\128\130" .. -- U+11000-U+11002
"\240\145\128\184-\240\145\129\134" .. -- U+11038-U+11046
"\240\145\129\176" .. -- U+11070
"\240\145\129\179" .. -- U+11073
"\240\145\129\180" .. -- U+11074
"\240\145\129\191-\240\145\130\130" .. -- U+1107F-U+11082
"\240\145\130\176-\240\145\130\186" .. -- U+110B0-U+110BA
"\240\145\131\130" .. -- U+110C2
"\240\145\132\128-\240\145\132\130" .. -- U+11100-U+11102
"\240\145\132\167-\240\145\132\180" .. -- U+11127-U+11134
"\240\145\133\133" .. -- U+11145
"\240\145\133\134" .. -- U+11146
"\240\145\133\179" .. -- U+11173
"\240\145\134\128-\240\145\134\130" .. -- U+11180-U+11182
"\240\145\134\179-\240\145\135\128" .. -- U+111B3-U+111C0
"\240\145\135\137-\240\145\135\140" .. -- U+111C9-U+111CC
"\240\145\135\142" .. -- U+111CE
"\240\145\135\143" .. -- U+111CF
"\240\145\136\172-\240\145\136\183" .. -- U+1122C-U+11237
"\240\145\136\190" .. -- U+1123E
"\240\145\137\129" .. -- U+11241
"\240\145\139\159-\240\145\139\170" .. -- U+112DF-U+112EA
"\240\145\140\128-\240\145\140\131" .. -- U+11300-U+11303
"\240\145\140\187" .. -- U+1133B
"\240\145\140\188" .. -- U+1133C
"\240\145\140\190-\240\145\141\132" .. -- U+1133E-U+11344
"\240\145\141\135" .. -- U+11347
"\240\145\141\136" .. -- U+11348
"\240\145\141\139-\240\145\141\141" .. -- U+1134B-U+1134D
"\240\145\141\151" .. -- U+11357
"\240\145\141\162" .. -- U+11362
"\240\145\141\163" .. -- U+11363
"\240\145\141\166-\240\145\141\172" .. -- U+11366-U+1136C
"\240\145\141\176-\240\145\141\180" .. -- U+11370-U+11374
"\240\145\142\184-\240\145\143\128" .. -- U+113B8-U+113C0
"\240\145\143\130" .. -- U+113C2
"\240\145\143\133" .. -- U+113C5
"\240\145\143\135-\240\145\143\138" .. -- U+113C7-U+113CA
"\240\145\143\140-\240\145\143\144" .. -- U+113CC-U+113D0
"\240\145\143\146" .. -- U+113D2
"\240\145\143\161" .. -- U+113E1
"\240\145\143\162" .. -- U+113E2
"\240\145\144\181-\240\145\145\134" .. -- U+11435-U+11446
"\240\145\145\158" .. -- U+1145E
"\240\145\146\176-\240\145\147\131" .. -- U+114B0-U+114C3
"\240\145\150\175-\240\145\150\181" .. -- U+115AF-U+115B5
"\240\145\150\184-\240\145\151\128" .. -- U+115B8-U+115C0
"\240\145\151\156" .. -- U+115DC
"\240\145\151\157" .. -- U+115DD
"\240\145\152\176-\240\145\153\128" .. -- U+11630-U+11640
"\240\145\154\171-\240\145\154\183" .. -- U+116AB-U+116B7
"\240\145\156\157-\240\145\156\171" .. -- U+1171D-U+1172B
"\240\145\160\172-\240\145\160\186" .. -- U+1182C-U+1183A
"\240\145\164\176-\240\145\164\181" .. -- U+11930-U+11935
"\240\145\164\183" .. -- U+11937
"\240\145\164\184" .. -- U+11938
"\240\145\164\187-\240\145\164\190" .. -- U+1193B-U+1193E
"\240\145\165\128") .. -- U+11940
("\240\145\165\130" .. -- U+11942
"\240\145\165\131" .. -- U+11943
"\240\145\167\145-\240\145\167\151" .. -- U+119D1-U+119D7
"\240\145\167\154-\240\145\167\160" .. -- U+119DA-U+119E0
"\240\145\167\164" .. -- U+119E4
"\240\145\168\129-\240\145\168\138" .. -- U+11A01-U+11A0A
"\240\145\168\179-\240\145\168\185" .. -- U+11A33-U+11A39
"\240\145\168\187-\240\145\168\190" .. -- U+11A3B-U+11A3E
"\240\145\169\135" .. -- U+11A47
"\240\145\169\145-\240\145\169\155" .. -- U+11A51-U+11A5B
"\240\145\170\138-\240\145\170\153" .. -- U+11A8A-U+11A99
"\240\145\176\175-\240\145\176\182" .. -- U+11C2F-U+11C36
"\240\145\176\184-\240\145\176\191" .. -- U+11C38-U+11C3F
"\240\145\178\146-\240\145\178\167" .. -- U+11C92-U+11CA7
"\240\145\178\169-\240\145\178\182" .. -- U+11CA9-U+11CB6
"\240\145\180\177-\240\145\180\182" .. -- U+11D31-U+11D36
"\240\145\180\186" .. -- U+11D3A
"\240\145\180\188" .. -- U+11D3C
"\240\145\180\189" .. -- U+11D3D
"\240\145\180\191-\240\145\181\133" .. -- U+11D3F-U+11D45
"\240\145\181\135" .. -- U+11D47
"\240\145\182\138-\240\145\182\142" .. -- U+11D8A-U+11D8E
"\240\145\182\144" .. -- U+11D90
"\240\145\182\145" .. -- U+11D91
"\240\145\182\147-\240\145\182\151" .. -- U+11D93-U+11D97
"\240\145\187\179-\240\145\187\182" .. -- U+11EF3-U+11EF6
"\240\145\188\128" .. -- U+11F00
"\240\145\188\129" .. -- U+11F01
"\240\145\188\131" .. -- U+11F03
"\240\145\188\180-\240\145\188\186" .. -- U+11F34-U+11F3A
"\240\145\188\190-\240\145\189\130" .. -- U+11F3E-U+11F42
"\240\145\189\154" .. -- U+11F5A
"\240\147\145\128" .. -- U+13440
"\240\147\145\135-\240\147\145\149" .. -- U+13447-U+13455
"\240\150\132\158-\240\150\132\175" .. -- U+1611E-U+1612F
"\240\150\171\176-\240\150\171\180" .. -- U+16AF0-U+16AF4
"\240\150\172\176-\240\150\172\182" .. -- U+16B30-U+16B36
"\240\150\189\143" .. -- U+16F4F
"\240\150\189\145-\240\150\190\135" .. -- U+16F51-U+16F87
"\240\150\190\143-\240\150\190\146" .. -- U+16F8F-U+16F92
"\240\150\191\164" .. -- U+16FE4
"\240\150\191\176" .. -- U+16FF0
"\240\150\191\177" .. -- U+16FF1
"\240\155\178\157" .. -- U+1BC9D
"\240\155\178\158" .. -- U+1BC9E
"\240\156\188\128-\240\156\188\173" .. -- U+1CF00-U+1CF2D
"\240\156\188\176-\240\156\189\134" .. -- U+1CF30-U+1CF46
"\240\157\133\165-\240\157\133\169" .. -- U+1D165-U+1D169
"\240\157\133\173-\240\157\133\178" .. -- U+1D16D-U+1D172
"\240\157\133\187-\240\157\134\130" .. -- U+1D17B-U+1D182
"\240\157\134\133-\240\157\134\139" .. -- U+1D185-U+1D18B
"\240\157\134\170-\240\157\134\173" .. -- U+1D1AA-U+1D1AD
"\240\157\137\130-\240\157\137\132" .. -- U+1D242-U+1D244
"\240\157\168\128-\240\157\168\182" .. -- U+1DA00-U+1DA36
"\240\157\168\187-\240\157\169\172" .. -- U+1DA3B-U+1DA6C
"\240\157\169\181" .. -- U+1DA75
"\240\157\170\132" .. -- U+1DA84
"\240\157\170\155-\240\157\170\159" .. -- U+1DA9B-U+1DA9F
"\240\157\170\161-\240\157\170\175" .. -- U+1DAA1-U+1DAAF
"\240\158\128\128-\240\158\128\134" .. -- U+1E000-U+1E006
"\240\158\128\136-\240\158\128\152" .. -- U+1E008-U+1E018
"\240\158\128\155-\240\158\128\161" .. -- U+1E01B-U+1E021
"\240\158\128\163" .. -- U+1E023
"\240\158\128\164" .. -- U+1E024
"\240\158\128\166-\240\158\128\170" .. -- U+1E026-U+1E02A
"\240\158\130\143" .. -- U+1E08F
"\240\158\132\176-\240\158\132\182" .. -- U+1E130-U+1E136
"\240\158\138\174" .. -- U+1E2AE
"\240\158\139\172-\240\158\139\175" .. -- U+1E2EC-U+1E2EF
"\240\158\147\172-\240\158\147\175" .. -- U+1E4EC-U+1E4EF
"\240\158\151\174" .. -- U+1E5EE
"\240\158\151\175" .. -- U+1E5EF
"\240\158\163\144-\240\158\163\150" .. -- U+1E8D0-U+1E8D6
"\240\158\165\132-\240\158\165\138") -- U+1E944-U+1E94A
-- Double combining characters.
-- Charset: [[:M:]&[:Canonical_Combining_Class=/^Double_/:]&[:^subhead=Grapheme joiner:]&[:^Variation_Selector=Yes:]]
local comb_chars_double =
"\205\156-\205\162" .. -- U+035C-U+0362
"\225\183\141" .. -- U+1DCD
"\225\183\188" -- U+1DFC
-- Variation selectors etc.; separated out so that we don't get categories for them.
-- Charset: [[:M:]&[[:subhead=Grapheme joiner:][:Variation_Selector=Yes:]]].
local comb_chars_other =
"\205\143" .. -- U+034F
"\225\160\139-\225\160\141" .. -- U+180B-U+180D
"\225\160\143" .. -- U+180F
"\239\184\128-\239\184\143" .. -- U+FE00-U+FE0F
"\243\160\132\128-\243\160\135\175" -- U+E0100-U+E01EF
local comb_chars_all = comb_chars_single .. comb_chars_double .. comb_chars_other
local comb_chars = {
combined_single = "[^" .. comb_chars_all .. "][" .. comb_chars_single .. comb_chars_other .. "]+%f[^" .. comb_chars_all .. "]",
combined_double = "[^" .. comb_chars_all .. "][" .. comb_chars_single .. comb_chars_other .. "]*[" .. comb_chars_double .. "]+[" .. comb_chars_all .. "]*.[" .. comb_chars_single .. comb_chars_other .. "]*",
diacritics_single = "[" .. comb_chars_single .. "]",
diacritics_double = "[" .. comb_chars_double .. "]",
diacritics_all = "[" .. comb_chars_all .. "]"
}
-- Somewhat curated list from https://unicode.org/Public/emoji/16.0/emoji-sequences.txt.
-- NOTE: There are lots more emoji sequences involving non-emoji Plane 0 symbols followed by 0xFE0F, which we don't
-- (yet?) handle.
local emoji_chars =
"\226\140\154" .. -- U+231A (⌚)
"\226\140\155" .. -- U+231B (⌛)
"\226\140\168" .. -- U+2328 (⌨)
"\226\143\143" .. -- U+23CF (⏏)
"\226\143\169-\226\143\179" .. -- U+23E9-U+23F3 (⏩-⏳)
"\226\143\184-\226\143\186" .. -- U+23F8-U+23FA (⏸-⏺)
"\226\150\170" .. -- U+25AA (▪)
"\226\150\171" .. -- U+25AB (▫)
"\226\150\182" .. -- U+25B6 (▶)
"\226\151\128" .. -- U+25C0 (◀)
"\226\151\187-\226\151\190" .. -- U+25FB-U+25FE (◻-◾)
"\226\152\128-\226\152\132" .. -- U+2600-U+2604 (☀-☄)
"\226\152\142" .. -- U+260E (☎)
"\226\152\145" .. -- U+2611 (☑)
"\226\152\148" .. -- U+2614 (☔)
"\226\152\149" .. -- U+2615 (☕)
"\226\152\152" .. -- U+2618 (☘)
"\226\152\157" .. -- U+261D (☝)
"\226\152\160" .. -- U+2620 (☠)
"\226\152\162" .. -- U+2622 (☢)
"\226\152\163" .. -- U+2623 (☣)
"\226\152\166" .. -- U+2626 (☦)
"\226\152\170" .. -- U+262A (☪)
"\226\152\174" .. -- U+262E (☮)
"\226\152\175" .. -- U+262F (☯)
"\226\152\184-\226\152\186" .. -- U+2638-U+263A (☸-☺)
"\226\153\136-\226\153\147" .. -- U+2648-U+2653 (♈-♓)
"\226\153\159" .. -- U+265F (♟)
"\226\153\160" .. -- U+2660 (♠)
"\226\153\163" .. -- U+2663 (♣)
"\226\153\165" .. -- U+2665 (♥)
"\226\153\166" .. -- U+2666 (♦)
"\226\153\168" .. -- U+2668 (♨)
"\226\153\187" .. -- U+267B (♻)
"\226\153\190" .. -- U+267E (♾)
"\226\153\191" .. -- U+267F (♿)
"\226\154\146-\226\154\151" .. -- U+2692-U+2697 (⚒-⚗)
"\226\154\153" .. -- U+2699 (⚙)
"\226\154\155" .. -- U+269B (⚛)
"\226\154\156" .. -- U+269C (⚜)
"\226\154\160" .. -- U+26A0 (⚠)
"\226\154\161" .. -- U+26A1 (⚡)
"\226\154\170" .. -- U+26AA (⚪)
"\226\154\171" .. -- U+26AB (⚫)
"\226\154\176" .. -- U+26B0 (⚰)
"\226\154\177" .. -- U+26B1 (⚱)
"\226\154\189" .. -- U+26BD (⚽)
"\226\154\190" .. -- U+26BE (⚾)
"\226\155\132" .. -- U+26C4 (⛄)
"\226\155\133" .. -- U+26C5 (⛅)
"\226\155\136" .. -- U+26C8 (⛈)
"\226\155\142" .. -- U+26CE (⛎)
"\226\155\143" .. -- U+26CF (⛏)
"\226\155\145" .. -- U+26D1 (⛑)
"\226\155\147" .. -- U+26D3 (⛓)
"\226\155\148" .. -- U+26D4 (⛔)
"\226\155\169" .. -- U+26E9 (⛩)
"\226\155\170" .. -- U+26EA (⛪)
"\226\155\176-\226\155\181" .. -- U+26F0-U+26F5 (⛰-⛵)
"\226\155\183-\226\155\186" .. -- U+26F7-U+26FA (⛷-⛺)
"\226\155\189" .. -- U+26FD (⛽)
"\226\156\130" .. -- U+2702 (✂)
"\226\156\133" .. -- U+2705 (✅)
"\226\156\136-\226\156\141" .. -- U+2708-U+270D (✈-✍)
"\226\156\143" .. -- U+270F (✏)
"\226\156\146" .. -- U+2712 (✒)
"\226\156\148" .. -- U+2714 (✔)
"\226\156\150" .. -- U+2716 (✖)
"\226\156\157" .. -- U+271D (✝)
"\226\156\161" .. -- U+2721 (✡)
"\226\156\168" .. -- U+2728 (✨)
"\226\156\179" .. -- U+2733 (✳)
"\226\156\180" .. -- U+2734 (✴)
"\226\157\132" .. -- U+2744 (❄)
"\226\157\135" .. -- U+2747 (❇)
"\226\157\140" .. -- U+274C (❌)
"\226\157\142" .. -- U+274E (❎)
"\226\157\147-\226\157\149" .. -- U+2753-U+2755 (❓-❕)
"\226\157\151" .. -- U+2757 (❗)
"\226\157\163" .. -- U+2763 (❣)
"\226\157\164" .. -- U+2764 (❤)
"\226\158\149-\226\158\151" .. -- U+2795-U+2797 (➕-➗)
"\226\158\161" .. -- U+27A1 (➡)
"\226\158\176" .. -- U+27B0 (➰)
"\226\158\191" .. -- U+27BF (➿)
"\226\164\180" .. -- U+2934 (⤴)
"\226\164\181" .. -- U+2935 (⤵)
"\226\172\133-\226\172\135" .. -- U+2B05-U+2B07 (⬅-⬇)
"\226\172\155" .. -- U+2B1B (⬛)
"\226\172\156" .. -- U+2B1C (⬜)
"\226\173\144" .. -- U+2B50 (⭐)
"\226\173\149" .. -- U+2B55 (⭕)
"\227\128\176" .. -- U+3030 (〰)
"\227\128\189" .. -- U+303D (〽)
"\227\138\151" .. -- U+3297 (㊗)
"\227\138\153" .. -- U+3299 (㊙)
"\240\159\128\132" .. -- U+1F004 (🀄)
"\240\159\131\143" .. -- U+1F0CF (🃏)
"\240\159\133\176" .. -- U+1F170 (🅰)
"\240\159\133\177" .. -- U+1F171 (🅱)
"\240\159\133\190" .. -- U+1F17E (🅾)
"\240\159\133\191" .. -- U+1F17F (🅿)
"\240\159\134\142" .. -- U+1F18E (🆎)
"\240\159\134\145-\240\159\134\154" .. -- U+1F191-U+1F19A (🆑-🆚)
"\240\159\136\129" .. -- U+1F201 (🈁)
"\240\159\136\130" .. -- U+1F202 (🈂)
"\240\159\136\154" .. -- U+1F21A (🈚)
"\240\159\136\175" .. -- U+1F22F (🈯)
"\240\159\136\178-\240\159\136\186" .. -- U+1F232-U+1F23A (🈲-🈺)
"\240\159\137\144" .. -- U+1F250 (🉐)
"\240\159\137\145" .. -- U+1F251 (🉑)
"\240\159\140\128-\240\159\153\143" .. -- U+1F300-U+1F64F (🌀-🙏)
"\240\159\154\128-\240\159\155\151" .. -- U+1F680-U+1F6D7 (🚀-🛗)
"\240\159\155\156-\240\159\155\172" .. -- U+1F6DC-U+1F6EC (🛜-🛬)
"\240\159\155\176-\240\159\155\188" .. -- U+1F6F0-U+1F6FC (🛰-🛼)
"\240\159\159\160-\240\159\159\171" .. -- U+1F7E0-U+1F7EB (🟠-🟫)
"\240\159\159\176" .. -- U+1F7F0 (🟰)
"\240\159\164\140-\240\159\169\147" .. -- U+1F90C-U+1FA53 (🤌-🩓)
"\240\159\169\160-\240\159\169\173" .. -- U+1FA60-U+1FA6D (🩠-🩭)
"\240\159\169\176-\240\159\169\188" .. -- U+1FA70-U+1FA7C (🩰-🩼)
"\240\159\170\128-\240\159\170\137" .. -- U+1FA80-U+1FA89 (🪀-)
"\240\159\170\143-\240\159\171\134" .. -- U+1FA8F-U+1FAC6 (-)
"\240\159\171\142-\240\159\171\156" .. -- U+1FACE-U+1FADC (🫎-)
"\240\159\171\159-\240\159\171\169" .. -- U+1FADF-U+1FAE9 (-)
"\240\159\171\176-\240\159\171\184" -- U+1FAF0-U+1FAF8 (🫰-🫸)
local unsupported_characters
local function get_unsupported_characters()
unsupported_characters, get_unsupported_characters = {}, nil
for k, v in pairs(load_data("Module:links/data").unsupported_characters) do
unsupported_characters[v] = k
end
return unsupported_characters
end
-- The list of unsupported titles and invert it (so the keys are pagenames and values are canonical titles).
local unsupported_titles
local function get_unsupported_titles()
unsupported_titles, get_unsupported_titles = {}, nil
for k, v in pairs(load_data("Module:links/data").unsupported_titles) do
unsupported_titles[v] = k
end
return unsupported_titles
end
--[==[
Given a pagename (or {nil} for the current page), create and return a data structure describing the page. The returned
object includes the following fields:
* `comb_chars`: A table containing various Lua character class patterns for different types of combined characters
(those that decompose into multiple characters in the NFD decomposition). The patterns are meant to be used with
{mw.ustring.find()}. The keys are:
** `single`: Single combining characters (character + diacritic), without surrounding brackets;
** `double`: Double combining characters (character + diacritic + character), without surrounding brackets;
** `vs`: Variation selectors, without surrounding brackets;
** `all`: Concatenation of `single` + `double` + `vs`, without surrounding brackets;
** `diacritics_single`: Like `single` but with surrounding brackets;
** `diacritics_double`: Like `double` but with surrounding brackets;
** `diacritics_all`: Like `all` but with surrounding brackets;
** `combined_single`: Lua pattern for matching a spacing character followed by one or more single combining characters;
** `combined_double`: Lua pattern for matching a combination of two spacing characters separated by one or more double
combining characters, possibly also with single combining characters;
* `emoji_pattern`: A Lua character class pattern (including surrounding brackets) that matches emojis. Meant to be used
with {mw.ustring.find()}.
* `L2_list`: Ordered list of L2 headings on the page, with the extra key `n` that gives the length of the list.
* `L2_sections`: Lookup table of L2 headings on the page, where the key is the section number assigned by the preprocessor, and the value is the L2 heading name. Once an invocation has got its actual section number from get_current_L2 in [[Module:pages]], it can use this table to determine its parent L2. TODO: We could expand this to include subsections, to check POS headings are correct etc.
* `unsupported_titles`: Map from pagenames to canonical titles for unsupported-title pages.
* `namespace`: Namespace of the pagename.
* `ns`: Namespace table for the page from mw.site.namespaces (TODO: merge with `namespace` above).
* `full_raw_pagename`: Full version of the '''RAW''' pagename (i.e. unsupported-title pages aren't canonicalized);
including the namespace and the root (portion before the slash).
* `pagename`: Canonicalized subpage portion of the pagename (unsupported-title pages are canonicalized).
* `decompose_pagename`: Equivalent of `pagename` in NFD decomposition.
* `pagename_len`: Length of `pagename` in Unicode chars, where combinations of spacing character + decomposed diacritic
are treated as single characters.
* `explode_pagename`: Set of characters found in `pagename`. The keys are characters (where combinations of spacing
character + decomposed diacritic are treated as single characters).
* `encoded_pagename`: FIXME: Document me.
* `pagename_defaultsort`: FIXME: Document me.
* `raw_defaultsort`: FIXME: Document me.
* `wikitext_topic_cat`: FIXME: Document me.
* `wikitext_langname_cat`: FIXME: Document me.
]==]
function export.process_page(pagename)
local data = {
comb_chars = comb_chars,
emoji_pattern = "[" .. emoji_chars .. "]",
unsupported_titles = unsupported_titles or get_unsupported_titles()
}
local cats = {}
data.cats = cats
-- We cannot store `raw_title` in `data` because it contains a metatable.
local raw_title
local function bad_pagename()
if not pagename then
error("Internal error: Something wrong, `data.pagename` not specified but current title contains illegal characters")
else
error(format("Bad value for `data.pagename`: '%s', which must not contain illegal characters", pagename))
end
end
if pagename then -- for testing, doc pages, etc.
raw_title = new_title(pagename)
if not raw_title then
bad_pagename()
end
else
raw_title = mw.title.getCurrentTitle()
end
local nsText = raw_title.nsText
data.namespace = nsText
data.ns = mw.site.namespaces[raw_title.namespace]
local full_raw_pagename = raw_title.fullText
data.full_raw_pagename = full_raw_pagename
local frame = mw.getCurrentFrame()
-- WARNING: `content` may be nil, e.g. if we're substing a template like {{ja-new}} on a not-yet-created page
-- or if the module specifies the subpage as `data.pagename` (which many modules do) and we're in an Appendix
-- or other non-mainspace page. We used to make the latter an error but there are too many modules that do it,
-- and substing on a nonexistent page is totally legit, and we don't actually need to be able to access the
-- content of the page.
local content = raw_title:getContent()
-- Get the pagename.
pagename = gsub(raw_title.subpageText, "^Unsupported titles/(.+)", function(m)
insert(cats, "Unsupported titles")
local title = (unsupported_titles or get_unsupported_titles())[m]
if title then
return title
end
-- Substitute pairs of "`". Those not used for escaping should be escaped as "`grave`", but might not be,
-- so if a pair don't form a match, the closing "`" should become the opening "`" of the next match attempt.
-- This has to be done manually, instead of using gsub.
local open_pos = find(m, "`")
if not open_pos then
return m
end
title = {sub(m, 1, open_pos - 1)}
while true do
local close_pos = find(m, "`", open_pos + 1)
if not close_pos then
-- Add "`" plus any remaining characters.
insert(title, sub(m, open_pos))
break
end
local escape = sub(m, open_pos, close_pos)
local ch = (unsupported_characters or get_unsupported_characters())[escape]
-- Match found, so substitute the character and move to the first "`" after the match if found, or
-- otherwise return.
if ch then
insert(title, ch)
local nxt_pos = close_pos + 1
open_pos = find(m, "`", nxt_pos)
-- Add any characters between the match and the next "`" or end.
if open_pos then
insert(title, sub(m, nxt_pos, open_pos - 1))
else
insert(title, sub(m, nxt_pos))
break
end
-- Match not found, so make the closing "`" the opening "`" of the next attempt.
else
-- Add the failed match, except for the closing "`".
insert(title, sub(m, open_pos, close_pos - 1))
open_pos = close_pos
end
end
return concat(title)
end)
-- Save pagename, as local variable will be destructively modified.
data.pagename = pagename
-- Decompose the pagename in Unicode normalization form D.
data.decompose_pagename = toNFD(pagename)
-- Explode the current page name into a character table, taking decomposed combining characters into account.
local explode_pagename = {}
local pagename_len = 0
local function explode(char)
explode_pagename[char] = true
pagename_len = pagename_len + 1
return ""
end
pagename = ugsub(pagename, comb_chars.combined_double, explode)
pagename = gsub(ugsub(pagename, comb_chars.combined_single, explode), ".[\128-\191]*", explode)
data.explode_pagename = explode_pagename
data.pagename_len = pagename_len
-- Generate DEFAULTSORT.
data.encoded_pagename = encode_entities(data.pagename)
data.pagename_defaultsort = get_lang("mul"):makeSortKey(data.encoded_pagename)
frame:callParserFunction("DEFAULTSORT", data.pagename_defaultsort)
data.raw_defaultsort = uupper(raw_title.text)
-- Make `L2_list` and `L2_sections`, note raw wikitext use of {{DEFAULTSORT:}} and {{DISPLAYTITLE:}}, then add categories if any unwanted L1 headings are found, the L2 headings are in the wrong order, or they don't match a canonical language name.
-- Note: HTML comments shouldn't be removed from `content` until after this step, as they can affect the result.
do
local L2_list, L2_list_len, L2_sections, sort_cache, prev, rc = {}, 0, {}, {}
local new_cats, L2_wrong_order = {}
local function get_weight(L2)
if L2 == "Translingual" then
return "\1"
elseif L2 == "English" then
return "\2"
elseif match(L2, "^[%z\1-\b\14-!#-&(-,.-\127]+$") then
return L2
end
local weight = sort_cache[L2]
if weight then
return weight
end
weight = toNFC(ugsub(ugsub(toNFD(L2), "[" .. comb_chars_all .. "'\"ʻʼ]+", ""), "[%s%-]+", " "))
sort_cache[L2] = weight
return weight
end
local function handle_heading(heading)
local level = heading.level
if level > 2 then
return
end
local name = heading:get_name()
-- heading:get_name() will return nil if there are any newline characters in the preprocessed heading name (e.g. from an expanded template). In such cases, the preprocessor section count still increments (since it's calculated pre-expansion), but the heading will fail, so the L2 count shouldn't be incremented.
if name == nil then
return
end
L2_list_len = L2_list_len + 1
L2_list[L2_list_len] = name
L2_sections[heading.section] = name
-- Also add any L1s, since they terminate the preceding L2, but add a maintenance category since it's probably a mistake.
if level == 1 then
-- new_cats["Pages with unwanted L1 headings"] = true
end
-- Check the heading is in the right order.
-- FIXME: we need a more sophisticated sorting method which handles non-diacritic special characters (e.g. Magɨ).
if prev and not (
L2_wrong_order or
string_compare(get_weight(prev), get_weight(name))
) then
-- new_cats["Pages with language headings in the wrong order"] = true
L2_wrong_order = true
end
-- Check it's a canonical language name.
if not (langnames or get_langnames())[name] then
-- new_cats["Pages with nonstandard language headings"] = true
end
prev = name
end
local function handle_template(template)
local name = template:get_name()
if name == "DEFAULTSORT:" then
-- new_cats["Pages with DEFAULTSORT conflicts"] = true
elseif name == "DISPLAYTITLE:" then
-- new_cats["Pages with DISPLAYTITLE conflicts"] = true
elseif name == "reconstructed" then
rc = true
end
end
if content then
for node in parse(content):iterate_nodes() do
local node_class = class_else_type(node)
if node_class == "heading" then
handle_heading(node)
elseif node_class == "တမ်းပလေက်" then
handle_template(node)
elseif node_class == "parameter" then
-- new_cats["Pages with raw triple-brace template parameters"] = true
end
end
end
L2_list.n = L2_list_len
data.L2_list = L2_list
data.L2_sections = L2_sections
-- insert(cats, get_category("Pages with entries"))
-- insert(cats, get_category(format("Pages with %s entr%s", L2_list_len, L2_list_len == 1 and "y" or "ies")))
for cat in pairs(new_cats) do
insert(cats, get_category(cat))
end
if nsText == "တဲႏဆို့ꩻချာယင်း" and not rc then
local langname = match(full_raw_pagename, "^တဲႏဆို့ꩻချာယင်း:([^/]+)/.")
if langname then
-- insert(cats, get_category(langname .. " entries missing Template:reconstructed"))
end
end
end
------ 4. Parse page for maintenance categories. ------
-- Use of tab characters.
if content and find(content, "\t", 1, true) then
-- insert(cats, get_category("Pages with tab characters"))
end
-- Unencoded character(s) in title.
local IDS = list_to_set{"⿰", "⿱", "⿲", "⿳", "⿴", "⿵", "⿶", "⿷", "⿸", "⿹", "⿺", "⿻", "", "", "", "", ""}
for char in pairs(explode_pagename) do
if IDS[char] and char ~= data.pagename then
-- insert(cats, "Terms containing unencoded characters")
break
end
end
-- Raw wikitext use of a topic or langname category. Also check if any raw sortkeys have been used.
do
local wikitext_topic_cat = {}
local wikitext_langname_cat = {}
local raw_sortkey
-- If a raw sortkey has been found, add it to the relevant table.
-- If there's no table (or the index is just `true`), create one first.
local function add_cat_table(t, lang, sortkey)
local t_lang = t[lang]
if not sortkey then
if not t_lang then
t[lang] = true
end
return
elseif t_lang == true or not t_lang then
t_lang = {}
t[lang] = t_lang
end
t_lang[uupper(decode_entities(sortkey))] = true
end
local function process_category(content, cat, colon, nxt)
local pipe = find(cat, "|", colon + 1, true)
-- Categories cannot end "|]]".
if pipe == #cat then
return
end
local title = new_title(pipe and sub(cat, 1, pipe - 1) or cat)
if not (title and title.namespace == 14) then
return
end
-- Get the sortkey (if any), then canonicalize category title.
local sortkey = pipe and sub(cat, pipe + 1) or nil
cat = title.text
if sortkey then
raw_sortkey = true
-- If the sortkey contains "[", the first "]" of a final "]]]" is treated as part of the sortkey.
if find(sortkey, "[", 1, true) and sub(content, nxt, nxt) == "]" then
sortkey = sortkey .. "]"
end
end
local code = match(cat, "^([%w%-.]+):")
if code then
add_cat_table(wikitext_topic_cat, code, sortkey)
return
end
-- Split by word.
cat = split(cat, " ", true, true)
-- Formerly we looked for the language name anywhere in the category. This is simply wrong
-- because there are no categories like 'Alsatian French lemmas' (only L2 languages
-- have langname categories), but doing it this way wrongly catches things like [[Category:Shapsug Adyghe]]
-- in [[Category:Adyghe entries with language name categories using raw markup]].
local n = #cat - 1
if n <= 0 then
return
end
-- Go from longest to shortest and stop once we've found a language name. Going from shortest
-- to longest or not stopping after a match risks falsely matching (e.g.) German Low German
-- categories as German.
repeat
local name = concat(cat, " ", 1, n)
if (langnames or get_langnames())[name] then
add_cat_table(wikitext_langname_cat, name, sortkey)
return
end
n = n - 1
until n == 0
end
if content then
-- Remove comments, then iterate over category links.
content = remove_comments(content, "BOTH")
local head = find(content, "[[", 1, true)
while head do
local close = find(content, "]]", head + 2, true)
if not close then
break
end
-- Make sure there are no intervening "[[" between head and close.
local open = find(content, "[[", head + 2, true)
while open and open < close do
head = open
open = find(content, "[[", head + 2, true)
end
local cat = sub(content, head + 2, close - 1)
-- Locate the colon, and weed out most unwanted links. "[ _\128-\244]*" catches valid whitespace, and ensures any category links using the colon trick are ignored. We match all non-ASCII characters, as there could be multibyte spaces, and mw.title.new will filter out any remaining false-positives; this is a lot faster than running mw.title.new on every link.
local colon = match(cat, "^[ _\128-\244]*[Cc][Aa][Tt][EeGgOoRrYy _\128-\244]*():")
if colon then
process_category(content, cat, colon, close + 2)
end
head = open
end
end
data.wikitext_topic_cat = wikitext_topic_cat
data.wikitext_langname_cat = wikitext_langname_cat
if raw_sortkey then
-- insert(cats, get_category("Pages with raw sortkeys"))
end
end
return data
end
return export
1atfrj5tpqlcr3cnht2whggmy0gtb5j
ကဏ္ဍ:ပအိုဝ်ႏ ကြိယာႏဝိသေသန
14
5217
11721
2025-06-23T05:17:08Z
咽頭べさ
11
[[ကဏ္ဍ:ပအိုဝ်ႏ ကြိယာႏဝိသေသန]] စာမျက်နှာကို [[ကဏ္ဍ:ပအိုဝ်ႏကြိယာႏဝိသေသနဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
11721
wikitext
text/x-wiki
#REDIRECT [[:ကဏ္ဍ:ပအိုဝ်ႏကြိယာႏဝိသေသနဖုံႏ]]
1j9x7f431cwfa2p68k32ygwmwtqmai6
မော်ဂျူး:Tale-translit
828
5218
11756
2025-06-23T06:09:34Z
咽頭べさ
11
ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "local gsub = mw.ustring.gsub local u = require("Module:string/char") local export = {} -- pattern ([ᥐ-ᥢ])([ᥣ-ᥬ]?)([ᥐᥒᥖᥙᥛᥝᥢᥭ]?)([ᥰ-ᥴ{dia-tones}]?) local tt = { -- consonants ["ᥐ"] = "k", ["ᥑ"] = "x", ["ᥒ"] = "ng", ["ᥓ"] = "ts", ["ᥔ"] = "s", ["ᥕ"] = "y", ["ᥖ"] = "t", ["ᥗ"] = "th", ["ᥘ"] = "l", ["ᥙ"] = "p", ["ᥚ"] = "ph", ["ᥛ"] = "m", ["ᥜ"] = "f", ["..."
11756
Scribunto
text/plain
local gsub = mw.ustring.gsub
local u = require("Module:string/char")
local export = {}
-- pattern ([ᥐ-ᥢ])([ᥣ-ᥬ]?)([ᥐᥒᥖᥙᥛᥝᥢᥭ]?)([ᥰ-ᥴ{dia-tones}]?)
local tt = {
-- consonants
["ᥐ"] = "k", ["ᥑ"] = "x", ["ᥒ"] = "ng", ["ᥓ"] = "ts", ["ᥔ"] = "s", ["ᥕ"] = "y",
["ᥖ"] = "t", ["ᥗ"] = "th", ["ᥘ"] = "l", ["ᥙ"] = "p", ["ᥚ"] = "ph", ["ᥛ"] = "m",
["ᥜ"] = "f", ["ᥝ"] = "w", ["ᥞ"] = "h", ["ᥟ"] = "ʼ", ["ᥠ"] = "kh", ["ᥡ"] = "tsh", ["ᥢ"] = "n",
-- vowels
["ᥣ"] = "aa", ["ᥤ"] = "i", ["ᥥ"] = "e", ["ᥦ"] = "ae", ["ᥧ"] = "u",
["ᥨ"] = "o", ["ᥩ"] = "oa", ["ᥪ"] = "ue", ["ᥫ"] = "oe", ["ᥬ"] = "aue",
["ᥭ"] = "y",
}
local tone_table = {
-- different ordering from Unicode: http://www.seasite.niu.edu/tai/TaiDehong/index.htm
-- also supports old orthography
["ᥰ"] = u(0x0308), [u(0x0308)] = u(0x0308), [u(0x00A8)] = u(0x0308), -- 2 ä
["ᥱ"] = u(0x030C), [u(0x030C)] = u(0x030C), [u(0x02C7)] = u(0x030C), -- 3 ǎ
["ᥲ"] = u(0x0300), [u(0x0300)] = u(0x0300), [u(0x0060)] = u(0x0300), [u(0x02CB)] = u(0x0300), -- 4 à
["ᥳ"] = u(0x0307), [u(0x0307)] = u(0x0307), [u(0x02D9)] = u(0x0307), -- 5 ȧ
["ᥴ"] = u(0x0301), [u(0x0301)] = u(0x0301), [u(0x00B4)] = u(0x0301), [u(0x02CA)] = u(0x0301), -- 1 á
[""] = "", -- 6 a
}
local tone_key = "([ᥰ-ᥴ"
.. u(0x0308) .. u(0x00A8)
.. u(0x030C) .. u(0x02C7)
.. u(0x0300) .. u(0x0060) .. u(0x02CB)
.. u(0x0307) .. u(0x02D9)
.. u(0x0301) .. u(0x00B4) .. u(0x02CA) .. "]?)"
function export.tr(text, lang, sc)
if type(text) == "table" then -- called directly from a template
text = text.args[1]
end
text = gsub(text, "([ᥐ-ᥢ])([ᥐᥒᥖᥙᥛᥝᥢᥭ])", "%1a%2")
text = gsub(text, ".", tt)
-- adds tone diacritic
local new
for old in mw.text.gsplit(text, " ") do
new = gsub(old, "([aeiou])([a-z]*)" .. tone_key, function(v, x, t)
return v .. tone_table[t] .. x
end)
text = gsub(text, old, new, 1)
end
return text
end
return export
8ldqfsgu3td5y7z8ucjgbwf3yzdb6ix
မော်ဂျူး:Ahom-translit
828
5219
11757
2025-06-23T06:10:54Z
咽頭べさ
11
ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "local export = {} local gsub = mw.ustring.gsub local u = require("Module:string/char") local con_cls = "([𑜀-𑜚𑝀-𑝆][𑜝".."𑜞".."𑜟]?)" -- see also https://www.unicode.org/L2/L2020/20258-add-tai-ahom.pdf -- 𑜊 represents both j and y local tt = { -- consonants ["𑜀"] = "k", ["𑜁"] = "kh", ["𑜂"] = "ṅ", ["𑜃"] = "n", ["𑜄"] = "t", ["𑜅"] = "t", ["𑜆"] = "p", ["𑜇"] = "p..."
11757
Scribunto
text/plain
local export = {}
local gsub = mw.ustring.gsub
local u = require("Module:string/char")
local con_cls = "([𑜀-𑜚𑝀-𑝆][𑜝".."𑜞".."𑜟]?)"
-- see also https://www.unicode.org/L2/L2020/20258-add-tai-ahom.pdf
-- 𑜊 represents both j and y
local tt = {
-- consonants
["𑜀"] = "k", ["𑜁"] = "kh", ["𑜂"] = "ṅ", ["𑜃"] = "n", ["𑜄"] = "t", ["𑜅"] = "t",
["𑜆"] = "p", ["𑜇"] = "ph", ["𑜈"] = "b", ["𑜉"] = "m", ["𑜊"] = "jʸ", ["𑜋"] = "ch",
["𑜌"] = "th", ["𑜍"] = "r", ["𑜎"] = "l", ["𑜏"] = "s", ["𑜐"] = "ñ", ["𑜑"] = "h",
["𑜒"] = "ʼ", ["𑜓"] = "d", ["𑜔"] = "dh", ["𑜕"] = "g", ["𑜖"] = "g", ["𑜗"] = "gh",
["𑜘"] = "bh", ["𑜙"] = "jh", ["𑜚"] = "v",
["𑝀"] = "c", ["𑝁"] = "ṭ", ["𑝂"] = "ṭh", ["𑝃"] = "ḍ", ["𑝄"] = "ḍh", ["𑝅"] = "ṇ", ["𑝆"] = "ḷ",
-- medials
["𑜝"] = "l", ["𑜞"] = "r", ["𑜟"] = "r",
-- vowels (excluding composition)
["𑜠"] = "a", ["𑜡"] = "ā", ["𑜢"] = "i", ["𑜣"] = "ī",
["𑜤"] = "u", ["𑜥"] = "ū", ["𑜧"] = "w", ["𑜩"] = "y",
["𑜦"] = "e", ["𑜨"] = "o",
["𑜪"] = "ṃ", ["𑜫"] = "",
-- numerals
["𑜰"] = "0", ["𑜱"] = "1", ["𑜲"] = "2", ["𑜳"] = "3", ["𑜴"] = "4",
["𑜵"] = "5", ["𑜶"] = "6", ["𑜷"] = "7", ["𑜸"] = "8", ["𑜹"] = "9",
["𑜺"] = "[10]", ["𑜻"] = "[20]",
-- punctuations and symbols
["𑜼"] = ",", ["𑜽"] = ".", ["𑜾"] = "@", ["𑜿"] = "vi",
-- zero-width space (display it if it hides in a word)
[u(0x200B)] = "‼",
}
local adjust0 = {
-- vowels (composition)
["𑜢".."𑜤"] = "ü",
["𑜦".."𑜡"] = "ō",
["𑜨".."𑜦".."𑜡"] = "wō",
["𑜦".."𑜧"] = "ē",
["𑜩".."𑜤"] = "āy",
["𑜧".."𑜤"] = "āw",
}
function export.tr(text, lang, sc)
if type(text) == "table" then -- called directly from a template
text = text.args[1]
end
text = gsub(text, "[𑜈𑜚](𑜫)", "w%1") -- final -b (or -v) becomes -w
text = gsub(text, con_cls.."([𑜀-𑜚𑝀-𑝆w])𑜫", "%1a%2")
text = gsub(text, con_cls.."([𑜧".."𑜩".."𑜪])", "%1a%2")
for k, v in pairs(adjust0) do
text = gsub(text, con_cls..k, "%1"..v)
end
text = gsub(text, ".", tt)
return text
end
return export
cld35bdfg82i9nqe6qrlsfpymkpc7r2
သံꩻ (သမ်ꩻ)
0
5220
11785
2025-06-23T07:01:01Z
咽頭べさ
11
[[သံꩻ (သမ်ꩻ)]] စာမျက်နှာကို [[သံꩻ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
11785
wikitext
text/x-wiki
#REDIRECT [[သံꩻ]]
hrc1wj5kyvwod6mixm88tahanhui8o9
ကဏ္ဍ:ပအိုဝ်ႏ ကြိယာႏ
14
5221
11794
2025-06-23T07:06:36Z
咽頭べさ
11
[[ကဏ္ဍ:ပအိုဝ်ႏ ကြိယာႏ]] စာမျက်နှာကို [[ကဏ္ဍ:ပအိုဝ်ႏကြိယာႏဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
11794
wikitext
text/x-wiki
#REDIRECT [[:ကဏ္ဍ:ပအိုဝ်ႏကြိယာႏဖုံႏ]]
i1w5ilpaxyvnfyjjot7ld4vfahlp7zb
ကဏ္ဍ:နော်ဝွေး နာမဝိသေသန
14
5222
11808
2025-06-23T08:15:42Z
咽頭べさ
11
[[ကဏ္ဍ:နော်ဝွေး နာမဝိသေသန]] စာမျက်နှာကို [[ကဏ္ဍ:နော်ဝွေးနာမဝိသေသနဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
11808
wikitext
text/x-wiki
#REDIRECT [[:ကဏ္ဍ:နော်ဝွေးနာမဝိသေသနဖုံႏ]]
3j79nyvwooorp8lx9rhcvfxxsc0juc3
ကဏ္ဍ:အဘိဓာန်ႏကို တပါသော့ꩻတဝ်းဒါႏ နော်ဝွေးဝေါဟာရဖုံႏ
14
5223
11810
2025-06-23T08:18:55Z
咽頭べさ
11
[[ကဏ္ဍ:အဘိဓာန်ႏကို တပါသော့ꩻတဝ်းဒါႏ နော်ဝွေးဝေါဟာရဖုံႏ]] စာမျက်နှာကို [[ကဏ္ဍ:နော်ဝွေးငဝ်းတဲႏဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
11810
wikitext
text/x-wiki
#REDIRECT [[:ကဏ္ဍ:နော်ဝွေးငဝ်းတဲႏဖုံႏ]]
qdzxfftest7v4zykln1aq84yk0kksby
ကဏ္ဍ:ပအိုဝ်ႏ ဂဏန်ꩻ
14
5224
11815
2025-06-23T08:23:47Z
咽頭べさ
11
[[ကဏ္ဍ:ပအိုဝ်ႏ ဂဏန်ꩻ]] စာမျက်နှာကို [[ကဏ္ဍ:ပအိုဝ်ႏဂဏန်ꩻဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
11815
wikitext
text/x-wiki
#REDIRECT [[:ကဏ္ဍ:ပအိုဝ်ႏဂဏန်ꩻဖုံႏ]]
fbmu6mqzcgo4dlidffvjq20som5vms4
ကဏ္ဍ:ပအိုဝ်ႏ နာမဝိသေသန
14
5225
11829
2025-06-23T08:35:21Z
咽頭べさ
11
[[ကဏ္ဍ:ပအိုဝ်ႏ နာမဝိသေသန]] စာမျက်နှာကို [[ကဏ္ဍ:ပအိုဝ်ႏနာမဝိသေသနဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
11829
wikitext
text/x-wiki
#REDIRECT [[:ကဏ္ဍ:ပအိုဝ်ႏနာမဝိသေသနဖုံႏ]]
ahgfnli3qyqy1schrbutw4hh5ohqg8o
မော်ဂျူး:aio-phk-translit
828
5226
11837
2025-06-23T10:34:07Z
咽頭べさ
11
ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "local export = {} local gsub = mw.ustring.gsub local u = require("Module:string/char") local con_cls = "([ကၵငꩡꩬၺတထꩫဒပၸမဗယꩺလဝꩭဢ])" local med_cls = "([ျြၞ]?)" local tt1 = { -- consonants ["က"] = "k", ["ၵ"] = "kh", ["င"] = "ṅ", ["ꩡ"] = "c", ["ꩬ"] = "s", ["ၺ"] = "ñ", ["တ"] = "t", ["ထ"] = "th", ["ꩫ"] = "n", ["ဒ"] = "d", ["ပ"] = "p", ["..."
11837
Scribunto
text/plain
local export = {}
local gsub = mw.ustring.gsub
local u = require("Module:string/char")
local con_cls = "([ကၵငꩡꩬၺတထꩫဒပၸမဗယꩺလဝꩭဢ])"
local med_cls = "([ျြၞ]?)"
local tt1 = {
-- consonants
["က"] = "k", ["ၵ"] = "kh", ["င"] = "ṅ",
["ꩡ"] = "c", ["ꩬ"] = "s", ["ၺ"] = "ñ",
["တ"] = "t", ["ထ"] = "th", ["ꩫ"] = "n", ["ဒ"] = "d",
["ပ"] = "p", ["ၸ"] = "ph", ["မ"] = "m", ["ဗ"] = "b",
["ယ"] = "y", ["ꩺ"] = "r", ["လ"] = "l", ["ဝ"] = "w",
["ꩭ"] = "h", ["ဢ"] = "ʼ",
-- medials
["ျ"] = "y", ["ြ"] = "r", ["ၞ"] = "w",
-- dependent vowels and diacritics (excluding front type)
["္"] = "", ["ႜ"] = "a", ["ႃ"] = "ā", ["ိ"] = "i", ["ီ"] = "ī",
["ု"] = "u", ["ူ"] = "ū", ["ွ"] = "o", ["်"] = "", ["ႝ"] = "y",
["ေ"] = "e", ["ံ"] = "ṃ",
-- punctuation marks
["၊"] = ",", ["။"] = ".", ["꩷"] = "!",
-- numerals
["꩸"] = "1", ["꩹"] = "2",
["၀"] = "0", ["၁"] = "1", ["၂"] = "2", ["၃"] = "3", ["၄"] = "4",
["၅"] = "5", ["၆"] = "6", ["၇"] = "7", ["၈"] = "8", ["၉"] = "9",
-- zero-width space (display it if it hides in a word)
[u(0x200B)] = "‼",
}
function export.tr(text, lang, sc)
if type(text) == "table" then -- called directly from a template
text = text.args[1]
end
text = gsub(text, u(0xFE00), "") -- remove VS01
text = gsub(text, "ေ".."ႃ", "ō")
text = gsub(text, "ိ".."ု", "ü")
text = gsub(text, "ွ".."်", "aw")
text = gsub(text, "ၞ".."်", "aü")
text = gsub(text, con_cls .. med_cls .. con_cls .. "်", "%1%2a%3")
text = gsub(text, con_cls .. med_cls .. "([ႝံ])", "%1%2a%3")
text = gsub(text, ".", tt1)
return text
end
return export
0s1izt0uuxcmdrk8nbzj2jn6wq6uvsl
ကဏ္ဍ:ပအိုဝ်ႏ နာမ်ႏတင်
14
5227
11839
2025-06-23T10:35:57Z
咽頭べさ
11
[[ကဏ္ဍ:ပအိုဝ်ႏ နာမ်ႏတင်]] စာမျက်နှာကို [[ကဏ္ဍ:ပအိုဝ်ႏနာမ်ႏတင်ဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
11839
wikitext
text/x-wiki
#REDIRECT [[:ကဏ္ဍ:ပအိုဝ်ႏနာမ်ႏတင်ဖုံႏ]]
7f72urw2dv1mwve7cilfivh53v26enl
တမ်းပလေက်:blk-prep
10
5228
11841
2025-06-23T10:41:56Z
咽頭べさ
11
ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "{{head|blk|ဝိဘတ်}}"
11841
wikitext
text/x-wiki
{{head|blk|ဝိဘတ်}}
bb2d0z5qnc6ymjwfcaj9ug3bmg8h59r
ကဏ္ဍ:ပအိုဝ်ႏ ဝိဘတ်
14
5229
11844
2025-06-23T10:43:44Z
咽頭べさ
11
[[ကဏ္ဍ:ပအိုဝ်ႏ ဝိဘတ်]] စာမျက်နှာကို [[ကဏ္ဍ:ပအိုဝ်ႏဝိဘတ်ဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
11844
wikitext
text/x-wiki
#REDIRECT [[:ကဏ္ဍ:ပအိုဝ်ႏဝိဘတ်ဖုံႏ]]
3btrxho5cpqe9s1b23nbi6ndo58kmmb
ကဏ္ဍ:ပအိုဝ်ႏ ငဝ်းစုဗူႏဖုံႏ
14
5230
11870
2025-06-23T11:21:37Z
咽頭べさ
11
[[ကဏ္ဍ:ပအိုဝ်ႏ ငဝ်းစုဗူႏဖုံႏ]] စာမျက်နှာကို [[ကဏ္ဍ:ပအိုဝ်ႏငဝ်းစုဗူႏဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
11870
wikitext
text/x-wiki
#REDIRECT [[:ကဏ္ဍ:ပအိုဝ်ႏငဝ်းစုဗူႏဖုံႏ]]
10nlac2q07d5a25swkvfppm7ezjy2ni
ကဏ္ဍ:ပအိုဝ်ႏ နာမ်ႏဆဲင်ႏတဖြာꩻ
14
5231
11874
2025-06-23T11:25:09Z
咽頭べさ
11
[[ကဏ္ဍ:ပအိုဝ်ႏ နာမ်ႏဆဲင်ႏတဖြာꩻ]] စာမျက်နှာကို [[ကဏ္ဍ:ပအိုဝ်ႏနာမ်ႏဆဲင်ႏတဖြာꩻဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
11874
wikitext
text/x-wiki
#REDIRECT [[:ကဏ္ဍ:ပအိုဝ်ႏနာမ်ႏဆဲင်ႏတဖြာꩻဖုံႏ]]
0w04yz3fhn7092xaau4r7umhgvwbhln
ကဏ္ဍ:ပအိုဝ်ႏ အာမေဍိတ်
14
5232
11876
2025-06-23T11:25:58Z
咽頭べさ
11
[[ကဏ္ဍ:ပအိုဝ်ႏ အာမေဍိတ်]] စာမျက်နှာကို [[ကဏ္ဍ:ပအိုဝ်ႏအာမေဍိတ်ဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
11876
wikitext
text/x-wiki
#REDIRECT [[:ကဏ္ဍ:ပအိုဝ်ႏအာမေဍိတ်ဖုံႏ]]
ogm9p2y7ob8vp3zjc821lkgtzpji7f4
ကဏ္ဍ:အငေါဝ်းထန်ႏလိဉ့်တွမ်ႏပအိုဝ်ႏ ငေါဝ်းငွါဖုံႏ
14
5233
11878
2025-06-23T11:27:34Z
咽頭べさ
11
[[ကဏ္ဍ:အငေါဝ်းထန်ႏလိဉ့်တွမ်ႏပအိုဝ်ႏ ငေါဝ်းငွါဖုံႏ]] စာမျက်နှာကို [[ကဏ္ဍ:အငေါဝ်းထန်ႏလိဉ့်တွမ်ႏပအိုဝ်ႏငေါဝ်းငွါဖုံႏ]] သို့ 咽頭べさက ရွှေ့ခဲ့သည်
11878
wikitext
text/x-wiki
#REDIRECT [[:ကဏ္ဍ:အငေါဝ်းထန်ႏလိဉ့်တွမ်ႏပအိုဝ်ႏငေါဝ်းငွါဖုံႏ]]
hitkptml0y5jvozd7l202du6992kdc3