ဝိက်ရှေန်နရဳ
mnwwiktionary
https://mnw.wiktionary.org/wiki/%E1%80%9D%E1%80%AD%E1%80%80%E1%80%BA%E1%80%9B%E1%80%BE%E1%80%B1%E1%80%94%E1%80%BA%E1%80%94%E1%80%9B%E1%80%B3:%E1%80%99%E1%80%AF%E1%80%80%E1%80%BA%E1%80%9C%E1%80%AD%E1%80%80%E1%80%BA%E1%80%90%E1%80%99%E1%80%BA
MediaWiki 1.47.0-wmf.6
case-sensitive
မဳဒဳယာ
တၟေင်
ဓရီုကျာ
ညးလွပ်
ညးလွပ် ဓရီုကျာ
ဝိက်ရှေန်နရဳ
ဝိက်ရှေန်နရဳ ဓရီုကျာ
ဝှာင်
ဝှာင် ဓရီုကျာ
မဳဒဳယာဝဳကဳ
မဳဒဳယာဝဳကဳ ဓရီုကျာ
ထာမ်ပလိက်
ထာမ်ပလိက် ဓရီုကျာ
ရီု
ရီု ဓရီုကျာ
ကဏ္ဍ
ကဏ္ဍ ဓရီုကျာ
အဆက်လက္ကရဴ
အဆက်လက္ကရဴ ဓရီုကျာ
ကာရန်
ကာရန် ဓရီုကျာ
အဘိဓာန်
အဘိဓာန် ဓရီုကျာ
ဗီုပြၚ်သိုၚ်တၟိ
ဗီုပြၚ်သိုၚ်တၟိ ဓရီုကျာ
TimedText
TimedText talk
မဝ်ဂျူ
မဝ်ဂျူ ဓရီုကျာ
Event
Event talk
မဝ်ဂျူ:columns
828
962
396708
151058
2026-06-13T18:36:17Z
咽頭べさ
33
396708
Scribunto
text/plain
local export = {}
local collation_module = "Module:collation"
local debug_track_module = "Module:debug/track"
local headword_data_module = "Module:headword/data"
local JSON_module = "Module:JSON"
local languages_module = "Module:languages"
local links_module = "Module:links"
local pages_module = "Module:pages"
local parameter_utilities_module = "Module:parameter utilities"
local parameters_module = "Module:parameters"
local parse_utilities_module = "Module:parse utilities"
local pron_qualifier_module = "Module:pron qualifier"
local qualifier_module = "Module:qualifier"
local string_utilities_module = "Module:string utilities"
local table_module = "Module:table"
local utilities_module = "Module:utilities"
local yesno_module = "Module:yesno"
local m_str_utils = require(string_utilities_module)
local concat = table.concat
local html = mw.html.create
local is_substing = mw.isSubsting
local insert = table.insert
local rmatch = m_str_utils.match
local remove = table.remove
local sub = string.sub
local trim = m_str_utils.trim
local u = m_str_utils.char
local dump = mw.dumpObject
local function track(page)
require(debug_track_module)("columns/" .. page)
return true
end
local function deepEquals(...)
deepEquals = require(table_module).deepEquals
return deepEquals(...)
end
local function term_already_linked(term)
return term == "?" or -- signals an unknown term
-- optimization to avoid unnecessarily loading [[Module:parse utilities]]
(term:find("[<{]") and require(parse_utilities_module).term_already_linked(term))
end
local function convert_delimiter_to_separator(item, itemind, args)
if itemind == 1 then
item.separator = nil
elseif item.delimiter == " " then
item.separator = args.space_delim
elseif item.delimiter == "~" then
item.separator = args.tilde_delim
else
item.separator = args.comma_delim
end
end
local function get_horizontal_separator(args_horiz, embedded_comma)
return args_horiz == "bullet" and " · " or embedded_comma and "; " or ", "
end
-- Suppress false positives in categories like [[Category:English links with redundant wikilinks]] so people won't
-- be tempted to "correct" them; terms like embedded ~ like [[Micros~1]] or embedded comma not followed by a space
-- such as [[1,6-Cleves acid]] need to have a link around them to avoid the tilde or comma being interpreted as a
-- delimiter.
local function suppress_redundant_wikilink_cat(term, alt)
return term:find("~") or term:find(",%S")
end
local function full_link_and_track_self_links(item, face, nochecktr)
if item.term then
local pagename = mw.loadData(headword_data_module).pagename
local term_is_pagename = item.term == pagename
local term_contains_pagename = item.term:find("%[%[" .. m_str_utils.pattern_escape(pagename) .. "[|%]]")
if term_is_pagename or term_contains_pagename then
local current_L2 = require(pages_module).get_current_L2()
if current_L2 then
local current_L2_lang = require(languages_module).getByCanonicalName(current_L2)
if current_L2_lang and current_L2_lang:getCode() == item.lang:getCode() then
if term_is_pagename then
track("term-is-pagename")
else
track("term-contains-pagename")
end
end
end
end
end
item.suppress_redundant_wikilink_cat = suppress_redundant_wikilink_cat
item.never_call_transliteration_module = nochecktr
return require(links_module).full_link(item, face)
end
local function format_subitem(subitem, lang, face, compute_embedded_comma, nochecktr)
local embedded_comma = false
local text
if subitem.term and term_already_linked(subitem.term) then
text = subitem.term
if compute_embedded_comma then
embedded_comma = not not require(utilities_module).get_plaintext(text):find(",")
end
else
text = full_link_and_track_self_links(subitem, face, nochecktr)
if compute_embedded_comma then
-- We don't check qualifier, label or reference text for commas as it's inside parens or displayed
-- elsewhere.
local subitem_plaintext = subitem.alt or subitem.term
if subitem_plaintext then
embedded_comma = not not subitem_plaintext:find(",")
end
end
end
-- We could use the "show qualifiers" flag to full_link() but not when term_already_linked().
if subitem.q and subitem.q[1] or subitem.qq and subitem.qq[1] or subitem.l and subitem.l[1] or
subitem.ll and subitem.ll[1] or subitem.refs and subitem.refs[1] then
text = require(pron_qualifier_module).format_qualifiers {
lang = subitem.lang or args.lang,
text = text,
q = subitem.q,
qq = subitem.qq,
l = subitem.l,
ll = subitem.ll,
refs = subitem.refs,
}
end
return text, embedded_comma
end
function export.format_item(item, args, face)
local compute_embedded_comma = args.horiz == "comma"
local embedded_comma = false
local nochecktr = args.noautotr
if type(item) == "table" then
if item.terms then
local parts = {}
local is_first = true
for _, subitem in ipairs(item.terms) do
if subitem == false then
-- omitted subitem; do nothing
else
local separator = subitem.separator or not is_first and (args.subitem_separator or ", ")
if separator then
if compute_embedded_comma then
embedded_comma = embedded_comma or not not separator:find(",")
end
insert(parts, separator)
end
local formatted, this_embedded_comma = format_subitem(subitem, args.lang, face,
compute_embedded_comma, nochecktr)
embedded_comma = embedded_comma or this_embedded_comma
insert(parts, formatted)
is_first = false
end
end
return concat(parts), embedded_comma
else
return format_subitem(item, args.lang, face, compute_embedded_comma, nochecktr)
end
else
if compute_embedded_comma then
embedded_comma = not not require(utilities_module).get_plaintext(item):find(",")
end
if args.lang and not term_already_linked(item) then
return full_link_and_track_self_links({lang = args.lang, term = item, sc = args.sc}, face, nochecktr), embedded_comma
else
return item, embedded_comma
end
end
end
function export.construct_old_style_header(header, horiz)
local old_style_header
local function ib_colon()
return tostring(html("span"):addClass("ib-colon"):addClass("ib-content"):wikitext(":"))
end
if horiz then
old_style_header = require(qualifier_module).format_qualifiers {
qualifiers = header,
open = false,
close = false,
} .. ib_colon() .. " "
else
old_style_header = require(qualifier_module).format_qualifiers {
qualifiers = header
} .. ib_colon()
old_style_header = tostring(html("div"):wikitext(old_style_header))
end
return old_style_header
end
-- Construct the sort base of a single term. As a hack, sort appendices after mainspace items.
local function term_sortbase(val)
if not val then
-- This should not normally happen.
return u(0x10FFFF)
elseif val:find("^%[*Appendix:") then
return u(0x10FFFE) .. val
else
return val
end
end
-- Construct the sort base of a single item, using the display form preferentially, otherwise the term itself.
-- As a hack, sort appendices after mainspace items.
local function item_sortbase(item)
return term_sortbase(item.alt or item.term)
end
local function make_sortbase(item)
if item == false then
return "*" -- doesn't matter, will be omitted in create_list()
elseif type(item) == "table" then
if item.terms then
-- Optimize for the common case of only a single term
if item.terms[2] then
local parts = {}
-- multiple terms
local first = true
for _, subitem in ipairs(item.terms) do
if subitem ~= false then
if not first then
insert(parts, ", ")
end
insert(parts, item_sortbase(subitem))
first = false
end
end
if parts[1] then
return concat(parts)
end
else
local subitem = item.terms[1]
if subitem ~= false then
return item_sortbase(subitem)
end
end
return "*" -- doesn't matter, entire group will be omitted in create_list()
else
return item_sortbase(item)
end
else
return item
end
end
local function make_node_sortbase(node)
return make_sortbase(node.item)
end
-- Sort a sublist of `list` in place, keeping the first `keepfirst` and last `keeplast` items fixed.
-- `lang` is the language of the items and `make_sortbase` creates the appropriate sort base.
local function sort_sublist(list, lang, make_sortbase, keepfirst, keeplast)
if keepfirst == 0 and keeplast == 0 then
require(collation_module).sort(list, lang, make_sortbase)
else
local sublist = {}
for i = keepfirst + 1, #list - keeplast do
sublist[i - keepfirst] = list[i]
end
require(collation_module).sort(sublist, lang, make_sortbase)
for i = keepfirst + 1, #list - keeplast do
list[i] = sublist[i - keepfirst]
end
end
end
-- URL-encode only the characters that serve as template delimiters (left and right brace, vertical bar, equal sign
-- and percent sign since it's the escape character).
local function bot_url_encode(txt)
return (txt:gsub("[%%|{}=&]",
{["%"] = "%25", ["|"] = "%7C", ["{"] = "%7B", ["}"] = "%7D", ["="] = "%3D", ["&"] = "%26"}))
end
-- Reverse the action of bot_url_encode().
local function bot_url_decode(txt)
return (txt:gsub("%%7([BCD])", {B = "{", C = "|", D = "}"}):gsub("%%3D", "="):gsub("%%26", "&"):gsub("%%25", "%%"))
end
--[==[
Bot-callable function to generate a number of sortkeys simultaneously. {{para|1}} contains the langcode, and remaining
numeric parameters contain "bot-URL-encoded" strings whose sort keys will be computed and returned as a JSON array.
Here, "bot-URL-encoded" means that the six characters `{ | } = & %` should be converted to
their URL-encoded representation (respectively `%7B %7C %7D %3D %26 %25`), and will be decoded appropriately
before computing the sortkey.
]==]
function export.make_sortkey(frame)
local iparams = {
[1] = {type = "language"},
[2] = {list = true},
}
local iargs = require(parameters_module).process(frame.args, iparams)
local make_sortkey = require(collation_module).make_lang_sortkey_function(iargs[1], term_sortbase)
local retval = {}
for _, arg in ipairs(iargs[2]) do
arg = bot_url_decode(arg)
insert(retval, make_sortkey(arg))
end
return require(JSON_module).toJSON(retval)
end
local large_text_scripts = {
["Arab"] = true,
["Beng"] = true,
["Deva"] = true,
["Gujr"] = true,
["Guru"] = true,
["Hebr"] = true,
["Khmr"] = true,
["Knda"] = true,
["Laoo"] = true,
["Mlym"] = true,
["Mong"] = true,
["Mymr"] = true,
["Orya"] = true,
["Sinh"] = true,
["Syrc"] = true,
["Taml"] = true,
["Telu"] = true,
["Tfng"] = true,
["Thai"] = true,
["Tibt"] = true,
}
--[==[
Format a list of items using HTML. `args` is an object specifying the items to add and related properties, with the
following fields:
* `content`: A list of the items to format. See below for the format of the items.
* `lang`: The language object of the items to format, if the items in `content` are strings.
* `sc`: The script object of the items to format, if the items in `content` are strings.
* `raw`: If true, return the list raw, without any collapsing or columns.
* `class`: The CSS class of the surrounding {<div>}.
* `column_count`: Number of columns to format the list into.
* `alphabetize`: If true, sort the items in the table.
* `collapse`: If true, make the table partially collapsed by default, with a "Show more" button at the bottom.
* `toggle_category`: Value of `data-toggle-category` property grouping collapsible elements.
* `header`: If specified, Wikicode to prepend to the output.
* `title_new_style`: If true, the header is treated as a title and displayed in a new style. This is ignored if `horiz`
is non-nil.
* `subitem_separator`: Separator used between subitems when multiple subitems occur on a line, if not specified in the
subitem itself (using the `separator` field). Defaults to {", "}.
* `keepfirst`: If > 0, keep this many rows unsorted at the beginning of the top level.
* `keeplast`: If > 0, keep this many rows unsorted at the end of the top level.
* `horiz`: If non-nil, format the items horizontally. If the value is "bullet", put a center dot/bullet (·) between
items. If the value is "comma", put a comma between items (but if there is an embedded comma in any item,
put a semicolon between all items).
Each item in `content` is in one of the following formats:
* A string. This is for compatibility and should not be used by new callers.
* An object describing an item to format, in the format expected by full_link() in [[Module:links]] but can also
have left or right qualifiers, left or right labels, or references.
* An object describing a list of subitems to format, displayed side-by-side, separated by a comma or other separator.
This format is identified by the presence of a key `terms` specifying the list of subitems. Each subitem is in
the same format as for a single top-level item, except that it should also have a `separator` field specifying the
separator to display before each item (which will typically be a blank string before the first item).
]==]
function export.create_list(args)
if type(args) ~= "table" then
error("expected table, got " .. type(args))
end
local column_count = args.column_count or 1
local toggle_category = args.toggle_category or "derived terms"
local keepfirst = args.keepfirst or 0
local keeplast = args.keeplast or 0
if keepfirst > 0 then
track("keepfirst")
end
if keeplast > 0 then
track("keeplast")
end
-- maybe construct old-style header
local old_style_header = nil
if args.header and (args.horiz or not args.title_new_style) then
old_style_header = export.construct_old_style_header(args.header, args.horiz)
end
if args.horiz then
old_style_header = "* " .. (old_style_header or "")
end
local list
local any_extra_indented_item = false
for _, item in ipairs(args.content) do
if item == false then
-- do nothing
elseif type(item) == "table" and item.extra_indent and item.extra_indent > 0 then
any_extra_indented_item = true
break
end
end
-- If any extra indented item, convert the items to a nested structure, which is necessary both for sorting and
-- for converting to HTML.
if any_extra_indented_item then
local function make_node(item)
return {
item = item
}
end
local root_node = make_node(nil)
local node_stack = {root_node}
local last_indent = 0
local function append_subnode(node, subnode)
if not node.subnodes then
node.subnodes = {}
end
insert(node.subnodes, subnode)
end
for i, item in ipairs(args.content) do
if item == false then
-- do nothing
else
local this_indent
if type(item) ~= "table" then
this_indent = 1
else
this_indent = (item.extra_indent or 0) + 1
end
local node = make_node(item)
if this_indent == last_indent then
append_subnode(node_stack[#node_stack], node)
elseif this_indent > last_indent + 1 then
error(("Element #%s (%s) has indent %s, which is more than one greater than the previous item with indent %s"):format(
i, make_sortbase(item), this_indent, last_indent))
elseif this_indent > last_indent then
-- Start a new sublist attached to the last item of the sublist one level up; but we need special
-- handling for the root node (last_indent == 0).
if last_indent > 0 then
local subnodes = node_stack[#node_stack].subnodes
if not subnodes then
error(("Internal error: Not first item and no subnodes at preceding level %s: %s"):format(
#node_stack, dump(node_stack)))
end
insert(node_stack, subnodes[#subnodes])
end
append_subnode(node_stack[#node_stack], node)
last_indent = this_indent
else
while last_indent > this_indent do
local finished_node = table.remove(node_stack)
if args.alphabetize then
require(collation_module).sort(finished_node.subnodes, args.lang, make_node_sortbase)
end
last_indent = last_indent - 1
end
append_subnode(node_stack[#node_stack], node)
end
end
end
if args.alphabetize then
while node_stack[1] do
local finished_node = table.remove(node_stack)
if node_stack[1] then
-- We're sorting something other than the root node.
require(collation_module).sort(finished_node.subnodes, args.lang, make_node_sortbase)
else
-- We're sorting the root node; honor `keepfirst` and `keeplast`.
sort_sublist(finished_node.subnodes, args.lang, make_node_sortbase, keepfirst, keeplast)
end
end
end
local function format_node(node, depth)
local sublist
local embedded_comma = false
if node.subnodes then
if args.horiz then
sublist = {}
else
sublist = html("ul")
end
local prevnode = nil
for _, subnode in ipairs(node.subnodes) do
local thisnode, this_embedded_comma = format_node(subnode, depth + 1)
embedded_comma = embedded_comma or this_embedded_comma
if not prevnode or not args.alphabetize or not deepEquals(prevnode, thisnode) then
if args.horiz then
table.insert(sublist, thisnode)
else
sublist = sublist:node(thisnode)
end
prevnode = thisnode
end
end
if args.horiz then
sublist = table.concat(sublist, get_horizontal_separator(args.horiz, embedded_comma))
end
end
if not node.item then
-- At the root.
return sublist, embedded_comma
end
local formatted, listitem
-- Ignore embedded commas in subitems inside of parens or square brackets.
formatted, embedded_comma = export.format_item(node.item, args)
if args.horiz then
listitem = formatted
if sublist then
-- Use parens for the first, third, fifth, etc. sublists and square brackets for the remainder.
if depth % 2 == 1 then
listitem = ("%s (%s)"):format(listitem, sublist)
else
listitem = ("%s [%s]"):format(listitem, sublist)
end
end
else
listitem = html("li"):wikitext(formatted)
if sublist then
listitem = listitem:node(sublist)
end
end
return listitem, embedded_comma
end
list = format_node(root_node, 0)
else
if args.alphabetize then
sort_sublist(args.content, args.lang, make_sortbase, keepfirst, keeplast)
end
if args.horiz then
list = {}
else
list = html("ul")
end
local previtem = nil
local embedded_comma = false
for _, item in ipairs(args.content) do
if item == false then
-- omitted item; do nothing
else
local thisitem, this_embedded_comma = export.format_item(item, args)
embedded_comma = embedded_comma or this_embedded_comma
if not previtem or not args.alphabetize or previtem ~= thisitem then
if args.horiz then
table.insert(list, thisitem)
else
list = list:node(html("li"):wikitext(thisitem))
end
previtem = thisitem
end
end
end
if args.horiz then
list = table.concat(list, get_horizontal_separator(args.horiz, embedded_comma))
end
end
local output
if args.horiz then
output = list
else
output = html("div"):addClass("term-list"):node(list)
if args.class then
output:addClass(args.class)
end
if not args.raw then
output:addClass("ul-column-count")
:attr("data-column-count", column_count)
if args.collapse then
output = html("div")
:node(output)
:addClass("list-switcher")
:attr("data-toggle-category", toggle_category)
-- identify commonly used scripts that use large text and
-- provide a special CSS class to make the template bigger
local sc = args.sc
if sc == nil then
local scripts = args.lang:getScripts()
if #scripts > 0 then
sc = scripts[1]
end
end
if sc ~= nil then
local scriptcode = sc:getParentCode()
if scriptcode == "top" then
scriptcode = sc:getCode()
end
if large_text_scripts[scriptcode] then
output:addClass("list-switcher-large-text")
end
end
end
end
if args.collapse or args.title_new_style then
-- wrap in wrapper to prevent interference from floating elements
local list_switcher_wrapper = html("div")
:addClass("list-switcher-wrapper")
if args.title_new_style then
list_switcher_wrapper
:node(
html("div")
:addClass("list-switcher-header")
:wikitext(args.header)
)
end
list_switcher_wrapper:node(output)
output = list_switcher_wrapper
end
output = tostring(output)
end
return (old_style_header or "") .. output
end
-- This function is for compatibility with earlier version of [[Module:columns]]
-- (now found in [[Module:columns/old]]).
function export.create_table(...)
-- Earlier arguments to create_table:
-- n_columns, content, alphabetize, bg, collapse, class, title, column_width, line_start, lang
local args = {}
args.column_count, args.content, args.alphabetize,
args.collapse, args.class, args.header, args.column_width,
args.line_start, args.lang = ...
return export.create_list(args)
end
function export.display_from(frame_args, parent_args, frame)
local boolean = {type = "boolean"}
local iparams = {
["class"] = true,
-- Default for auto-collapse. Overridable by template |collapse= param.
["collapse"] = boolean,
-- If specified, this specifies the number of columns, and no columns parameter is available on the template.
-- Otherwise, the columns parameter is named |n=.
["columns"] = {type = "number"},
-- If specified, this specifies the default language code, which can be overridden using |lang= in the template.
-- Otherwise, the language-code parameter is required and normally found in |1=, but for compatibility can be
-- specified as |lang= (which leads to deprecation handling).
["lang"] = {type = "language"},
-- Default for auto-sort. Overridable by template |sort= param.
["sort"] = boolean,
["toggle_category"] = true,
-- Minimum number of rows required to format into a multicolumn list. If below this, the list is displayed "raw"
-- (no columns, no collapsbility).
["minrows"] = {type = "number", default = 5},
-- Disables automatic transliteration; entries without a manual transliteration will have none at all.
-- Used on large pages, especially Chinese ones, because zh-translit works by fetching and parsing
-- the target of the page, which is a performance killer on large pages with potentially thousands
-- of link targets.
-- Note: noautotr also disables redundant transliteration checks.
["noautotr"] = boolean,
}
local iargs = require(parameters_module).process(frame_args, iparams)
local langcode_in_lang = iargs.lang or parent_args.lang
local lang_param = langcode_in_lang and "lang" or 1
local deprecated = not iargs.lang and langcode_in_lang
local ret = export.handle_display_from_or_topic_list(iargs, parent_args, nil)
return deprecated and frame:expandTemplate{title = "check deprecated lang param usage",
args = {ret, lang = args[lang_param]}} or ret
end
--[==[
Implement `display_from()` [the internal entry point for {{tl|col}} and variants, which enter originally through
`display()`] as well as regular (column-oriented) topic lists, invoked through [[Module:topic list]].
`iargs` are the invocation args of {{tl|col}}, and `raw_item_args` are the arguments specifying the values of
each row as well as other properties, corresponding to the user-specified template arguments of {{tl|col}}. Note that
`show()` in [[Module:topic list]] is normally invoked directly by a topic list template, whose invocation
arguments are passed in using `raw_item_args` and are similar to the template arguments of {{tl|col}}. `iargs` for
topic-list invocations is hard-coded, and template arguments to a topic-list template are processed in
[[Module:topic list]] itself. Note that the handling of topic lists is currently implemented almost entirely
through callbacks in `topic_list_data` (which is nil if we're processing {{tl|col}} rather than a topic list) in an
attempt to reduce the coupling and keep the topic-list-specific code in [[Module:topic list]], but IMO the coupling
is still too tight. Probably the control structure should be reversed and the following function split up into
subfunctions, which are invoked as needed by {{tl|col}} and/or [[Module:topic list]].
]==]
function export.handle_display_from_or_topic_list(iargs, raw_item_args, topic_list_data)
local boolean = {type = "boolean"}
local langcode_in_lang = iargs.lang or raw_item_args.lang
local lang_param = langcode_in_lang and "lang" or 1
local first_content_param = langcode_in_lang and 1 or 2
local params = {
[lang_param] = {required = not iargs.lang, type = "language",
template_default = not iargs.lang and "und" or nil},
["n"] = not iargs.columns and {type = "number"} or nil,
[first_content_param] = {list = true, allow_holes = true},
["title"] = {},
["collapse"] = boolean,
["sort"] = boolean,
["sc"] = {type = "script"},
-- used when calling from [[Module:saurus]] so the page displaying the synonyms/antonyms doesn't occur in the
-- list
["omit"] = {list = true},
["keepfirst"] = {type = "number", default = 0},
["keeplast"] = {type = "number", default = 0},
["horiz"] = {},
["notr"] = boolean,
["noautotr"] = boolean,
["allow_space_delim"] = boolean,
["tilde_delim"] = {},
["space_delim"] = {},
["comma_delim"] = {},
}
if topic_list_data then
topic_list_data.add_topic_list_params(params)
end
local m_param_utils = require(parameter_utilities_module)
local param_mods = m_param_utils.construct_param_mods {
{default = true, require_index = true},
{group = "link"}, -- sc has separate_no_index = true; that's the only one
-- It makes no sense to have overall l=, ll=, q= or qq= params for columnar display.
{group = {"ref", "l", "q"}, require_index = true},
}
m_param_utils.augment_params_with_modifiers(params, param_mods)
local processed_args = require(parameters_module).process(raw_item_args, params)
local horiz = processed_args.horiz
if horiz and horiz ~= "comma" and horiz ~= "bullet" then
horiz = require(yesno_module)(horiz)
if horiz == nil then
error(("Unrecognized value |horiz=%s; should be 'comma', 'bullet' or a recognized Boolean value such " ..
"as 'yes' or '1' (same as 'bullet') or 'no' or '0'"):format(processed_args.horiz))
end
if horiz == true then
horiz = "bullet"
end
processed_args.horiz = horiz
end
-- If default argument values specified, set them after parsing the caller-specified arguments in `raw_item_args`.
if topic_list_data then
topic_list_data.set_default_arguments(processed_args)
end
-- Now set defaults for the various delimiters, depending in some cases on whether horiz was set.
-- We can't set these defaults (even regardless of their dependency on horiz=) in `local params` above
-- because we want any defaults specified in `default_props` to override these.
if not processed_args.tilde_delim then
local tilde_with_abbr = '<abbr title="near equivalent">~</abbr>'
processed_args.tilde_delim = processed_args.horiz and tilde_with_abbr or " " .. tilde_with_abbr .. " "
end
if not processed_args.space_delim then
processed_args.space_delim = " "
end
if not processed_args.comma_delim then
processed_args.comma_delim = processed_args.horiz and "/" or ", "
end
-- Check for extra term indent. Do this before calling parse_list_with_inline_modifiers_and_separate_params()
-- because sometimes space is a delimiter and the space in the indent will confuse things and get interpreted as a
-- delimiter.
local extra_indent_by_termno = {}
local termargs = processed_args[first_content_param]
for i = 1, termargs.maxindex do
local term = termargs[i]
if term then
local extra_indent, actual_term = rmatch(term, "^(%*+)%s+(.-)$")
if extra_indent then
termargs[i] = actual_term
extra_indent_by_termno[i] = #extra_indent
end
end
end
local groups, args = m_param_utils.parse_list_with_inline_modifiers_and_separate_params {
param_mods = param_mods,
processed_args = processed_args,
termarg = first_content_param,
parse_lang_prefix = true,
allow_multiple_lang_prefixes = true,
disallow_custom_separators = true,
track_module = "columns",
lang = iargs.lang or lang_param,
sc = "sc.default",
splitchar = processed_args.allow_space_delim and "[,~ ]" or "[,~]",
}
local lang = iargs.lang or args[lang_param]
local langcode = lang:getCode()
local fulllangcode = lang:getFullCode()
local sc = args.sc.default
local sort = iargs.sort
if args.sort ~= nil then
if not args.sort then
track("nosort")
end
sort = args.sort
else
-- HACK! For Japanese-script languages (Japanese, Okinawan, Miyako, etc.), sorting doesn't yet work properly, so
-- disable it.
for _, langsc in ipairs(lang:getScriptCodes()) do
if langsc == "Jpan" then
sort = false
break
end
end
end
local collapse = iargs.collapse
if args.collapse ~= nil then
if not args.collapse then
track("nocollapse")
end
collapse = args.collapse
end
local title = args.title
local formatted_cats
if topic_list_data then
title, formatted_cats = topic_list_data.get_title_and_formatted_cats(args, lang, sc, topic_list_data)
end
local number_of_groups = 0
for i, group in ipairs(groups) do
local number_of_items = 0
group.extra_indent = extra_indent_by_termno[group.orig_index]
for j, item in ipairs(group.terms) do
convert_delimiter_to_separator(item, j, args)
if args.notr then
item.tr = "-"
elseif args.noautotr then
item.tr = item.tr or "-"
end
-- If a separate language code was given for the term, display the language name as a right qualifier.
-- (Briefly we made them labels but this leads to non-obvious behavior e.g. "French" becoming "France" under
-- some circumstances.) Otherwise it may not be obvious that the term is in a separate language (e.g. if the
-- main language is 'zh' and the term language is a Chinese lect such as Min Nan). But don't do this for
-- Translingual terms, which are often added to the list of English and other-language terms.
if item.termlangs then
local qqs = {}
for _, termlang in ipairs(item.termlangs) do
local termlangcode = termlang:getCode()
if termlangcode ~= langcode and termlangcode ~= "mul" then
insert(qqs, termlang:getCanonicalName())
end
end
if item.qq then
for _, qq in ipairs(item.qq) do
insert(qqs, qq)
end
end
item.qq = qqs
end
local omitted = false
for _, omitted_item in ipairs(args.omit) do
if omitted_item == item.term then
omitted = true
break
end
end
if omitted then
-- signal create_list() to omit this item
group.terms[j] = false
else
number_of_items = number_of_items + 1
end
end
if number_of_items == 0 then
-- omit the whole group
groups[i] = false
else
number_of_groups = number_of_groups + 1
end
end
local column_count = iargs.columns or args.n
-- FIXME: This needs a total rewrite.
if column_count == nil then
column_count = number_of_groups <= 3 and 1 or
number_of_groups <= 9 and 2 or
number_of_groups <= 27 and 3 or
number_of_groups <= 81 and 4 or
5
end
local raw = number_of_groups < iargs.minrows
local horiz_edit_button
if topic_list_data and args.horiz then
-- append edit button to title
horiz_edit_button = topic_list_data.make_horiz_edit_button(topic_list_data.topic_list_template)
end
return export.create_list {
column_count = column_count,
raw = raw,
content = groups,
alphabetize = sort,
header = title,
title_new_style = (title ~= nil and title ~= ''),
collapse = collapse,
toggle_category = iargs.toggle_category,
-- columns-bg (in [[MediaWiki:Gadget-Site.css]]) provides the background color
class = (iargs.class and iargs.class .. " columns-bg" or "columns-bg"),
lang = lang,
sc = sc,
subitem_separator = ", ",
keepfirst = args.keepfirst,
keeplast = args.keeplast,
horiz = args.horiz,
noautotr = args.noautotr,
} .. (horiz_edit_button or "") .. (formatted_cats or "")
end
function export.display(frame)
if not is_substing() then
return export.display_from(frame.args, frame:getParent().args, frame, false)
end
-- If substed, unsubst template with newlines between each term, redundant wikilinks removed, and remove duplicates + sort terms if sort is enabled.
local m_table = require("Module:table")
local m_template_parser = require("Module:template parser")
local parent = frame:getParent()
local elems = m_table.shallowCopy(parent.args)
local code = remove(elems, 1)
code = code and trim(code)
local lang = require("Module:languages").getByCode(code, 1)
local i = 1
while true do
local elem = elems[i]
while elem do
elem = trim(elem, "%s")
if elem ~= "" then
break
end
remove(elems, i)
elem = elems[i]
end
if not elem then
break
elseif not ( -- Strip redundant wikilinks.
not elem:match("^()%[%[") or
elem:find("[[", 3, true) or
elem:find("]]", 3, true) ~= #elem - 1 or
elem:find("|", 3, true)
) then
elem = sub(elem, 3, -3)
elem = trim(elem, "%s")
end
elems[i] = elem .. "\n"
i = i + 1
end
-- If sort is enabled, remove duplicates then sort elements.
if require("Module:yesno")(frame.args.sort) then
elems = m_table.removeDuplicates(elems)
require("Module:collation").sort(elems, lang)
end
-- Readd the langcode.
insert(elems, 1, code .. "\n")
-- TODO: Place non-numbered parameters after 1 and before 2.
local template = m_template_parser.getTemplateInvocationName(mw.title.new(parent:getTitle()))
return "{{" .. concat(m_template_parser.buildTemplate(template, elems), "|") .. "}}"
end
return export
ggxpsg8fu99gw35vp3m22r31hfppyl8
396709
396708
2026-06-13T18:37:56Z
咽頭べさ
33
396709
Scribunto
text/plain
local export = {}
local collation_module = "Module:collation"
local debug_track_module = "Module:debug/track"
local headword_data_module = "Module:headword/data"
local JSON_module = "Module:JSON"
local languages_module = "Module:languages"
local links_module = "Module:links"
local pages_module = "Module:pages"
local parameter_utilities_module = "Module:parameter utilities"
local parameters_module = "Module:parameters"
local parse_utilities_module = "Module:parse utilities"
local pron_qualifier_module = "Module:pron qualifier"
local qualifier_module = "Module:qualifier"
local string_utilities_module = "Module:string utilities"
local table_module = "Module:table"
local utilities_module = "Module:utilities"
local yesno_module = "Module:yesno"
local m_str_utils = require(string_utilities_module)
local concat = table.concat
local html = mw.html.create
local is_substing = mw.isSubsting
local insert = table.insert
local rmatch = m_str_utils.match
local remove = table.remove
local sub = string.sub
local trim = m_str_utils.trim
local u = m_str_utils.char
local dump = mw.dumpObject
local function track(page)
require(debug_track_module)("columns/" .. page)
return true
end
local function deepEquals(...)
deepEquals = require(table_module).deepEquals
return deepEquals(...)
end
local function term_already_linked(term)
return term == "?" or -- signals an unknown term
-- optimization to avoid unnecessarily loading [[Module:parse utilities]]
(term:find("[<{]") and require(parse_utilities_module).term_already_linked(term))
end
local function convert_delimiter_to_separator(item, itemind, args)
if itemind == 1 then
item.separator = nil
elseif item.delimiter == " " then
item.separator = args.space_delim
elseif item.delimiter == "~" then
item.separator = args.tilde_delim
else
item.separator = args.comma_delim
end
end
local function get_horizontal_separator(args_horiz, embedded_comma)
return args_horiz == "bullet" and " · " or embedded_comma and "; " or ", "
end
-- Suppress false positives in categories like [[Category:English links with redundant wikilinks]] so people won't
-- be tempted to "correct" them; terms like embedded ~ like [[Micros~1]] or embedded comma not followed by a space
-- such as [[1,6-Cleves acid]] need to have a link around them to avoid the tilde or comma being interpreted as a
-- delimiter.
local function suppress_redundant_wikilink_cat(term, alt)
return term:find("~") or term:find(",%S")
end
local function full_link_and_track_self_links(item, face, nochecktr)
if item.term then
local pagename = mw.loadData(headword_data_module).pagename
local term_is_pagename = item.term == pagename
local term_contains_pagename = item.term:find("%[%[" .. m_str_utils.pattern_escape(pagename) .. "[|%]]")
if term_is_pagename or term_contains_pagename then
local current_L2 = require(pages_module).get_current_L2()
if current_L2 then
local current_L2_lang = require(languages_module).getByCanonicalName(current_L2)
if current_L2_lang and current_L2_lang:getCode() == item.lang:getCode() then
if term_is_pagename then
track("term-is-pagename")
else
track("term-contains-pagename")
end
end
end
end
end
item.suppress_redundant_wikilink_cat = suppress_redundant_wikilink_cat
item.never_call_transliteration_module = nochecktr
return require(links_module).full_link(item, face)
end
local function format_subitem(subitem, lang, face, compute_embedded_comma, nochecktr)
local embedded_comma = false
local text
if subitem.term and term_already_linked(subitem.term) then
text = subitem.term
if compute_embedded_comma then
embedded_comma = not not require(utilities_module).get_plaintext(text):find(",")
end
else
text = full_link_and_track_self_links(subitem, face, nochecktr)
if compute_embedded_comma then
-- We don't check qualifier, label or reference text for commas as it's inside parens or displayed
-- elsewhere.
local subitem_plaintext = subitem.alt or subitem.term
if subitem_plaintext then
embedded_comma = not not subitem_plaintext:find(",")
end
end
end
-- We could use the "show qualifiers" flag to full_link() but not when term_already_linked().
if subitem.q and subitem.q[1] or subitem.qq and subitem.qq[1] or subitem.l and subitem.l[1] or
subitem.ll and subitem.ll[1] or subitem.refs and subitem.refs[1] then
text = require(pron_qualifier_module).format_qualifiers {
lang = subitem.lang or args.lang,
text = text,
q = subitem.q,
qq = subitem.qq,
l = subitem.l,
ll = subitem.ll,
refs = subitem.refs,
}
end
return text, embedded_comma
end
function export.format_item(item, args, face)
local compute_embedded_comma = args.horiz == "comma"
local embedded_comma = false
local nochecktr = args.noautotr
if type(item) == "table" then
if item.terms then
local parts = {}
local is_first = true
for _, subitem in ipairs(item.terms) do
if subitem == false then
-- omitted subitem; do nothing
else
local separator = subitem.separator or not is_first and (args.subitem_separator or ", ")
if separator then
if compute_embedded_comma then
embedded_comma = embedded_comma or not not separator:find(",")
end
insert(parts, separator)
end
local formatted, this_embedded_comma = format_subitem(subitem, args.lang, face,
compute_embedded_comma, nochecktr)
embedded_comma = embedded_comma or this_embedded_comma
insert(parts, formatted)
is_first = false
end
end
return concat(parts), embedded_comma
else
return format_subitem(item, args.lang, face, compute_embedded_comma, nochecktr)
end
else
if compute_embedded_comma then
embedded_comma = not not require(utilities_module).get_plaintext(item):find(",")
end
if args.lang and not term_already_linked(item) then
return full_link_and_track_self_links({lang = args.lang, term = item, sc = args.sc}, face, nochecktr), embedded_comma
else
return item, embedded_comma
end
end
end
function export.construct_old_style_header(header, horiz)
local old_style_header
local function ib_colon()
return tostring(html("span"):addClass("ib-colon"):addClass("ib-content"):wikitext(":"))
end
if horiz then
old_style_header = require(qualifier_module).format_qualifiers {
qualifiers = header,
open = false,
close = false,
} .. ib_colon() .. " "
else
old_style_header = require(qualifier_module).format_qualifiers {
qualifiers = header
} .. ib_colon()
old_style_header = tostring(html("div"):wikitext(old_style_header))
end
return old_style_header
end
-- Construct the sort base of a single term. As a hack, sort appendices after mainspace items.
local function term_sortbase(val)
if not val then
-- This should not normally happen.
return u(0x10FFFF)
elseif val:find("^%[*အဆက်လက္ကရဴ:") then
return u(0x10FFFE) .. val
else
return val
end
end
-- Construct the sort base of a single item, using the display form preferentially, otherwise the term itself.
-- As a hack, sort appendices after mainspace items.
local function item_sortbase(item)
return term_sortbase(item.alt or item.term)
end
local function make_sortbase(item)
if item == false then
return "*" -- doesn't matter, will be omitted in create_list()
elseif type(item) == "table" then
if item.terms then
-- Optimize for the common case of only a single term
if item.terms[2] then
local parts = {}
-- multiple terms
local first = true
for _, subitem in ipairs(item.terms) do
if subitem ~= false then
if not first then
insert(parts, ", ")
end
insert(parts, item_sortbase(subitem))
first = false
end
end
if parts[1] then
return concat(parts)
end
else
local subitem = item.terms[1]
if subitem ~= false then
return item_sortbase(subitem)
end
end
return "*" -- doesn't matter, entire group will be omitted in create_list()
else
return item_sortbase(item)
end
else
return item
end
end
local function make_node_sortbase(node)
return make_sortbase(node.item)
end
-- Sort a sublist of `list` in place, keeping the first `keepfirst` and last `keeplast` items fixed.
-- `lang` is the language of the items and `make_sortbase` creates the appropriate sort base.
local function sort_sublist(list, lang, make_sortbase, keepfirst, keeplast)
if keepfirst == 0 and keeplast == 0 then
require(collation_module).sort(list, lang, make_sortbase)
else
local sublist = {}
for i = keepfirst + 1, #list - keeplast do
sublist[i - keepfirst] = list[i]
end
require(collation_module).sort(sublist, lang, make_sortbase)
for i = keepfirst + 1, #list - keeplast do
list[i] = sublist[i - keepfirst]
end
end
end
-- URL-encode only the characters that serve as template delimiters (left and right brace, vertical bar, equal sign
-- and percent sign since it's the escape character).
local function bot_url_encode(txt)
return (txt:gsub("[%%|{}=&]",
{["%"] = "%25", ["|"] = "%7C", ["{"] = "%7B", ["}"] = "%7D", ["="] = "%3D", ["&"] = "%26"}))
end
-- Reverse the action of bot_url_encode().
local function bot_url_decode(txt)
return (txt:gsub("%%7([BCD])", {B = "{", C = "|", D = "}"}):gsub("%%3D", "="):gsub("%%26", "&"):gsub("%%25", "%%"))
end
--[==[
Bot-callable function to generate a number of sortkeys simultaneously. {{para|1}} contains the langcode, and remaining
numeric parameters contain "bot-URL-encoded" strings whose sort keys will be computed and returned as a JSON array.
Here, "bot-URL-encoded" means that the six characters `{ | } = & %` should be converted to
their URL-encoded representation (respectively `%7B %7C %7D %3D %26 %25`), and will be decoded appropriately
before computing the sortkey.
]==]
function export.make_sortkey(frame)
local iparams = {
[1] = {type = "language"},
[2] = {list = true},
}
local iargs = require(parameters_module).process(frame.args, iparams)
local make_sortkey = require(collation_module).make_lang_sortkey_function(iargs[1], term_sortbase)
local retval = {}
for _, arg in ipairs(iargs[2]) do
arg = bot_url_decode(arg)
insert(retval, make_sortkey(arg))
end
return require(JSON_module).toJSON(retval)
end
local large_text_scripts = {
["Arab"] = true,
["Beng"] = true,
["Deva"] = true,
["Gujr"] = true,
["Guru"] = true,
["Hebr"] = true,
["Khmr"] = true,
["Knda"] = true,
["Laoo"] = true,
["Mlym"] = true,
["Mong"] = true,
["Mymr"] = true,
["Orya"] = true,
["Sinh"] = true,
["Syrc"] = true,
["Taml"] = true,
["Telu"] = true,
["Tfng"] = true,
["Thai"] = true,
["Tibt"] = true,
}
--[==[
Format a list of items using HTML. `args` is an object specifying the items to add and related properties, with the
following fields:
* `content`: A list of the items to format. See below for the format of the items.
* `lang`: The language object of the items to format, if the items in `content` are strings.
* `sc`: The script object of the items to format, if the items in `content` are strings.
* `raw`: If true, return the list raw, without any collapsing or columns.
* `class`: The CSS class of the surrounding {<div>}.
* `column_count`: Number of columns to format the list into.
* `alphabetize`: If true, sort the items in the table.
* `collapse`: If true, make the table partially collapsed by default, with a "Show more" button at the bottom.
* `toggle_category`: Value of `data-toggle-category` property grouping collapsible elements.
* `header`: If specified, Wikicode to prepend to the output.
* `title_new_style`: If true, the header is treated as a title and displayed in a new style. This is ignored if `horiz`
is non-nil.
* `subitem_separator`: Separator used between subitems when multiple subitems occur on a line, if not specified in the
subitem itself (using the `separator` field). Defaults to {", "}.
* `keepfirst`: If > 0, keep this many rows unsorted at the beginning of the top level.
* `keeplast`: If > 0, keep this many rows unsorted at the end of the top level.
* `horiz`: If non-nil, format the items horizontally. If the value is "bullet", put a center dot/bullet (·) between
items. If the value is "comma", put a comma between items (but if there is an embedded comma in any item,
put a semicolon between all items).
Each item in `content` is in one of the following formats:
* A string. This is for compatibility and should not be used by new callers.
* An object describing an item to format, in the format expected by full_link() in [[Module:links]] but can also
have left or right qualifiers, left or right labels, or references.
* An object describing a list of subitems to format, displayed side-by-side, separated by a comma or other separator.
This format is identified by the presence of a key `terms` specifying the list of subitems. Each subitem is in
the same format as for a single top-level item, except that it should also have a `separator` field specifying the
separator to display before each item (which will typically be a blank string before the first item).
]==]
function export.create_list(args)
if type(args) ~= "table" then
error("expected table, got " .. type(args))
end
local column_count = args.column_count or 1
local toggle_category = args.toggle_category or "derived terms"
local keepfirst = args.keepfirst or 0
local keeplast = args.keeplast or 0
if keepfirst > 0 then
track("keepfirst")
end
if keeplast > 0 then
track("keeplast")
end
-- maybe construct old-style header
local old_style_header = nil
if args.header and (args.horiz or not args.title_new_style) then
old_style_header = export.construct_old_style_header(args.header, args.horiz)
end
if args.horiz then
old_style_header = "* " .. (old_style_header or "")
end
local list
local any_extra_indented_item = false
for _, item in ipairs(args.content) do
if item == false then
-- do nothing
elseif type(item) == "table" and item.extra_indent and item.extra_indent > 0 then
any_extra_indented_item = true
break
end
end
-- If any extra indented item, convert the items to a nested structure, which is necessary both for sorting and
-- for converting to HTML.
if any_extra_indented_item then
local function make_node(item)
return {
item = item
}
end
local root_node = make_node(nil)
local node_stack = {root_node}
local last_indent = 0
local function append_subnode(node, subnode)
if not node.subnodes then
node.subnodes = {}
end
insert(node.subnodes, subnode)
end
for i, item in ipairs(args.content) do
if item == false then
-- do nothing
else
local this_indent
if type(item) ~= "table" then
this_indent = 1
else
this_indent = (item.extra_indent or 0) + 1
end
local node = make_node(item)
if this_indent == last_indent then
append_subnode(node_stack[#node_stack], node)
elseif this_indent > last_indent + 1 then
error(("Element #%s (%s) has indent %s, which is more than one greater than the previous item with indent %s"):format(
i, make_sortbase(item), this_indent, last_indent))
elseif this_indent > last_indent then
-- Start a new sublist attached to the last item of the sublist one level up; but we need special
-- handling for the root node (last_indent == 0).
if last_indent > 0 then
local subnodes = node_stack[#node_stack].subnodes
if not subnodes then
error(("Internal error: Not first item and no subnodes at preceding level %s: %s"):format(
#node_stack, dump(node_stack)))
end
insert(node_stack, subnodes[#subnodes])
end
append_subnode(node_stack[#node_stack], node)
last_indent = this_indent
else
while last_indent > this_indent do
local finished_node = table.remove(node_stack)
if args.alphabetize then
require(collation_module).sort(finished_node.subnodes, args.lang, make_node_sortbase)
end
last_indent = last_indent - 1
end
append_subnode(node_stack[#node_stack], node)
end
end
end
if args.alphabetize then
while node_stack[1] do
local finished_node = table.remove(node_stack)
if node_stack[1] then
-- We're sorting something other than the root node.
require(collation_module).sort(finished_node.subnodes, args.lang, make_node_sortbase)
else
-- We're sorting the root node; honor `keepfirst` and `keeplast`.
sort_sublist(finished_node.subnodes, args.lang, make_node_sortbase, keepfirst, keeplast)
end
end
end
local function format_node(node, depth)
local sublist
local embedded_comma = false
if node.subnodes then
if args.horiz then
sublist = {}
else
sublist = html("ul")
end
local prevnode = nil
for _, subnode in ipairs(node.subnodes) do
local thisnode, this_embedded_comma = format_node(subnode, depth + 1)
embedded_comma = embedded_comma or this_embedded_comma
if not prevnode or not args.alphabetize or not deepEquals(prevnode, thisnode) then
if args.horiz then
table.insert(sublist, thisnode)
else
sublist = sublist:node(thisnode)
end
prevnode = thisnode
end
end
if args.horiz then
sublist = table.concat(sublist, get_horizontal_separator(args.horiz, embedded_comma))
end
end
if not node.item then
-- At the root.
return sublist, embedded_comma
end
local formatted, listitem
-- Ignore embedded commas in subitems inside of parens or square brackets.
formatted, embedded_comma = export.format_item(node.item, args)
if args.horiz then
listitem = formatted
if sublist then
-- Use parens for the first, third, fifth, etc. sublists and square brackets for the remainder.
if depth % 2 == 1 then
listitem = ("%s (%s)"):format(listitem, sublist)
else
listitem = ("%s [%s]"):format(listitem, sublist)
end
end
else
listitem = html("li"):wikitext(formatted)
if sublist then
listitem = listitem:node(sublist)
end
end
return listitem, embedded_comma
end
list = format_node(root_node, 0)
else
if args.alphabetize then
sort_sublist(args.content, args.lang, make_sortbase, keepfirst, keeplast)
end
if args.horiz then
list = {}
else
list = html("ul")
end
local previtem = nil
local embedded_comma = false
for _, item in ipairs(args.content) do
if item == false then
-- omitted item; do nothing
else
local thisitem, this_embedded_comma = export.format_item(item, args)
embedded_comma = embedded_comma or this_embedded_comma
if not previtem or not args.alphabetize or previtem ~= thisitem then
if args.horiz then
table.insert(list, thisitem)
else
list = list:node(html("li"):wikitext(thisitem))
end
previtem = thisitem
end
end
end
if args.horiz then
list = table.concat(list, get_horizontal_separator(args.horiz, embedded_comma))
end
end
local output
if args.horiz then
output = list
else
output = html("div"):addClass("term-list"):node(list)
if args.class then
output:addClass(args.class)
end
if not args.raw then
output:addClass("ul-column-count")
:attr("data-column-count", column_count)
if args.collapse then
output = html("div")
:node(output)
:addClass("list-switcher")
:attr("data-toggle-category", toggle_category)
-- identify commonly used scripts that use large text and
-- provide a special CSS class to make the template bigger
local sc = args.sc
if sc == nil then
local scripts = args.lang:getScripts()
if #scripts > 0 then
sc = scripts[1]
end
end
if sc ~= nil then
local scriptcode = sc:getParentCode()
if scriptcode == "top" then
scriptcode = sc:getCode()
end
if large_text_scripts[scriptcode] then
output:addClass("list-switcher-large-text")
end
end
end
end
if args.collapse or args.title_new_style then
-- wrap in wrapper to prevent interference from floating elements
local list_switcher_wrapper = html("div")
:addClass("list-switcher-wrapper")
if args.title_new_style then
list_switcher_wrapper
:node(
html("div")
:addClass("list-switcher-header")
:wikitext(args.header)
)
end
list_switcher_wrapper:node(output)
output = list_switcher_wrapper
end
output = tostring(output)
end
return (old_style_header or "") .. output
end
-- This function is for compatibility with earlier version of [[Module:columns]]
-- (now found in [[Module:columns/old]]).
function export.create_table(...)
-- Earlier arguments to create_table:
-- n_columns, content, alphabetize, bg, collapse, class, title, column_width, line_start, lang
local args = {}
args.column_count, args.content, args.alphabetize,
args.collapse, args.class, args.header, args.column_width,
args.line_start, args.lang = ...
return export.create_list(args)
end
function export.display_from(frame_args, parent_args, frame)
local boolean = {type = "boolean"}
local iparams = {
["class"] = true,
-- Default for auto-collapse. Overridable by template |collapse= param.
["collapse"] = boolean,
-- If specified, this specifies the number of columns, and no columns parameter is available on the template.
-- Otherwise, the columns parameter is named |n=.
["columns"] = {type = "number"},
-- If specified, this specifies the default language code, which can be overridden using |lang= in the template.
-- Otherwise, the language-code parameter is required and normally found in |1=, but for compatibility can be
-- specified as |lang= (which leads to deprecation handling).
["lang"] = {type = "language"},
-- Default for auto-sort. Overridable by template |sort= param.
["sort"] = boolean,
["toggle_category"] = true,
-- Minimum number of rows required to format into a multicolumn list. If below this, the list is displayed "raw"
-- (no columns, no collapsbility).
["minrows"] = {type = "number", default = 5},
-- Disables automatic transliteration; entries without a manual transliteration will have none at all.
-- Used on large pages, especially Chinese ones, because zh-translit works by fetching and parsing
-- the target of the page, which is a performance killer on large pages with potentially thousands
-- of link targets.
-- Note: noautotr also disables redundant transliteration checks.
["noautotr"] = boolean,
}
local iargs = require(parameters_module).process(frame_args, iparams)
local langcode_in_lang = iargs.lang or parent_args.lang
local lang_param = langcode_in_lang and "lang" or 1
local deprecated = not iargs.lang and langcode_in_lang
local ret = export.handle_display_from_or_topic_list(iargs, parent_args, nil)
return deprecated and frame:expandTemplate{title = "check deprecated lang param usage",
args = {ret, lang = args[lang_param]}} or ret
end
--[==[
Implement `display_from()` [the internal entry point for {{tl|col}} and variants, which enter originally through
`display()`] as well as regular (column-oriented) topic lists, invoked through [[Module:topic list]].
`iargs` are the invocation args of {{tl|col}}, and `raw_item_args` are the arguments specifying the values of
each row as well as other properties, corresponding to the user-specified template arguments of {{tl|col}}. Note that
`show()` in [[Module:topic list]] is normally invoked directly by a topic list template, whose invocation
arguments are passed in using `raw_item_args` and are similar to the template arguments of {{tl|col}}. `iargs` for
topic-list invocations is hard-coded, and template arguments to a topic-list template are processed in
[[Module:topic list]] itself. Note that the handling of topic lists is currently implemented almost entirely
through callbacks in `topic_list_data` (which is nil if we're processing {{tl|col}} rather than a topic list) in an
attempt to reduce the coupling and keep the topic-list-specific code in [[Module:topic list]], but IMO the coupling
is still too tight. Probably the control structure should be reversed and the following function split up into
subfunctions, which are invoked as needed by {{tl|col}} and/or [[Module:topic list]].
]==]
function export.handle_display_from_or_topic_list(iargs, raw_item_args, topic_list_data)
local boolean = {type = "boolean"}
local langcode_in_lang = iargs.lang or raw_item_args.lang
local lang_param = langcode_in_lang and "lang" or 1
local first_content_param = langcode_in_lang and 1 or 2
local params = {
[lang_param] = {required = not iargs.lang, type = "language",
template_default = not iargs.lang and "und" or nil},
["n"] = not iargs.columns and {type = "number"} or nil,
[first_content_param] = {list = true, allow_holes = true},
["title"] = {},
["collapse"] = boolean,
["sort"] = boolean,
["sc"] = {type = "script"},
-- used when calling from [[Module:saurus]] so the page displaying the synonyms/antonyms doesn't occur in the
-- list
["omit"] = {list = true},
["keepfirst"] = {type = "number", default = 0},
["keeplast"] = {type = "number", default = 0},
["horiz"] = {},
["notr"] = boolean,
["noautotr"] = boolean,
["allow_space_delim"] = boolean,
["tilde_delim"] = {},
["space_delim"] = {},
["comma_delim"] = {},
}
if topic_list_data then
topic_list_data.add_topic_list_params(params)
end
local m_param_utils = require(parameter_utilities_module)
local param_mods = m_param_utils.construct_param_mods {
{default = true, require_index = true},
{group = "link"}, -- sc has separate_no_index = true; that's the only one
-- It makes no sense to have overall l=, ll=, q= or qq= params for columnar display.
{group = {"ref", "l", "q"}, require_index = true},
}
m_param_utils.augment_params_with_modifiers(params, param_mods)
local processed_args = require(parameters_module).process(raw_item_args, params)
local horiz = processed_args.horiz
if horiz and horiz ~= "comma" and horiz ~= "bullet" then
horiz = require(yesno_module)(horiz)
if horiz == nil then
error(("Unrecognized value |horiz=%s; should be 'comma', 'bullet' or a recognized Boolean value such " ..
"as 'yes' or '1' (same as 'bullet') or 'no' or '0'"):format(processed_args.horiz))
end
if horiz == true then
horiz = "bullet"
end
processed_args.horiz = horiz
end
-- If default argument values specified, set them after parsing the caller-specified arguments in `raw_item_args`.
if topic_list_data then
topic_list_data.set_default_arguments(processed_args)
end
-- Now set defaults for the various delimiters, depending in some cases on whether horiz was set.
-- We can't set these defaults (even regardless of their dependency on horiz=) in `local params` above
-- because we want any defaults specified in `default_props` to override these.
if not processed_args.tilde_delim then
local tilde_with_abbr = '<abbr title="near equivalent">~</abbr>'
processed_args.tilde_delim = processed_args.horiz and tilde_with_abbr or " " .. tilde_with_abbr .. " "
end
if not processed_args.space_delim then
processed_args.space_delim = " "
end
if not processed_args.comma_delim then
processed_args.comma_delim = processed_args.horiz and "/" or ", "
end
-- Check for extra term indent. Do this before calling parse_list_with_inline_modifiers_and_separate_params()
-- because sometimes space is a delimiter and the space in the indent will confuse things and get interpreted as a
-- delimiter.
local extra_indent_by_termno = {}
local termargs = processed_args[first_content_param]
for i = 1, termargs.maxindex do
local term = termargs[i]
if term then
local extra_indent, actual_term = rmatch(term, "^(%*+)%s+(.-)$")
if extra_indent then
termargs[i] = actual_term
extra_indent_by_termno[i] = #extra_indent
end
end
end
local groups, args = m_param_utils.parse_list_with_inline_modifiers_and_separate_params {
param_mods = param_mods,
processed_args = processed_args,
termarg = first_content_param,
parse_lang_prefix = true,
allow_multiple_lang_prefixes = true,
disallow_custom_separators = true,
track_module = "columns",
lang = iargs.lang or lang_param,
sc = "sc.default",
splitchar = processed_args.allow_space_delim and "[,~ ]" or "[,~]",
}
local lang = iargs.lang or args[lang_param]
local langcode = lang:getCode()
local fulllangcode = lang:getFullCode()
local sc = args.sc.default
local sort = iargs.sort
if args.sort ~= nil then
if not args.sort then
track("nosort")
end
sort = args.sort
else
-- HACK! For Japanese-script languages (Japanese, Okinawan, Miyako, etc.), sorting doesn't yet work properly, so
-- disable it.
for _, langsc in ipairs(lang:getScriptCodes()) do
if langsc == "Jpan" then
sort = false
break
end
end
end
local collapse = iargs.collapse
if args.collapse ~= nil then
if not args.collapse then
track("nocollapse")
end
collapse = args.collapse
end
local title = args.title
local formatted_cats
if topic_list_data then
title, formatted_cats = topic_list_data.get_title_and_formatted_cats(args, lang, sc, topic_list_data)
end
local number_of_groups = 0
for i, group in ipairs(groups) do
local number_of_items = 0
group.extra_indent = extra_indent_by_termno[group.orig_index]
for j, item in ipairs(group.terms) do
convert_delimiter_to_separator(item, j, args)
if args.notr then
item.tr = "-"
elseif args.noautotr then
item.tr = item.tr or "-"
end
-- If a separate language code was given for the term, display the language name as a right qualifier.
-- (Briefly we made them labels but this leads to non-obvious behavior e.g. "French" becoming "France" under
-- some circumstances.) Otherwise it may not be obvious that the term is in a separate language (e.g. if the
-- main language is 'zh' and the term language is a Chinese lect such as Min Nan). But don't do this for
-- Translingual terms, which are often added to the list of English and other-language terms.
if item.termlangs then
local qqs = {}
for _, termlang in ipairs(item.termlangs) do
local termlangcode = termlang:getCode()
if termlangcode ~= langcode and termlangcode ~= "mul" then
insert(qqs, termlang:getCanonicalName())
end
end
if item.qq then
for _, qq in ipairs(item.qq) do
insert(qqs, qq)
end
end
item.qq = qqs
end
local omitted = false
for _, omitted_item in ipairs(args.omit) do
if omitted_item == item.term then
omitted = true
break
end
end
if omitted then
-- signal create_list() to omit this item
group.terms[j] = false
else
number_of_items = number_of_items + 1
end
end
if number_of_items == 0 then
-- omit the whole group
groups[i] = false
else
number_of_groups = number_of_groups + 1
end
end
local column_count = iargs.columns or args.n
-- FIXME: This needs a total rewrite.
if column_count == nil then
column_count = number_of_groups <= 3 and 1 or
number_of_groups <= 9 and 2 or
number_of_groups <= 27 and 3 or
number_of_groups <= 81 and 4 or
5
end
local raw = number_of_groups < iargs.minrows
local horiz_edit_button
if topic_list_data and args.horiz then
-- append edit button to title
horiz_edit_button = topic_list_data.make_horiz_edit_button(topic_list_data.topic_list_template)
end
return export.create_list {
column_count = column_count,
raw = raw,
content = groups,
alphabetize = sort,
header = title,
title_new_style = (title ~= nil and title ~= ''),
collapse = collapse,
toggle_category = iargs.toggle_category,
-- columns-bg (in [[MediaWiki:Gadget-Site.css]]) provides the background color
class = (iargs.class and iargs.class .. " columns-bg" or "columns-bg"),
lang = lang,
sc = sc,
subitem_separator = ", ",
keepfirst = args.keepfirst,
keeplast = args.keeplast,
horiz = args.horiz,
noautotr = args.noautotr,
} .. (horiz_edit_button or "") .. (formatted_cats or "")
end
function export.display(frame)
if not is_substing() then
return export.display_from(frame.args, frame:getParent().args, frame, false)
end
-- If substed, unsubst template with newlines between each term, redundant wikilinks removed, and remove duplicates + sort terms if sort is enabled.
local m_table = require("Module:table")
local m_template_parser = require("Module:template parser")
local parent = frame:getParent()
local elems = m_table.shallowCopy(parent.args)
local code = remove(elems, 1)
code = code and trim(code)
local lang = require("Module:languages").getByCode(code, 1)
local i = 1
while true do
local elem = elems[i]
while elem do
elem = trim(elem, "%s")
if elem ~= "" then
break
end
remove(elems, i)
elem = elems[i]
end
if not elem then
break
elseif not ( -- Strip redundant wikilinks.
not elem:match("^()%[%[") or
elem:find("[[", 3, true) or
elem:find("]]", 3, true) ~= #elem - 1 or
elem:find("|", 3, true)
) then
elem = sub(elem, 3, -3)
elem = trim(elem, "%s")
end
elems[i] = elem .. "\n"
i = i + 1
end
-- If sort is enabled, remove duplicates then sort elements.
if require("Module:yesno")(frame.args.sort) then
elems = m_table.removeDuplicates(elems)
require("Module:collation").sort(elems, lang)
end
-- Readd the langcode.
insert(elems, 1, code .. "\n")
-- TODO: Place non-numbered parameters after 1 and before 2.
local template = m_template_parser.getTemplateInvocationName(mw.title.new(parent:getTitle()))
return "{{" .. concat(m_template_parser.buildTemplate(template, elems), "|") .. "}}"
end
return export
pbraaroguegomqukobe23p6rd2ww8kf
ထာမ်ပလိက်:alt case form of
10
1359
396793
293826
2026-06-14T06:15:52Z
咽頭べさ
33
396793
wikitext
text/x-wiki
{{ {{#if:{{{lang|}}}|check deprecated lang param usage|no deprecated lang param usage}}|lang={{{lang|}}}|<!--
-->{{#invoke:form of/templates|form_of_t|သွက်ဂွံရုဲကေတ်ဗီုအက္ခရ်နူဝေါဟာ |withencap=1}}<!--
-->}}<!--
--><noinclude>{{documentation}}</noinclude>
d69lpopa372f6x3qwoe9oylemsjvttz
မဝ်ဂျူ:family tree
828
1736
396763
385599
2026-06-13T19:19:32Z
咽頭べさ
33
396763
Scribunto
text/plain
--[=[
Authors: [[User:kc_kennylau]], [[User:JohnC5]], [[User:Erutuon]], [[User:Suzukaze-c]], [[User:Theknightwho]], [[User:AryamanA]]
--]=]
local export = {}
local regular_languages = require("Module:languages/code to canonical name")
local etymology_languages = require("Module:etymology languages/code to canonical name")
local families = require("Module:families/code to canonical name")
function export.find_subtree(t, code)
for _, val in ipairs(t) do
if val.name == code then -- "name" is really code
return {val}
end
local result = export.find_subtree(val, code)
if result ~= nil then
return result
end
end
end
local family_icon = "F"
local variety_icon = "V"
local proto_language_icon = family_icon
local family_with_proto_language_icon = family_icon
local function format_node(code, is_protolanguage_or_has_protolanguage, options)
local canonical_name, category_name, class, icon, tooltip, lemma_count_text
if regular_languages[code] then
canonical_name = regular_languages[code]
--category_name = canonical_name:match(" [Ll]anguage$") and canonical_name or canonical_name .. " language"
category_name = "ဘာသာ" .. canonical_name
class = "familytree-lang"
if is_protolanguage_or_has_protolanguage then
class = class .. ' familytree-protolang'
icon = proto_language_icon
end
-- Add lemma count if the lemma_count option is set and category name exists
if options and options.lemma_count and category_name then
page_count = mw.site.stats.pagesInCategory(
"ဝေါဟာအဓိက" .. category_name .. "ဂမၠိုၚ်",
"မုက်လိက်"
)
lemma_count_text = ' (' .. page_count .. ')'
end
elseif etymology_languages[code] then
canonical_name = etymology_languages[code]
category_name = "ဘာသာ" .. canonical_name
class = "familytree-etymlang"
icon = variety_icon
tooltip = "နဲကဲဘာသာ"
elseif families[code] then
canonical_name = families[code]
--category_name = (canonical_name:match(" [Ll]anguages$") or canonical_name:match(" [Ll]ects$")) and canonical_name or
-- canonical_name .. " languages"
category_name = "ဘာသာဝေါၚ်သ" .. canonical_name
class = "familytree-family"
if is_protolanguage_or_has_protolanguage then
class = class .. ' familytree-hasprotolang'
icon = family_with_proto_language_icon
else
icon = family_icon
end
tooltip = "ဘာသာဝေါၚ်သ"
end
return '<span class="' .. class .. '" '
.. (tooltip and 'title="' .. tooltip .. '"' or '') .. '>'
.. '[[:Category:' .. (category_name or canonical_name) .. '|'
.. canonical_name
.. ' <span class="familytree-code">(' .. code .. ')</span>]]'
.. (icon and ' <span class="familytree-icon">' .. icon .. '</span>' or '')
-- Include lemma count text if available
.. (lemma_count_text or '')
.. '</span>'
end
-- If neither options.show_all_families or options.show_etymology_languages is
-- falsy, then this function does nothing.
local function filter_nested_data(nested_data, options, protolanguage_of, is_protolanguage)
if not nested_data then -- ???
return nil
else
local name = nested_data.name
local first_child = nested_data[1]
-- This indicates that new_nested_data below should only be returned
-- if it contains non-etymology languages.
local check_for_non_etymology_children = false
-- If `show_all_families` is false and this is a family and its only
-- child is its proto-language, then replace the family with the
-- proto-language.
if options.hide_families_with_protolanguages and name and families[name]
and first_child and not nested_data[2]
and protolanguage_of[name] == first_child.name then
is_protolanguage[first_child.name] = true
return filter_nested_data(first_child, options, protolanguage_of, is_protolanguage)
elseif options.hide_etymology_languages
and etymology_languages[name] then
if nested_data[1] then
check_for_non_etymology_children = true
else
return nil
end
end
local new_nested_data = { name = name }
local i = 0
for _, subtable in ipairs(nested_data) do
subtable = filter_nested_data(subtable, options, protolanguage_of, is_protolanguage)
if subtable then
i = i + 1
new_nested_data[i] = subtable
end
end
if not check_for_non_etymology_children or new_nested_data[1] then
return new_nested_data
end
end
end
local function make_node(code, is_protolanguage, protolanguage_of, options)
return '</span> ' .. format_node(code,
is_protolanguage[code] or protolanguage_of[code] ~= nil, options)
end
local function only_child_is_protolanguage(tree, options, protolanguage_of)
return (options.family_under_protolanguage
or options.protolanguage_under_family)
and tree[1] and protolanguage_of[tree.name] == tree[1].name
end
export.are_all_children_etymology_languages = require("Module:memoize")(function (nested_data)
if not nested_data[1] then
return nil
end
for _, child in ipairs(nested_data) do
if not etymology_languages[child.name]
or export.are_all_children_etymology_languages(child) == false then
return false
end
end
return true
end)
local customcollapsible_number = 0
local customcollapsible_prefix = "familytree"
local function get_customcollapsible_id()
customcollapsible_number = customcollapsible_number + 1
return customcollapsible_prefix .. customcollapsible_number
end
local no_break_space = "\194\160"
local level_separator = (no_break_space):rep(3)
local expandtext, collapsetext = "[+]─", "[-]┬"
local function make_tree(data, is_protolanguage, protolanguage_of, options, prefix)
local result = {}
local function ins(val)
table.insert(result, val)
end
-- This tag is closed in the node generated by make_node.
prefix = prefix or '<span class="familytree-linedrawing">'
local branch = "├"
local next_level = prefix .. "│" .. level_separator
local length = #data
for i, val in ipairs(data) do
if i == length then
branch = "└"
next_level = prefix .. level_separator .. no_break_space
end
local code = val.name
local language_or_family_node =
make_node(code, is_protolanguage, protolanguage_of, options)
if not val[1] then
ins('<li>' .. prefix .. branch .. options.sterile_branch_text
.. language_or_family_node .. '</li>')
else
local customcollapsible_id = get_customcollapsible_id()
ins('<li>' .. prefix .. branch
.. '<span class="familytree-toggle mw-customtoggle-'
.. customcollapsible_id .. '">───┬</span>')
-- name me!
local flag = (options.family_under_protolanguage
or options.protolanguage_under_family)
and only_child_is_protolanguage(val, options, protolanguage_of)
local top_node
if flag then
code = val[1].name
val = val[1]
top_node = make_node(code, is_protolanguage, protolanguage_of, options)
if options.protolanguage_under_family then
top_node, language_or_family_node =
language_or_family_node, top_node
end
end
local all_children_are_etymology_languages =
export.are_all_children_etymology_languages(val)
local collapsible_ul = '<ul class="mw-collapsible'
.. (all_children_are_etymology_languages
and ' familytree-only-etym-children'
or '') .. '" '
.. 'id="mw-customcollapsible-' .. customcollapsible_id
.. '" data-expandtext="' .. expandtext
.. '" data-collapsetext="' .. collapsetext .. '">'
if flag then
ins(top_node
.. collapsible_ul .. '<li>' .. prefix
.. (i == length and no_break_space or "│")
.. level_separator .. "│")
end
ins(language_or_family_node)
if not flag then
ins(collapsible_ul)
end
-- Can't get default collapsibility script to apply the data-expandtext
-- and data-collapsetext attribute values to the custom toggle,
-- so have to have a custom script do it.
ins(make_tree(val, is_protolanguage, protolanguage_of, options, next_level))
ins('</ul></li>')
end
end
return table.concat(result)
end
local function get_number_parameter_in_range(args, arg, low, high)
local val = args[arg]
if val == "" or val == nil then
val = nil
else
val = tonumber(val)
if not (type(val) == "number"
and 0 <= val and val <= 6) then
error("Expected nothing or number between " .. low .. " and "
.. high .. " in parameter |" .. arg .. "=.")
end
end
return val
end
function export.show(frame)
local args = frame.args
local descendants_of = args[1]
local to_boolean = require("Module:yesno")
-- Determines whether families that have proto-languages will be shown.
local show_all_families = to_boolean(args[2] or args.fam)
-- Determines whether all etymology languages will be shown.
local show_etymology_languages = to_boolean(args[3] or args.etym)
-- Get the value for lemma_count argument
local lemma_count = to_boolean(args.lemma_count)
-- help! parameter name too long!
local sterile_branch_length = get_number_parameter_in_range(args, "sterile_branch_length", 0, 6)
-- Determines whether (if all families are shown) a family will be shown
-- on a line directly under and at the same level as its proto-language,
-- or the proto-language on a line directly under and at the same level as
-- its family.
local family_under_protolanguage = to_boolean(args.famunderproto)
local protolanguage_under_family = to_boolean(args.protounderfam)
if family_under_protolanguage and protolanguage_under_family then
error("Kindly choose between proto-language under family and family under proto-language.")
end
return export.print_children(descendants_of, {
hide_families_with_protolanguages = not show_all_families,
hide_etymology_languages = not show_etymology_languages,
family_under_protolanguage = family_under_protolanguage,
protolanguage_under_family = protolanguage_under_family,
sterile_branch_length = sterile_branch_length,
collapsed = require("Module:yesno")(args.collapsed),
lemma_count = lemma_count
})
end
function export.print_children(descendants_of, options)
local m_languages = require("Module:languages")
local m_table = require("Module:table")
local make_auto_subtabler = require("Module:auto-subtable")
descendants_of = m_languages.getByCode(descendants_of, nil, true, true)
local names = {}
local protolanguage_of = {}
local children = make_auto_subtabler{}
local descendants = descendants_of:getDescendantCodes()
table.insert(descendants, descendants_of:getCode())
if descendants_of:hasType("family") then
protolanguage_of[descendants_of:getCode()] = descendants_of:getProtoLanguageCode()
end
local memoized = {}
local get = function(code, func, ...)
local ret = memoized[code] or func(...)
if code then
memoized[code] = ret
end
return ret
end
for _, descendant_code in ipairs(descendants) do
-- Inner "repeat until true" loop allows break to work like continue, as it will always only run once.
repeat
local descendant = get(descendant_code, m_languages.getByCode, descendant_code, nil, true, true)
names[descendant_code] = descendant:getCanonicalName():gsub("Proto%-", "")
if descendant:hasType("language") then
local ancestors = m_table.shallowCopy(descendant:getAncestorCodes())
local parent_code = descendant:getParentCode()
if parent_code and descendant:hasType("etymology-only") then
local parent = get(parent_code, descendant.getParent, descendant)
if m_table.deepEquals(parent:getAncestorCodes(), ancestors) and
descendant:getFamilyCode() == parent:getFamilyCode() then
table.insert(children[parent:getCode()], descendant_code)
break
end
end
if #ancestors > 0 then
for _, ancestor in ipairs(ancestors) do
table.insert(children[ancestor], descendant_code)
end
break
end
else
local protolang = descendant:getProtoLanguageCode()
protolanguage_of[descendant_code] = protolang
if protolang and descendant:hasAncestor(protolang) then
table.insert(children[protolang], descendant_code)
break
end
end
local family_code = descendant:getFamilyCode()
if family_code then
local family = get(family_code, descendant.getFamily, descendant)
local protolang = get(family:getProtoLanguageCode(), family.getProtoLanguage, family)
if not protolanguage_of[family] then
protolanguage_of[family] = protolang and protolang:getCode()
end
if protolang and protolang:inFamily(family) and protolang:getCode() ~= descendant_code then
table.insert(children[protolang:getCode()], descendant_code)
else
table.insert(children[family:getCode()], descendant_code)
end
end
until true
end
-- No more auto subtabling needed.
children = children:un_auto_subtable()
-- Copy to new table, to filter out unwanted ancestors from descendants with multiple ancestors, where some are not descendants of the target language.
local parent_to_children_map = {}
for _, code in ipairs(descendants) do
parent_to_children_map[code] = children[code]
end
local function make_nested(data, children)
local make_nil = {}
for key, val in pairs(data) do
if type(key) == "number" then
if children[val] then
data[val] = make_nested(children[val], children)
table.insert(make_nil, key)
end
else
data[key] = make_nested(val, children)
end
end
if make_nil[2] then -- Make sure larger keys are removed first.
table.sort(make_nil, function (a, b) return a > b end)
end
for _, key in ipairs(make_nil) do
table.remove(data, key)
end
return data
end
local nested = make_nested(parent_to_children_map, parent_to_children_map)
local function deep_sort(current)
local result = {}
local is_table = {}
for key, val in pairs(current) do
if type(key) == "number" then
table.insert(result, val)
else
is_table[key] = true
table.insert(result, key)
end
end
table.sort(result, function(code1, code2)
return names[code1] < names[code2]
end)
for i = 1, #result do
if is_table[result[i]] then
local name = result[i]
result[i] = deep_sort(current[result[i]])
result[i].name = name
else
result[i] = { name = result[i] }
end
end
return result
end
nested = deep_sort(nested)
data = { nested = nested, protolanguage_of = protolanguage_of }
local nested_data, protolanguage_of = data.nested, data.protolanguage_of
nested_data = export.find_subtree(nested_data, descendants_of:getCode())
-- Return nil instead of a tree with only the root node.
if options.must_have_descendants and (nested_data == nil or #nested_data == 0 or nested_data[1] and #nested_data[1] == 0) then
return nil
end
local is_protolanguage = {}
if options.hide_families_with_protolanguages or options.hide_etymology_languages then
nested_data = filter_nested_data(nested_data, {
hide_families_with_protolanguages = options.hide_families_with_protolanguages,
hide_etymology_languages = options.hide_etymology_languages,
}, protolanguage_of, is_protolanguage)
end
if not nested_data or not next(nested_data) then
return nil
end
local result = {'<div class="familytree"><ul>'}
local function ins(val)
table.insert(result, val)
end
local tree_options = {
sterile_branch_text = '<span class="familytree-branch">'
.. ("─"):rep(options.sterile_branch_length or 4)
.. '</span>',
family_under_protolanguage = options.family_under_protolanguage,
protolanguage_under_family = options.protolanguage_under_family,
lemma_count = options.lemma_count,
}
local collapsetext, expandtext = 'ခလိုၚ်စှ်ေ', 'သၠဲပ္တိတ်'
for i, subtable in ipairs(nested_data) do
-- top language name
ins('<li>')
-- name me!
local flag = (options.family_under_protolanguage
or options.protolanguage_under_family)
and only_child_is_protolanguage(subtable, options, protolanguage_of)
local top_node = format_node(subtable.name)
local next_node
if flag then
subtable = subtable[1]
next_node = format_node(subtable.name)
if options.family_under_protolanguage then
top_node, next_node = next_node, top_node
end
end
ins(top_node)
-- top toggle
local customcollapsible_id = get_customcollapsible_id()
ins('<span class="familytree-toptoggle mw-customtoggle-'
.. customcollapsible_id .. '" style="display: none;">')
ins(options.collapsed and expandtext or collapsetext)
ins('</span>')
if flag then
ins('<li>')
ins(next_node)
end
-- tree
ins('<ul class="mw-collapsible')
if options.collapsed then
ins(' mw-collapsed')
end
ins('" id="mw-customcollapsible-' .. customcollapsible_id)
ins('" data-expandtext="' .. expandtext)
ins('" data-collapsetext="' .. collapsetext .. '">')
ins(make_tree(subtable, is_protolanguage, protolanguage_of, tree_options))
if flag then
ins('</li>')
end
ins('</ul></li>')
end
ins('</ul></div>')
ins(require("Module:TemplateStyles")("Module:family tree/style.css"))
return table.concat(result)
end
return export
cxq74hitw72sxmk2p27byrzcdzl8bxv
မဝ်ဂျူ:category tree/အရေဝ်ဘာသာ
828
1747
396766
396077
2026-06-13T19:28:14Z
咽頭べさ
33
396766
Scribunto
text/plain
local new_title = mw.title.new
local ucfirst = require("Module:string utilities").ucfirst
local split = require("Module:string utilities").split
local raw_categories = {}
local raw_handlers = {}
local m_languages = require("Module:languages")
local m_sc_getByCode = require("Module:scripts").getByCode
local m_table = require("Module:table")
local parse_utilities_module = "Module:parse utilities"
local concat = table.concat
local insert = table.insert
local reverse_ipairs = m_table.reverseIpairs
local serial_comma_join = m_table.serialCommaJoin
local size = m_table.size
local sorted_pairs = m_table.sortedPairs
local to_json = require("Module:JSON").toJSON
local Hang = m_sc_getByCode("Hang")
local Hani = m_sc_getByCode("Hani")
local Hira = m_sc_getByCode("Hira")
local Hrkt = m_sc_getByCode("Hrkt")
local Kana = m_sc_getByCode("Kana")
local function track(page)
-- [[Special:WhatLinksHere/Wiktionary:Tracking/category tree/ภาษา/PAGE]]
return require("Module:debug/track")("category tree/အရေဝ်ဘာသာ/" .. page)
end
-- This handles language categories of the form e.g. [[:หมวดหมู่:French language]] and
-- [[:หมวดหมู่:British Sign Language]]; categories like [[:หมวดหมู่:Languages of Indonesia]]; categories like
-- [[:หมวดหมู่:English-based creole or pidgin languages]]; and categories like
-- [[:หมวดหมู่:English-based constructed languages]].
-----------------------------------------------------------------------------
-- --
-- RAW CATEGORIES --
-- --
-----------------------------------------------------------------------------
raw_categories["အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်"] = {
topright = "{{commonscat|အရေဝ်ဘာသာ}}\n[[File:Languages world map-transparent background.svg|thumb|right|250px|Rough world map of language families]]",
description = "This category contains the categories for every language on Wiktionary.",
additional = "Not all languages that Wiktionary recognises may have a category here yet. There are many that have " ..
"not yet received any attention from editors, mainly because not all Wiktionary users know about every single " ..
"language. See [[Wiktionary:List of languages]] for a full list.",
parents = {
"ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်",
},
}
raw_categories["အရေဝ်ဘာသာမကၠေံဗ္ဒန်သီုဖအိုတ်ဂမၠိုၚ်"] = {
description = "This category contains the categories for every [[extinct language]] on Wiktionary.",
additional = "Do not confuse this category with [[:หมวดหมู่:Extinct languages]], which is an umbrella category for the names of extinct languages in specific other languages (e.g. {{m+|de|Langobardisch}} for the ancient [[Lombardic]] language).",
parents = {
"အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်",
},
}
raw_categories["အရေဝ်ဘာသာဗက်အလိုက်ဍုၚ်ရးဂမၠိုၚ်"] = {
topright = "{{commonscat|အရေဝ်ဘာသာဗက်အလိုက်တိုက်ဂမၠိုၚ်}}",
description = "ကဏ္ဍတဏအ်ဝွံဂကောံအရေဝ်ဘာသာမဗက်အလိုက်ဍုၚ်ရးဂမၠိုၚ်",
additional = "{{{umbrella_meta_msg}}}",
parents = {
"အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်",
},
}
raw_categories["Languages not sorted into a location category"] = {
description = "Languages which do not specify (in their {{tl|auto cat}} call) the location(s) where they are spoken.",
additional = "This excludes constructed and reconstructed languages; as a result, all languages in this category explicitly specify their location as {{cd|UNKNOWN}}.",
parents = {
{name = "အာတ်မိက်ဂမၠိုၚ်"},
},
hidden = true,
}
-----------------------------------------------------------------------------
-- --
-- RAW HANDLERS --
-- --
-----------------------------------------------------------------------------
-- Given a category (without the "หมวดหมู่:" prefix), look up the page defining the category, find the call to
-- {{auto cat}} (if any), and return a table of its arguments. If the category page doesn't exist or doesn't have
-- an {{auto cat}} invocation, return nil.
--
-- FIXME: Duplicated in [[Module:category tree/ภาษณ์]].
local function scrape_category_for_auto_cat_args(cat)
local cat_page = mw.title.new("ကဏ္ဍ:" .. cat)
if cat_page then
local contents = cat_page:getContent()
if contents then
local frame = mw.getCurrentFrame()
for template in require("Module:template parser").find_templates(contents) do
-- The template parser automatically handles redirects and canonicalizes them, so uses of {{autocat}}
-- will also be found.
if template:get_name() == "auto cat" then
return template:get_arguments()
end
end
end
end
return nil
end
local function link_location(location)
local location_no_the = location:match("^the (.*)$")
local bare_location = location_no_the or location
local location_link
local bare_location_parts = split(bare_location, ", ")
for i, part in ipairs(bare_location_parts) do
bare_location_parts[i] = ("[[%s]]"):format(part)
end
location_link = concat(bare_location_parts, ", ")
if location_no_the then
location_link = "the " .. location_link
end
return location_link
end
local function linkbox(lang, setwiki, setwikt, setsister, entryname)
local wiktionarylinks = {}
local canonicalName = lang:getCanonicalName()
local wikimediaLanguages = lang:getWikimediaLanguages()
local wikipediaArticle = setwiki or lang:getWikipediaArticle()
setsister = setsister and ucfirst(setsister) or nil
if setwikt then
track("setwikt")
if setwikt == "-" then
track("setwikt/hyphen")
end
end
if setwikt ~= "-" and wikimediaLanguages and wikimediaLanguages[1] then
for _, wikimedialang in ipairs(wikimediaLanguages) do
local check = new_title(wikimedialang:getCode() .. ":")
if check and check.isExternal then
insert(wiktionarylinks,
(wikimedialang:getCanonicalName() ~= canonicalName and "(''" .. wikimedialang:getCanonicalName() .. "'') " or "") ..
"'''[[:" .. wikimedialang:getCode() .. ":|" .. wikimedialang:getCode() .. ".wiktionary.org]]'''")
end
end
wiktionarylinks = concat(wiktionarylinks, "<br/>")
end
local wikt_plural = --[[wikimediaLanguages[2] and "s" or ""]] ""
if #wiktionarylinks == 0 then
wiktionarylinks = "''ဟၟဲ''"
end
-- Don't even show Wiktionary links section for reconstructed languages,
-- as they are ineligible for Wiktionary editions
local wiktionarylinks_chunk = concat{
[=[|-
| style="vertical-align: top; height: 35px; width: 40px; border-bottom: 1px solid var(--wikt-palette-grey-4,lightgray);" | [[File:Wiktionary-logo-v2.svg|35px|none|Wiktionary]]
|style="border-bottom: 1px solid var(--wikt-palette-grey-4,lightgray);" | '''ဝိက်ရှေန်နရဳပရေၚ်မပလေဝ်ဒါန်''']=], wikt_plural, [=[ မချူလဝ်အပ္ဍဲ ]=], canonicalName, [=[:
<div style="padding: 5px 10px">]=], wiktionarylinks, [=[</div>
]=]}
if lang:hasType('reconstructed') then
wiktionarylinks_chunk = ''
end
if setsister then
track("setsister")
if setsister == "-" then
track("setsister/hyphen")
else
setsister = "ကဏ္ဍ:" .. setsister
end
else
setsister = lang:getCommonsCategory() or "-"
end
return concat{
[=[<div class="wikitable" style="float: right; clear: right; margin: 0 0 0.5em 1em; width: 300px; padding: 5px;">
<div style="text-align: center; margin-bottom: 10px; margin-top: 5px">လေန်အရေဝ်ဘာသာ''']=], canonicalName, [=[ဂမၠိုၚ်'''</div>
{| style="font-size: 90%"
|-
| style="vertical-align: top; height: 35px; border-bottom: 1px solid var(--wikt-palette-grey-4,lightgray);" | [[File:Wikipedia-logo.png|35px|none|ဝဳကဳပဳဒဳယာ]]
| style="border-bottom: 1px solid var(--wikt-palette-grey-4,lightgray);" | '''ဝဳကဳပဳဒဳယာဘာသာမန်'''မနွံဒၟံၚ်လိက်ပရေၚ်လ္တူ:
<div style="padding: 5px 10px">]=], (setwiki == "-" and "''ဟၟဲ''" or "'''[[w:" .. wikipediaArticle .. "|" .. wikipediaArticle .. "]]'''"), [=[</div>
|-
| style="vertical-align: top; height: 35px; border-bottom: 1px solid var(--wikt-palette-grey-4,lightgray);" | [[File:Wikimedia-logo.svg|35px|none|ဝဳကဳမဳဒဳယာ ခမ်မောန်]]
| style="border-bottom: 1px solid var(--wikt-palette-grey-4,lightgray);" | ဝဳကဳမဳဒဳယာ ခမ်မောန်'''မနွံဒၟံၚ်လေန်နကဵုမဆက်စပ်လဝ်ပရောပရာ]=], canonicalName, [=[-ပ္ဍဲပရဝ်ဂျေတ်ၝုဲဒေံဂမၠိုၚ်:
<div style="padding: 5px 10px">]=], (setsister == "-" and "''ဟၟဲ''" or "'''[[commons:" .. setsister .. "|" .. setsister .. "]]'''"), [=[</div>
]=], wiktionarylinks_chunk, [=[
|-
| style="vertical-align: top; height: 35px; border-bottom: 1px solid var(--wikt-palette-grey-4,lightgray);" | [[File:Open book nae 02.svg|35px|none|ဝိက်ရှေန်နရဳ]]
| style="border-bottom: 1px solid var(--wikt-palette-grey-4,lightgray);" | '''ဝိက်ရှေန်နရဳပရေၚ်ပၠောပ်စုတ်'''သွက်ဆေၚ်စပ်ကဵုယၟုဘာသာမန်ဂမၠိုၚ်:
<div style="padding: 5px 10px">''']=], require("Module:links").full_link({lang = m_languages.getByCode("mnw"), term = entryname or canonicalName}), [=['''</div>
|-
| style="vertical-align: top; height: 35px;" | [[File:Crystal kfind.png|35px|none|ပရေၚ်ပၠောပ်စုတ်]]
|| '''ဝိက်ရှေန်နရဳသောၚ်တလး'''သွက်ဂွံပွမဗိုၚ်ချူပလေဝ်ဒါန်နကဵုပရေၚ်ပၠောပ်စုတ်]=], canonicalName, [=[ဂမၠိုၚ်:
<div style="padding: 5px 0">
* '''[[ဝိက်ရှေန်နရဳ:ထ္ၜးဂၠံၚ်ပရေၚ်ပၠောပ်စုတ်]=], canonicalName, [=[ဂမၠိုၚ်]]'''
* '''[[:ကဏ္ဍ:ထာမ်ပလိက်နိဿဲ]=], canonicalName, [=[ဂမၠိုၚ်|ထာမ်ပလိက်နိဿဲ]] ({{PAGESINCAT:ထာမ်ပလိက်နိဿဲ]=], canonicalName, [=[ဂမၠိုၚ်}})'''
* '''[[အဆက်လက္ကရဴ:စရၚ်ပြကိုဟ်နိဿဲ]=], canonicalName, [=[ |စရၚ်ပြကိုဟ်နိဿဲ]]'''
</div>
|}
</div>]=]
}
end
local function edit_link(title, text)
return '<span class="plainlinks">['
.. tostring(mw.uri.fullUrl(title, { action = "ပလေဝ်ဒါန်" }))
.. ' ' .. text .. ']</span>'
end
-- Should perhaps use wiki syntax.
local function infobox(lang)
local ret = {}
insert(ret, '<table class="wikitable language-category-info"')
local raw_data = lang:getData("extra")
if raw_data then
local replacements = {
[1] = "canonical-name",
[2] = "wikidata-item",
[3] = "family",
[4] = "scripts",
}
local function replacer(letter1, letter2)
return letter1:lower() .. "-" .. letter2:lower()
end
-- For each key in the language data modules, returns a descriptive
-- kebab-case version (containing ASCII lowercase words separated
-- by hyphens).
local function kebab_case(key)
key = replacements[key] or key
key = key:gsub("(%l)(%u)", replacer):gsub("(%l)_(%l)", replacer)
return key
end
local compress = {compress = true}
local function html_attribute_encode(str)
str = to_json(str, compress)
:gsub('"', """)
-- & in attributes is automatically escaped.
-- :gsub("&", "&")
:gsub("<", "<")
:gsub(">", ">")
return str
end
insert(ret, ' data-code="' .. lang:getCode() .. '"')
for k, v in sorted_pairs(raw_data) do
insert(ret, " data-" .. kebab_case(k)
.. '="'
.. html_attribute_encode(v)
.. '"')
end
end
insert(ret, '>\n')
insert(ret, '<tr class="language-category-data">\n<th colspan="2">'
.. edit_link(lang:getDataModuleName(), "ဒေတာပလေဝ်ဒါန်အရေဝ်ဘာသာ")
.. "</th>\n</tr>\n")
insert(ret, "<tr>\n<th>ယၟုတိုၚ်ခဳ</th><td>" .. lang:getCanonicalName() .. "</td>\n</tr>\n")
local otherNames = lang:getOtherNames()
if otherNames then
local names = {}
for _, name in ipairs(otherNames) do
insert(names, "<li>" .. name .. "</li>")
end
if #names > 0 then
insert(ret, "<tr>\n<th>ယၟုတၞဟ်</th><td><ul>" .. concat(names, "\n") .. "</ul></td>\n</tr>\n")
end
end
local aliases = lang:getAliases()
if aliases then
local names = {}
for _, name in ipairs(aliases) do
insert(names, "<li>" .. name .. "</li>")
end
if #names > 0 then
insert(ret, "<tr>\n<th>ယၟုတၞဟ်</th><td><ul>" .. concat(names, "\n") .. "</ul></td>\n</tr>\n")
end
end
local varieties = lang:getVarieties()
if varieties then
local names = {}
for _, name in ipairs(varieties) do
if type(name) == "string" then
insert(names, "<li>" .. name .. "</li>")
else
assert(type(name) == "table")
local first_var
local subvars = {}
for i, var in ipairs(name) do
if i == 1 then
first_var = var
else
insert(subvars, "<li>" .. var .. "</li>")
end
end
if #subvars > 0 then
insert(names, "<li><dl><dt>" .. first_var .. "</dt>\n<dd><ul>" .. concat(subvars, "\n") .. "</ul></dd></dl></li>")
elseif first_var then
insert(names, "<li>" .. first_var .. "</li>")
end
end
end
if #names > 0 then
insert(ret, "<tr>\n<th>ယၟုမထပ်ကော်သာ်တၞဟ်</th><td><ul>" .. concat(names, "\n") .. "</ul></td>\n</tr>\n")
end
end
insert(ret, "<tr>\n<th>[[ဝိက်ရှေန်နရဳ:အရေဝ်ဘာသာဂမၠိုၚ်|ကုဒ်အရေဝ်ဘာသာ]]</th><td><code>" .. lang:getCode() .. "</code></td>\n</tr>\n")
insert(ret, "<tr>\n<th>[[ဝိက်ရှေန်နရဳ:အရေဝ်ဘာသာဝေါၚ်သဂမၠိုၚ်|အရေဝ်ဘာသာဝေါၚ်သ]]</th>\n")
local fam = lang:getFamily()
local famCode = fam and fam:getCode()
if not fam then
insert(ret, "<td>[[:ကဏ္ဍ:အရေဝ်ဘာသာဟွံဂွံစၟတ်သမ္တီလဝ်ဂမၠိုၚ်|ဟွံဂွံစၟတ်သမ္တီလဝ်]]</td>")
elseif famCode == "qfa-dis" then
insert(ret, "<td>[[:ကဏ္ဍ:အရေဝ်ဘာသာဆေၚ်စပ်ကဵုကယျာန်စာန်စးပရေၚ်ဝေါၚ်သဂမၠိုၚ်|ကယျာန်စာန်စးပရေၚ်ဝေါၚ်သ]]</td>")
elseif famCode == "qfa-iso" then
insert(ret, "<td>[[:ကဏ္ဍ:အရေဝ်ဘာသာမပါ်ပ္တိတ်လဝ်ဂမၠိုၚ်|အရေဝ်ဘာသာမပါ်ပ္တိတ်လဝ်]]</td>")
elseif famCode == "qfa-mix" then
insert(ret, "<td>[[:ကဏ္ဍ:အရေဝ်ဘာသာမပံၚ်ဖနှဴလဝ်ဂမၠိုၚ်|အရေဝ်ဘာသာမပံၚ်ဖနှဴလဝ်]]</td>")
elseif famCode == "qfa-unc" then
insert(ret, "<td>[[:ကဏ္ဍ:အရေဝ်ဘာသာမပါ်ခြာဂကူဟွံမာန်ဂမၠိုၚ်|အရေဝ်ဘာသာမပါ်ခြာဂကူဟွံမာန်ဂမၠိုၚ်]]</td>")
elseif famCode == "sgn" then
insert(ret, "<td>[[:ကဏ္ဍ:အရေဝ်ဘာသာလက္ခဏာသမ္တီဂမၠိုၚ်|အရေဝ်ဘာသာလက္ခဏာသမ္တီ]]</td>")
elseif famCode == "crp" then
insert(ret, "<td>[[:ကဏ္ဍ:ဘာသာခရေဝ်အဝ် ဝါ ဖှေတ်ကျေန်ဂမၠိုၚ်|ခရေဝ်အဝ် ဝါ ဖှေတ်ကျေန်]]</td>")
elseif famCode == "art" then
insert(ret, "<td>[[:ကဏ္ဍ:ဂကောံဘာသာခၞံဗဒှ်လဝ်ဂမၠိုၚ်|ဂကောံဘာသာခၞံဗဒှ်လဝ်]]</td>")
else
insert(ret, "<td>" .. fam:makeCategoryLink() .. "</td>")
end
insert(ret, "\n</tr>\n<tr>\n<th>ဇုဇဗဴလဂမၠိုၚ်</th>\n<td>")
local ancestors = lang:getAncestors()
if ancestors[2] then
local ancestorList = {}
for i, anc in ipairs(ancestors) do
ancestorList[i] = "<li>" .. anc:makeCategoryLink() .. "</li>"
end
insert(ret, "<ul>\n" .. concat(ancestorList, "\n") .. "</ul>")
else
local ancestorChain = lang:getAncestorChainOld()
if ancestorChain[1] then
local chain = {}
for _, anc in reverse_ipairs(ancestorChain) do
insert(chain, "<li>" .. anc:makeCategoryLink() .. "</li>")
end
insert(ret, "<ul>\n" .. concat(chain, "\n<ul>\n") .. ("</ul>"):rep(#chain))
else
insert(ret, "ဟွံတီကၠး")
end
end
insert(ret, "</td>\n</tr>\n")
local scripts = lang:getScripts()
if scripts[1] then
local script_text = {}
local function makeScriptLine(sc)
local code = sc:getCode()
local url = tostring(mw.uri.fullUrl('Special:Search', {
search = 'contentmodel:css insource:"' .. code
.. '" insource:/\\.' .. code .. '/',
ns8 = '1'
}))
return sc:makeCategoryLink()
.. ' (<span class="plainlinks" title="Search for stylesheets referencing this script">[' .. url .. ' <code>' .. code .. '</code>]</span>)'
end
local function add_Hrkt(text)
insert(text, "<li>" .. makeScriptLine(Hrkt))
insert(text, "<ul>")
insert(text, "<li>" .. makeScriptLine(Hira) .. "</li>")
insert(text, "<li>" .. makeScriptLine(Kana) .. "</li>")
insert(text, "</ul>")
insert(text, "</li>")
end
for _, sc in ipairs(scripts) do
local text = {}
local code = sc:getCode()
if code == "Hrkt" then
add_Hrkt(text)
else
insert(text, "<li>" .. makeScriptLine(sc))
if code == "Jpan" then
insert(text, "<ul>")
insert(text, "<li>" .. makeScriptLine(Hani) .. "</li>")
add_Hrkt(text)
insert(text, "</ul>")
elseif code == "Kore" then
insert(text, "<ul>")
insert(text, "<li>" .. makeScriptLine(Hang) .. "</li>")
insert(text, "<li>" .. makeScriptLine(Hani) .. "</li>")
insert(text, "</ul>")
end
insert(text, "</li>")
end
insert(script_text, concat(text, "\n"))
end
insert(ret, "<tr>\n<th>[[ဝိက်ရှေန်နရဳ:အက္ခရ်ဂမၠိုၚ်|အက္ခရ်ဂမၠိုၚ်]]</th>\n<td><ul>\n" .. concat(script_text, "\n") .. "</ul></td>\n</tr>\n")
else
insert(ret, "<tr>\n<th>[[ဝိက်ရှေန်နရဳ:အက္ခရ်ဂမၠိုၚ်|အက္ခရ်ဂမၠိုၚ်]]</th>\n<td>ไม่ระบุ</td>\n</tr>\n")
end
local function add_module_info(raw_data, heading)
if raw_data then
local scripts = lang:getScriptCodes()
local module_info, add = {}, false
if type(raw_data) == "string" then
insert(module_info,
("[[Module:%s]]"):format(raw_data))
add = true
else
local raw_data_type = type(raw_data)
if raw_data_type == "table" and size(scripts) == 1 and type(raw_data[scripts[1]]) == "string" then
insert(module_info,
("[[Module:%s]]"):format(raw_data[scripts[1]]))
add = true
elseif raw_data_type == "table" then
insert(module_info, "<ul>")
for script, data in sorted_pairs(raw_data) do
if type(data) == "string" and m_sc_getByCode(script) then
insert(module_info, ("<li><code>%s</code>: [[Module:%s]]</li>"):format(script, data))
end
end
insert(module_info, "</ul>")
add = size(module_info) > 2
end
end
if add then
insert(ret, [=[
<tr>
<th>]=] .. heading .. [=[</th>
<td>]=] .. concat(module_info) .. [=[</td>
</tr>
]=])
end
end
end
add_module_info(raw_data.generate_forms, "မဝ်ဂျူ<br>ဗီုပြၚ်ပွမခၞံဗဒှ်")
add_module_info(raw_data.translit, "[[ဝိက်ရှေန်နရဳ:ကၠာဲပ္တိတ်မအခဝ် ကဵု ပြၚ်လှာဲအက္ခရ်ရဝ်မာန်|မဝ်ဂျူ<br>ကၠာဲပ္တိတ်မအခဝ်]]")
add_module_info(raw_data.display_text, "မဝ်ဂျူ<br>ထ္ၜးမလိက်")
add_module_info(raw_data.entry_name, "မဝ်ဂျူ<br>ယၟုစရၚ်")
add_module_info(raw_data.sort_key, "[[sortkey|မဝ်ဂျူ]]<br>ကဳပါ်အဇာ")
local wikidataItem = lang:getWikidataItem()
if lang:getWikidataItem() and mw.wikibase then
local URL = mw.wikibase.getEntityUrl(wikidataItem)
local link
if URL then
link = '[[d:' .. wikidataItem .. '|' .. wikidataItem .. ']]'
else
link = '<span class="error">Invalid Wikidata item: <code>' .. wikidataItem .. '</code></span>'
end
insert(ret, "<tr><th>ဝဳကဳဒေတာ</th><td>" .. link .. "</td></tr>")
end
insert(ret, "</table>")
return concat(ret)
end
local function NavFrame_for_family_tree(content, title)
return '<div class="NavFrame"><div class="NavHead">'
.. (title or '{{{title}}}') .. '</div>'
.. '<div class="NavContent" style="text-align: left; font-size: calc(1em / 0.95); padding: 0.3em">'
.. content
.. '</div></div>'
end
local function get_description_topright_additional(lang, locations, extinct, setwiki, setwikt, setsister, entryname)
local nameWithLanguage = lang:getCategoryName("nocap")
if lang:getCode() == "und" then
local description =
"ဣတဏအ်ဂှ်ဝွံဆေၚ်စပ်ကဵုကဏ္ဍအဓိက'''" .. nameWithLanguage .. "'''၊ မအာတ်မိက်ထ္ၜးလဝ်ပ္ဍဲဝိက်ရှေန်နရဳသီုကဵု[[ဝိက်ရှေန်နရဳ:အရေဝ်ဘာသာဂမၠိုၚ်|ကုဒ်]] '''" .. lang:getCode() .. "'''ရအဴ။ " ..
"မအရေဝ်ဘာသာလုပ်အဝေါၚ်တဏအ်ဝွံပ္ဍဲပွမချူဆေၚ်စပ်ကဵုဝၚ်၊ သီုကဵုမအရေဝ်အဓိပ္ပာဲကီုလေဝ်မက္တဵုဒှ်လဝ်ဂလာန်သတ်ဒတ်နူကဵုတၠပညာဟၟဲမွဲဏီ။"
return description, nil, nil
end
local canonicalName = lang:getCanonicalName()
local categoryName = lang:getCategoryName() --mnw
local topright = linkbox(lang, setwiki, setwikt, setsister, entryname)
--[=[
local the_prefix
if canonicalName:find(" Language$") then
the_prefix = ""
else
the_prefix = "the "
end
--]=]
local the_prefix = ""
local description = "ဣတဏအ်ဂှ်ဝွံဆေၚ်စပ်ကဵုကဏ္ဍအဓိက" .. the_prefix .. "'''" .. nameWithLanguage .. "'''ရအဴ။"
local location_links = {}
local prep
local saw_embedded_comma = false
for _, location in ipairs(locations) do
local this_prep
if location == "မဆေၚ်စပ်ကဵုဂၠးတိ" then
this_prep = "လက်လၞၚ်"
insert(location_links, location)
elseif location ~= "UNKNOWN" then
this_prep = "ပ္ဍဲ"
if location:find(",") then
saw_embedded_comma = true
end
insert(location_links, link_location(location))
end
if this_prep then
if prep and this_prep ~= prep then
error("Can't handle location 'the world' along with another location (clashing prepositions)")
end
prep = this_prep
end
end
local location_desc
if #location_links > 0 then
local location_link_text
if saw_embedded_comma and #location_links >= 3 then
location_link_text = mw.text.listToText(location_links, "; ", "; ကဵု ")
else
location_link_text = serial_comma_join(location_links)
end
location_desc = ("ဘာသာတဏအ်ဝွံ%s%s%s\n\n"):format(
extinct and "မဒှ်အရေဝ်ဘာသာကၠေံဗ္ဒန်အာတုဲရ နကဵုမကေၚ်ဟီုဂးလဝ်ကီုလေဝ်" or "မဟီုဂး", prep, location_link_text)
elseif extinct then
location_desc = "အရေဝ်ဘာသာတဏအ်ဝွံမဒှ်အရေဝ်ဘာသာကၠေံဗ္ဒန်အာတုဲရ\n\n"
else
location_desc = ""
end
local add = location_desc .. "စရၚ်ပရောပရာမဆေၚ်စပ်ကဵု" .. nameWithLanguage .. ":\n\n" .. infobox(lang)
if lang:hasType("reconstructed") then
add = add .. "\n\n" ..
ucfirst(canonicalName) .. " is a reconstructed language. Its words and roots are not directly attested in any written works, but have been reconstructed through the ''comparative method'', " ..
"which finds regular similarities between languages that cannot be explained by coincidence or word-borrowing, and extrapolates ancient forms from these similarities.\n\n" ..
"According to our [[Wiktionary:Criteria for inclusion|criteria for inclusion]], terms in " .. canonicalName ..
" should '''not''' be present in entries in the main namespace, but may be added to the Reconstruction: namespace."
elseif lang:hasType("appendix-constructed") then
add = add .. "\n\n" ..
ucfirst(canonicalName) .. " is a constructed language that is only in sporadic use. " ..
"According to our [[Wiktionary:Criteria for inclusion|criteria for inclusion]], terms in " .. canonicalName ..
" should '''not''' be present in entries in the main namespace, but may be added to the Appendix: namespace. " ..
"All terms in this language may be available at [[Appendix:" .. ucfirst(canonicalName) .. "]]."
end
local entry_guidelines_page = "ဝိက်ရှေန်နရဳ:ပရူ" .. categoryName
local entry_guidelines = new_title(entry_guidelines_page)
if entry_guidelines.exists then
add = add .. "\n\n" ..
"Please see '''[[" .. entry_guidelines_page .. "]]''' for information and special considerations for creating " .. nameWithLanguage .. " entries."
end
local ok, tree_of_descendants = pcall(
require("Module:family tree").print_children,
lang:getCode(), {
protolanguage_under_family = true,
must_have_descendants = true
})
if ok then
if tree_of_descendants then
add = add .. NavFrame_for_family_tree(
tree_of_descendants,
"Family tree")
else
add = add .. "\n\n" .. ucfirst(lang:getCategoryName())
.. " has no descendants or varieties listed in Wiktionary's language data modules."
end
else
mw.log("error while generating tree: " .. tostring(tree_of_descendants))
end
return description, topright, add
end
local function get_parents(lang, locations, extinct)
local canonicalName = lang:getCanonicalName()
local sortkey = {sort_base = canonicalName, lang = "mnw"}
local ret = {{name = "အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်", sort = sortkey}}
local fam = lang:getFamily()
local famCode = fam and fam:getCode()
-- FIXME: Some of the following categories should be added to this module.
if not fam then
insert(ret, {name = "ကဏ္ဍ::အရေဝ်ဘာသာဟွံဂွံစၟတ်သမ္တီလဝ်ဂမၠိုၚ်", sort = sortkey})
elseif famCode == "qfa-dis" then
insert(ret, {name = "ကဏ္ဍ:အရေဝ်ဘာသာဆေၚ်စပ်ကဵုကယျာန်စာန်စးပရေၚ်ဝေါၚ်သဂမၠိုၚ်", sort = sortkey})
elseif famCode == "qfa-iso" then
insert(ret, {name = "ကဏ္ဍ:အရေဝ်ဘာသာမပါ်ပ္တိတ်လဝ်ဂမၠိုၚ်", sort = sortkey})
elseif famCode == "qfa-mix" then
insert(ret, {name = "ကဏ္ဍ:အရေဝ်ဘာသာမပံၚ်ဖနှဴလဝ်ဂမၠိုၚ်", sort = sortkey})
elseif famCode == "qfa-unc" then
insert(ret, {name = "ကဏ္ဍ:အရေဝ်ဘာသာမပါ်ခြာဂကူဟွံမာန်ဂမၠိုၚ်", sort = sortkey})
elseif famCode == "sgn" then
insert(ret, {name = "ကဏ္ဍ:အရေဝ်ဘာသာလက္ခဏာသမ္တီသီုဖ္အိုတ်ဂမၠိုၚ်", sort = sortkey})
elseif famCode == "crp" then
insert(ret, {name = "ကဏ္ဍ:ဘာသာခရေဝ်အဝ် ဝါ ဖှေတ်ကျေန်ဂမၠိုၚ်", sort = sortkey})
for _, anc in ipairs(lang:getAncestors()) do
-- Avoid Haitian Creole being categorised in [[:หมวดหมู่:Haitian Creole-based creole or pidgin languages]], as one of its ancestors is an etymology-only variety of it.
-- Use that ancestor's ancestors instead.
if anc:getFullCode() == lang:getCode() then
for _, anc_extra in ipairs(anc:getAncestors()) do
insert(ret, {name = "ကဏ္ဍ:ဘာသာခရေဝ်အဝ် ဝါ ဖှေတ်ကျေန်မရပ်စပ်လဝ်ဘာသာ" .. ucfirst(anc_extra:getFullName()) .. "နကဵုတံသ္ဇိုၚ်ဂမၠိုၚ်", sort = sortkey})
end
else
insert(ret, {name = "ကဏ္ဍ:ဘာသာခရေဝ်အဝ် ဝါ ဖှေတ်ကျေန်မရပ်စပ်လဝ်ဘာသာ" .. ucfirst(anc:getFullName()) .. "နကဵုတံသ္ဇိုၚ်ဂမၠိုၚ်", sort = sortkey})
end
end
elseif famCode == "art" then
if lang:hasType("appendix-constructed") then
insert(ret, {name = "ကဏ္ဍ:ဂကောံဘာသာခၞံဗဒှ်လဝ်ပါဲနူအဆက်လက္ကရဴဂမၠိုၚ်", sort = sortkey})
else
insert(ret, {name = "ကဏ္ဍ:ဂကောံဘာသာခၞံဗဒှ်လဝ်ဂမၠိုၚ်", sort = sortkey})
end
for _, anc in ipairs(lang:getAncestors()) do
if anc:getFullCode() == lang:getCode() then
for _, anc_extra in ipairs(anc:getAncestors()) do
insert(ret, {name = "ကဏ္ဍ:ဂကောံဘာသာခၞံဗဒှ်လဝ်မရပ်စပ်လဝ်ဘာသာ" .. ucfirst(anc_extra:getFullName()) .. "နကဵုတံသ္ဇိုၚ်ဂမၠိုၚ်", sort = sortkey})
end
else
insert(ret, {name = "ကဏ္ဍ:ဂကောံဘာသာခၞံဗဒှ်လဝ်မရပ်စပ်လဝ်ဘာသာ" .. ucfirst(anc:getFullName()) .. "နကဵုတံသ္ဇိုၚ်ဂမၠိုၚ်", sort = sortkey})
end
end
else
insert(ret, {name = "ကဏ္ဍ:" .. fam:getCategoryName(), sort = sortkey})
if lang:hasType("reconstructed") then
insert(ret, {
name = "ကဏ္ဍ:အရေဝ်ဘာသာဗီုပြၚ်သိုၚ်တၟိဂမၠိုၚ်",
sort = {sort_base = canonicalName, lang = "mnw"} -- ဘာသာအခိုက်ကၞာ-မန်-ခမေန်
})
end
end
local function add_sc_cat(sc) -- ဘာသာ(ဒၞာဲစွံ)အက္ခရ်...
insert(ret, {name = "ကဏ္ဍ:ဘာသာ" .. sc:getCategoryName(), sort = sortkey})
end
local function add_Hrkt()
add_sc_cat(Hrkt)
add_sc_cat(Hira)
add_sc_cat(Kana)
end
for _, sc in ipairs(lang:getScripts()) do
if sc:getCode() == "Hrkt" then
add_Hrkt()
else
add_sc_cat(sc)
if sc:getCode() == "Jpan" then
add_sc_cat(Hani)
add_Hrkt()
elseif sc:getCode() == "Kore" then
add_sc_cat(Hang)
add_sc_cat(Hani)
end
end
end
if lang:hasTranslit() then
insert(ret, {name = "ကဏ္ဍ:ဘာသာမနွံကဵုပြၚ်လှာဲကၠာဲမအခဝ်အဝ်တဝ်", sort = sortkey})
end
local function insert_location_language_cat(location)
local cat = "အရေဝ်ဘာသာမဆေၚ်စပ်ကဵု" .. location .. "ဂမၠိုၚ်"
insert(ret, {name = "ကဏ္ဍ:" .. cat, sort = sortkey})
local auto_cat_args = scrape_category_for_auto_cat_args(cat)
local location_parent = auto_cat_args and auto_cat_args.parent
if location_parent then
local split_parents = require(parse_utilities_module).split_on_comma(location_parent)
for _, parent in ipairs(split_parents) do
parent = parent:match("^(.-):.*$") or parent
insert_location_language_cat(parent)
end
end
end
local saw_location = false
for _, location in ipairs(locations) do
if location ~= "UNKNOWN" then
saw_location = true
insert_location_language_cat(location)
end
end
if extinct then
insert(ret, {name = "ကဏ္ဍ:အရေဝ်ဘာသာမကၠေံဗ္ဒန်အာသီုဖ္အိုတ်ဂမၠိုၚ်", sort = sortkey})
end
if not saw_location and not (lang:hasType("reconstructed") or (fam and fam:getCode() == "art")) then
-- Constructed and reconstructed languages don't need a location specified and often won't have one,
-- so don't put them in this maintenance category.
insert(ret, {name = "ကဏ္ဍ:အရေဝ်ဘာသာဟွံဂွံစုတ်အဇာအပ္ဍဲကဏ္ဍဍုၚ်အတေံဏီ", sort = sortkey})
end
return ret
end
local function get_children()
local ret = {}
-- FIXME: We should work on the children mechanism so it isn't necessary to manually specify these.
--for _, label in ipairs({"appendices", "entry maintenance", "lemmas", "names", "phrases", "rhymes", "symbols", "templates", "terms by etymology", "terms by usage"}) do
for _, label in ipairs({"အဆက်လက္ကရဴ", "ပရေၚ်မၚ်မွဲထိၚ်ဒက်", "ဝေါဟာအဓိက", "ယၟု", "ဝါကျ", "ကာရန်", "သၚ်္ကေတ", "ထာမ်ပလိက်", "မအရေဝ်ဗက်အလိုက်နိရုတ်", "မအရေဝ်ဗက်အလိုက်ပရေၚ်ရပ်စပ်"}) do
insert(ret, {name = label, is_label = true})
end
insert(ret, {name = "ဝေါဟာကၠုၚ်နူ{{{langcat}}}ဂမၠိုၚ်", is_label = true, lang = false})
insert(ret, {name = "{{{langcode}}}:က္ဍိုပ်လိက်ဖ္အိုတ်", sort = "က္ဍိုပ်လိက်ဖ္အိုတ်"})
insert(ret, {name = "လ္ပာ်ဘာသာ{{{langcat}}}"})
insert(ret, {name = "မအာတ်မိက်ဆေၚ်စပ်ကဵုဘာသာ{{{langcat}}}"})
insert(ret, {name = "ကာရန်:{{{langcat}}}", description = "စရၚ်ဆေၚ်စပ်ကဵုမအရေဝ်{{{langname}}}ဗက်အလိုက်ကာရန်တံဂမၠိုၚ်"})
insert(ret, {name = "ညးလွပ်{{{langcode}}}", description = "Wiktionary users categorized by fluency levels in {{{langdisp}}}."})
return ret
end
-- Handle language categories of the form e.g. [[:หมวดหมู่:French language]] and
-- [[:หมวดหมู่:British Sign Language]].
insert(raw_handlers, function(data)
local category = data.category
if not (category:find("^ဘာသာ") or category:find("^လောၚ်တရး")) then
return nil
elseif category:find("^ဘာသာ") then --mnw
category = mw.ustring.sub(category, 5)
elseif category:find("^လောၚ်တရး") then --mnw
category = mw.ustring.sub(category, 6)
end
local lang = m_languages.getByCanonicalName(category)
if not lang then
local langname = category:match("^ဂကောံဘာသာ(.*)$")
if langname then
lang = m_languages.getByCanonicalName(langname)
end
if not lang then
return nil
end
end
local args = require("Module:parameters").process(data.args, {
[1] = {list = true},
["setwiki"] = true,
["setwikt"] = true,
["setsister"] = true,
["entryname"] = true,
["extinct"] = {type = "boolean"},
})
-- If called from inside, don't require any arguments, as they can't be known
-- in general and aren't needed just to generate the first parent (used for
-- breadcrumbs).
if #args[1] == 0 and not data.called_from_inside then
-- At least one location must be specified unless the language is constructed (e.g. Esperanto) or reconstructed (e.g. Proto-Indo-European).
local fam = lang:getFamily()
if not (lang:hasType("reconstructed") or (fam and fam:getCode() == "art")) then
error("At least one location (param 1=) must be specified for language '" .. lang:getCanonicalName() .. "' (code '" .. lang:getCode() .. "'). " ..
"Use the value UNKNOWN if the language's location is truly unknown.")
end
end
local description, topright, additional = "", "", ""
-- If called from inside the category tree system, it's called when generating
-- parents or children, and we don't need to generate the description or additional
-- text (which is very expensive in terms of memory because it calls [[Module:family tree]],
-- which calls [[Module:languages/data/all]]).
if not data.called_from_inside then
description, topright, additional = get_description_topright_additional(
lang, args[1], args.extinct, args.setwiki, args.setwikt, args.setsister, args.entryname
)
end
return {
canonical_name = lang:getCategoryName(),
description = description,
lang = lang:getCode(),
topright = topright,
additional = additional,
breadcrumb = lang:getCanonicalName(),
parents = get_parents(lang, args[1], args.extinct),
extra_children = get_children(lang),
umbrella = false,
can_be_empty = true,
}, true
end)
-- Handle categories such as [[:ကဏ္ဍ:Languages of Indonesia]].
insert(raw_handlers, function(data)
local location = data.category:match("^ဘာသာဆေၚ်စပ်ကဵု(.+)$")
if location then
local args = require("Module:parameters").process(data.args, {
["flagfile"] = true,
["commonscat"] = true,
["wp"] = true,
["basename"] = true,
["parent"] = true,
["locationcat"] = true,
["locationlink"] = true,
})
local topright
local basename = args.basename or location:gsub(", .*", "")
if args.flagfile ~= "-" then
local flagfile_arg = args.flagfile or ("Flag of %s.svg"):format(basename)
local files = require(parse_utilities_module).split_on_comma(flagfile_arg)
local topright_parts = {}
for _, file in ipairs(files) do
local flagfile = "File:" .. file
local flagfile_page = new_title(flagfile)
if flagfile_page and flagfile_page.file.exists then
insert(topright_parts, ("[[%s|right|100px|border]]"):format(flagfile))
elseif args.flagfile then
error(("Explicit flagfile '%s' doesn't exist"):format(flagfile))
end
end
topright = concat(topright_parts)
end
if args.wp then
local wp = require("Module:yesno")(args.wp, "+")
if wp == "+" or wp == true then
wp = data.category
end
if wp then
local wp_topright = ("{{wikipedia|%s}}"):format(wp)
if topright then
topright = topright .. wp_topright
else
topright = wp_topright
end
end
end
if args.commonscat then
local commonscat = require("Module:yesno")(args.commonscat, "+")
if commonscat == "+" or commonscat == true then
commonscat = data.category
end
if commonscat then
local commons_topright = ("{{commonscat|%s}}"):format(commonscat)
if topright then
topright = topright .. commons_topright
else
topright = commons_topright
end
end
end
local bare_location = location:match("^the (.*)$") or location
local location_link = args.locationlink or link_location(location)
local bare_basename = basename:match("^the (.*)$") or basename
local parents = {}
if args.parent then
local explicit_parents = require(parse_utilities_module).split_on_comma(args.parent)
for i, parent in ipairs(explicit_parents) do
local actual_parent, sort_key = parent:match("^(.-):(.*)$")
if actual_parent then
parent = actual_parent
sort_key = sort_key:gsub("%+", bare_location)
else
sort_key = " " .. bare_location
end
insert(parents, {name = "အရေဝ်ဘာသာဆေၚ်စပ်ကဵု" .. parent, sort = sort_key})
end
else
insert(parents, {name = "အရေဝ်ဘာသာဗက်အလိုက်ဍုၚ်ရး", sort = {sort_base = bare_location, lang = "mnw"}})
end
if args.locationcat then
local explicit_location_cats = require(parse_utilities_module).split_on_comma(args.locationcat)
for i, locationcat in ipairs(explicit_location_cats) do
insert(parents, {name = "ကဏ္ဍ:" .. locationcat, sort = " ဘာသာ"})
end
else
local location_cat = ("ကဏ္ဍ:%s"):format(bare_location)
local location_page = new_title(location_cat)
if location_page and location_page.exists then
insert(parents, {name = location_cat, sort = "ဘာသာ"})
end
end
local description = ("Categories for languages of %s (including sublects)."):format(location_link)
return {
topright = topright,
description = description,
parents = parents,
breadcrumb = bare_basename,
additional = "{{{umbrella_msg}}}",
}, true
end
end)
-- Handle categories such as [[:หมวดหมู่:English-based creole or pidgin languages]].
insert(raw_handlers, function(data)
local langname = data.category:match("(.*)%-based creole or pidgin languages$")
if langname then
local lang = m_languages.getByCanonicalName(langname)
if lang then
return {
lang = lang:getCode(),
description = "Languages which developed as a [[creole]] or [[pidgin]] from " .. lang:makeCategoryLink() .. ".",
parents = {{name = "ဘာသာခရေဝ်အဝ် ဝါ ဖှေတ်ကျေန်ဂမၠိုၚ်", sort = {sort_base = "*" .. langname, lang = "mnw"}}},
breadcrumb = lang:getCanonicalName() .. "-based",
}
end
end
end)
-- Handle categories such as [[:หมวดหมู่:English-based constructed languages]].
insert(raw_handlers, function(data)
local langname = data.category:match("(.*)%-based constructed languages$")
if langname then
local lang = m_languages.getByCanonicalName(langname)
if lang then
return {
lang = lang:getCode(),
description = "Constructed languages which are based on " .. lang:makeCategoryLink() .. ".",
parents = {{name = "အရေဝ်ဘာသာခၞံဗဒှ်လဝ်ဂမၠိုၚ်", sort = {sort_base = "*" .. langname, lang = "mnw"}}},
breadcrumb = lang:getCanonicalName() .. "-based",
}
end
end
end)
return {RAW_CATEGORIES = raw_categories, RAW_HANDLERS = raw_handlers}
4d9haovzlisltygf0syxlxx8c44gplq
မဳဒဳယာဝဳကဳ:Common.js
8
2087
396792
396500
2026-06-14T06:10:30Z
咽頭べさ
33
396792
javascript
text/javascript
// <nowiki>
/*
JavaScript is loaded here whenever any user loads any page
*/
//Return to Traditional/Simplified Chinese characters
function wgULS(hans,hant,cn,tw,hk,sg,zh){
ret = {
'zh-hans':hans||cn||sg,
'zh-hant':hant||tw||hk,
'zh-cn':cn||hans||sg,
'zh-sg':sg||hans||cn,
'zh-tw':tw||hant||hk,
'zh-hk':hk||hant||tw
}
if (ret[mw.config.get('wgUserLanguage')])
return ret[mw.config.get('wgUserLanguage')];
else
return zh||hant||hans||cn||tw||hk||sg;//Ensure that each language has a value
}
/* Load the corresponding scripts when needed */
$(function () { if(document.getElementById('preloadGuide')) {
importScript('MediaWiki:SpecialSearch.js');
}});
/*
==Automatic template analysis==
*/
function TempAnalysis(title) {
//
if (!title) return "";
var words = title.replace(/'/g /* ' */, "").split(/\s+|\s*[,.\-]\s*/);
var params = words.length < 2 ? "" : words.join("|");
var src = "{{chaoxin|" + params + "}}";
src = src.replace(/\|+/g, "|");
src = src.replace(/\|}}$/g, "}}");
return src;
//
}
/*
== Function settings ==
*/
//Function settings
if(!window.JSConfig){var JSConfig={};}
JSConfig.collapseText=wgULS('ပၞုက်▲','ထ္ၜး▲');//The default text indicating whether to collapse
JSConfig.expandText=wgULS('ထ္ၜး▼','ပၞုက်▼');//The default text indicating whether to collapse or expand
JSConfig.autoCollapse=2; //Articles will not automatically collapse if there are fewer than the number of autoCollapse fold blocks
JSConfig.SpecialSearchEnhancedDisabled=false; //Should we prohibit the addition of other search engines
//တၟိgetElementsByClassName
/*
Developed by Robert Nyman, http://www.robertnyman.com
Code/licensing: http://code.google.com/p/getelementsbyclassname/
*/
var getElementsByClassName = function (elm, tag, className){
if (document.getElementsByClassName) {
getElementsByClassName = function (elm, tag, className) {
elm = elm || document;
var elements = elm.getElementsByClassName(className);
if (tag=="*") return elements;
var nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
returnElements = [],
current;
for(var i=0, il=elements.length; i<il; i+=1){
current = elements[i];
if(!nodeName || nodeName.test(current.nodeName)) {
returnElements.push(current);
}
}
return returnElements;
};
}
else if (document.evaluate) {
getElementsByClassName = function (elm, tag, className) {
tag = tag || "*";
elm = elm || document;
var classes = className.split(" "),
classesToCheck = "",
xhtmlNamespace = "http://www.w3.org/1999/xhtml",
namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
returnElements = [],
elements,
node;
for(var j=0, jl=classes.length; j<jl; j+=1){
classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
}
try {
elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
}
catch (e) {
elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
}
while ((node = elements.iterateNext())) {
returnElements.push(node);
}
return returnElements;
};
}
else {
getElementsByClassName = function (elm, tag, className) {
tag = tag || "*";
elm = elm || document;
var classes = className.split(" "),
classesToCheck = [],
elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
current,
returnElements = [],
match;
for(var k=0, kl=classes.length; k<kl; k+=1){
classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
}
for(var l=0, ll=elements.length; l<ll; l+=1){
current = elements[l];
match = false;
for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
match = classesToCheck[m].test(current.className);
if (!match) {
break;
}
}
if (match) {
returnElements.push(current);
}
}
return returnElements;
};
}
return getElementsByClassName(elm, tag, className);
};
//ပရေၚ်စတရဴ
function applyEach(callback,array){
var i=0,j=array.length;
while(i<j){callback(array[i++]);}
}
// ပရေၚ်ပဆုဲအပြၚ်အလှာဲ
function elementMoveto(node, refNode, pos){//ကဆံၚ်မစကၠာအိုတ်ဂှ်refNodeရအဴ
if(node && refNode){
var parent=refNode.parentNode;
if (pos && pos=='after') {refNode=refNode.nextSibling;}
try {
if(refNode){
parent.insertBefore(node, refNode);
}else{
parent.appendChild(node);
}
} catch (DOMException) {};
}
}
//Create elements
function createElement(tag,children,props){
var element = document.createElement(tag);
if(!(children instanceof Array)){children=[children];}
applyEach(function(child){
if(typeof child=='string'){child=document.createTextNode(child);}
if(child){element.appendChild(child);}
},children);
if(typeof props=='object'){
for(var k in props){
switch(k){
case 'styles':
var styles=props.styles;
for(var s in styles){element.style[s]=styles[s];}
break;
case 'events':
var events=props.events;
for(var e in events){ addHandler(element,e,events[e]); }
break;
case 'class':
element.className=props[k];break;
default:
element.setAttribute(k,props[k]);
}
}
}
return element;
}
/**
* Convert page name to URL
*
* @param page ယၟုမုက်လိက်
* @param paras By appending a suffix object and passing an empty object {} as a parameter, you can obtain the source code
*/
function getWikiPath(page,paras){
var reg=/^[a-z]+:/;
var pre=page.match(reg);
pre = pre && wgProjectURL[pre[0].replace(/:$/,'').toLowerCase()];
if (pre) {page=page.replace(reg,'');} else {pre=mw.config.get('wgServer');} //The system ensures there are no relative paths to accommodate online agents.
var url = pre + mw.config.get('wgScript') + '?title=' + encodeURI( page.replace( ' ', '_' ) );
if(typeof paras=='object'){
paras.ctype=paras.ctype||'text';
paras.dontcountme=paras.dontcountme||'s';
paras.action=paras.action||'raw';
for(var k in paras){url += '&' + k + '=' + paras[k]; }
}
return url;
}
//ပရေၚ်ကဵုကသပ်[[Special:Gadgets]]မလိက်ကဵုဗီုပြၚ်ရုပ်ရာဒးနွံကဵုပၟိက်ရောၚ်
if(window.requireScripts instanceof Array){
applyEach(importScript,requireScripts);
}
if(window.requireStylesheets instanceof Array){
applyEach(importStylesheet,requireStylesheets);
}
/*
== ပလေဝ်ဒါန်ပရေၚ်လုပ်အဝေါၚ်ဂွံကဵုIE ==
*/
function fixIE(){
}
/*
== မဖပေၚ်ဗီုပြၚ်ခလောပ်ကေတ် ==
*/
/** ခလောပ် div table *****************************
* Description: သ္ကဵုတုဲဒှ်မအံၚ်ဇၞးdiv.NavFrameကဵုtable.collapsibleပရေၚ်မခလာပ်ထောံမာန်ရအဴ။
* JSConfigသီုကဵုcollapseText、expandText、autoCollapseမုက်လိက်မခလာပ်ထောံစနူကၠာမခၞံဗဒှ်လဝ်ဂှ်ကီုရ။
* Maintainers: User:fdcn
*/
function cancelBubble(e){
e=e||window.event;
if(e.stopPropagation){e.stopPropagation();}else{e.cancelBubble=true;}
}
/*
== ပရေၚ်ပလေဝ်ဒါန်ဟိုတ်ဖဵုမုက်လိက်ကၠာအိုတ် ==
*/
/** ပရေၚ်ပလေဝ်ဒါန်ဟိုတ်ဖဵုမုက်လိက်ကၠာအိုတ် *******************************************************
အဓိပ္ပါဲ:
ညးမခၞံဗဒှ်: [[User:Fdcn]]
*/
// "မုက်လိက်တမ်" == wgTitle မပြံၚ်လှာဲဒၟံၚ်လ္ပာ်မုက်လိက်ဝေပ်
if ( mw.config.get('wgIsMainPage') ) {
mw.loader.using(['mediawiki.util']).then(function () {
$( function () {
mw.util.addPortletLink('p-lang', getWikiPath('ဝိက်ရှေန်နရဳ:စရၚ်အၚ်ယၟုအပ္ဍဲဝိက်ရှေန်နရဳဂမၠိုၚ်'),
wgULS('စရၚ်အၚ်ယၟုအပ္ဍဲဝိက်ရှေန်နရဳဂမၠိုၚ်'), 'interwiki-completelist',wgULS('စရၚ်အၚ်ယၟုသီုဖအိုတ်လ္တူဝိက်ရှေန်နရဳဂမၠိုၚ်'));
});
});
}
/*
== မပါဲပ္တိတ်ထောံလ္တူ[+]မုက်လိက်ဓရီုကျာ ==
*/
$(function () {
if(document.getElementById('no-newsection') && document.getElementById('ca-addsection')) {
document.getElementById('ca-addsection').style.display="none";
}
});
/*
==ဗီုပြၚ်တိဍာ်ဂၠးတိ WikiMiniAtlas==
*/
/**
* WikiMiniAtlas is a popup click and drag world map.
* See [[meta:WikiMiniAtlas]] for more information.
* ညးမခၞံဗဒှ်: [[en:User:Dschwen]]
*/
mw.loader.load( '//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript' );
/*
==မရုဲကေတ်ပရေၚ်စဵုဒၞာပလေဝ်ဒါန်==
*/
if(mw.config.get('wgAction')=="protect") {
$( function(){
var pform=document.getElementById("mw-Protect-Form");
var timeoptions;
timeoptions=pform["wpProtectExpirySelection-edit"].options;
if(timeoptions[0].value!="existing"){
timeoptions[timeoptions.length-1].selected=true;
ProtectionForm.updateExpiryList(pform["wpProtectExpirySelection-edit"]);
}
timeoptions=pform["wpProtectExpirySelection-move"].options;
if(timeoptions[0].value!="existing"){
timeoptions[timeoptions.length-1].selected=true;
ProtectionForm.updateExpiryList(pform["wpProtectExpirySelection-move"]);
}
});
}
/*
==မလိက်မဳနူရပ်ကေတ်မဍဵုကောန်ဍေၚ်==
*/
function addGetMenuTextButton(id, srcMenu, targetText, tiptext, afterSelIdx) {
var btnAdd=createElement("a", ((!tiptext)?"(+)":tiptext), {
'id': id ,
'href' : '#'
});
btnAdd.srcMenu=srcMenu;
btnAdd.targetText=targetText;
btnAdd.afterSelIdx=(!afterSelIdx || isNaN(afterSelIdx))?0:afterSelIdx;
btnAdd.onclick=function(){
this.targetText.value+=this.srcMenu.options[srcMenu.selectedIndex].value;
srcMenu.selectedIndex=this.afterSelIdx;
return false;
}
srcMenu.parentNode.appendChild(btnAdd);
}
/*
== metaBox ==
HERE STARTS THE WORKING-CODE OF "METABOXES"*/
/* Funcionament de la Plantilla:Metacaixa
Implementat per: Usuari:Peleguer.
Actualitzat per Joanjoc seguint les indicacions d'en Martorell
*/
function MetaCaixaInit(){
//S'executa al carregar-se la pàgina, si hi ha metacaixes,
// s'assignen els esdeveniments als botons
//alert("MetaCaixaInit");
var i=0 //Inicialitzem comptador de caixes
for (i=0;i<=9;i++){
var vMc = document.getElementById("mc"+i);
if (!vMc) break;
//alert("MetaCaixaInit, trobada Metacaixa mc"+i);
var j=1 //Inicialitzem comptador de botons dins de la caixa
var vPsIni = 0 //Pestanya visible inicial
for (j=1;j<=9;j++){
var vBt = document.getElementById("mc"+i+"bt"+j);
if (!vBt) break;
//alert("MetaCaixaInit, trobat botó mc"+i+"bt"+j);
vBt.onclick = MetaCaixaMostraPestanya; //A cada botó assignem l'esdeveniment onclick
//alert (vBt.className);
if (vBt.className=="mcBotoSel") vPsIni=j; //Si tenim un botó seleccionat, en guardem l'index
}
//alert ("mc="+i+", ps="+j+", psini="+vPsIni );
if (vPsIni == 0) { //Si no tenim cap botó seleccionat, n'agafem un aleatòriament
vPsIni = 1+Math.floor((j-1)*Math.random()) ;
//alert ("Activant Pestanya a l'atzar; _mc"+i+"bt"+vPsIni +"_");
document.getElementById("mc"+i+"ps"+vPsIni).style.display = "block";
document.getElementById("mc"+i+"ps"+vPsIni).style.visibility = "visible";
document.getElementById("mc"+i+"bt"+vPsIni).className="mcBotoSel";
}
}
}
function MetaCaixaMostraPestanya(){
//S'executa al clicar una pestanya,
//aquella es fa visible i les altres s'oculten
var vMcNom = this.id.substr(0,3); //A partir del nom del botó, deduïm el nom de la caixa
var vIndex = this.id.substr(5,1); //I l'index
var i=1
for (i=1;i<=9;i++){ //busquem totes les pestanyes d'aquella caixa
//alert(vMcNom+"ps"+i);
var vPsElem = document.getElementById(vMcNom+"ps"+i);
if (!vPsElem) break;
if (vIndex==i){ //Si és la pestanya bona la mostrem i canviem la classe de botó
vPsElem.style.display = "block";
vPsElem.style.visibility = "visible";
document.getElementById(vMcNom+"bt"+i).className="mcBotoSel";
} else { //Sinó, l'ocultem i canviem la classe de botó
vPsElem.style.display = "none";
vPsElem.style.visibility = "hidden";
document.getElementById(vMcNom+"bt"+i).className="mcBoto";
}
}
return false; //evitem la recàrrega de la pàgina
}
$(MetaCaixaInit);
/**
* Collapsible tables
*
* Allows tables to be collapsed, showing only the header. See [[Wikipedia:NavFrame]].
* @maintainer [[User:R. Koot]] (on Wikipedia)
*/
var autoCollapse = 2;
var collapseCaption = 'hide';
var expandCaption = 'show';
function collapseTable( tableIndex ) {
var i;
var Button = document.getElementById( 'collapseButton' + tableIndex );
var Table = document.getElementById( 'collapsibleTable' + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.getElementsByTagName( 'tr' );
if ( Button.firstChild.data == collapseCaption ) {
for ( i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = 'none';
}
Button.firstChild.data = expandCaption;
} else {
for ( i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = collapseCaption;
}
}
function createCollapseButtons() {
var i;
var tableIndex = 0;
var NavigationBoxes = {};
var Tables = document.getElementsByTagName( 'table' );
for ( i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass('collapsible' ) ) {
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( 'id', 'collapsibleTable' + tableIndex );
var Button = document.createElement( 'span' );
var ButtonLink = document.createElement( 'a' );
var ButtonText = document.createTextNode( collapseCaption );
Button.style.styleFloat = 'right';
Button.style.cssFloat = 'right';
Button.style.fontWeight = 'normal';
Button.style.textAlign = 'right';
Button.style.width = '6em';
ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex );
ButtonLink.setAttribute( 'href', 'javascript:collapseTable(' + tableIndex + ');' );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( '[' ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( ']' ) );
var Header = Tables[i].getElementsByTagName( 'tr' )[0].getElementsByTagName( 'th' )[0];
/* only add button and increment count if there is a header row to work with */
if (Header) {
Header.insertBefore( Button, Header.childNodes[0] );
tableIndex++;
}
}
}
for ( i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass('collapsed' ) || ( tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass('autocollapse' ) ) ) {
collapseTable( i );
}
}
}
/*HERE FINISHES THE WORKING-CODE OF "METABOXES"*/
if (mw.config.get('wgAction') == "edit" || mw.config.get('wgAction') == "submit" || mw.config.get('wgCanonicalSpecialPageName') == 'Search') { // scripts specific to editing pages
importScript('MediaWiki:Common.js/edit.js');
}
// </nowiki>
/* == Make it easy to update language name-to-code and code-to-name data modules == */
// This regex will always match.
if (['Module:Languages/code_to_canonical_name', 'Module:Languages/canonical_names']
.indexOf(mw.config.get('wgPageName').match(/^[^\/]*(?:\/[^\/]+)?/)[0]) !== -1)
importScript('MediaWiki:UpdateLanguageNameAndCode.js');
// == "Did you mean" auto redirect ==
/**
* This will redirect in 3 seconds if a link enclosed in id="did-you-mean"
* is found, and add the text "Auto-redirected from X" under the top header
* if a rdfrom is passed in the get parameters.
* Pages with wynn ([[ƿ]]) will be redirected immediately.
**/
$.when(mw.loader.using(["user", "mediawiki.util"]), $.ready).done(function(){
if (window.disableAutoRedirect) return;
var rdFromValue = mw.util.getParamValue("rdfrom");
if (rdFromValue) {
$('#siteSub').after(
$('<div>').attr("id", 'contentSub')
.append(document.createTextNode(wgULS("(ပရေၚ်ပြံၚ်လှာဲဂၠံၚ်အဝ်တဝ်နူကဵု ", "(ပရေၚ်ပြံၚ်လှာဲဂၠံၚ်အဝ်တဝ် ")))
.append($('<a>', {
href: mw.util.getUrl(rdFromValue, {redirect:"no"}),
addClass: 'new'
}).text(rdFromValue))
.append(document.createTextNode(")")));
} else {
// Redirect as quickly as possible from [[ƿ]] title to [[w]] title.
var pageTitle = mw.config.get("wgTitle");
var isWynnTitle = /ƿ/i.test(pageTitle);
var didYouMean = $('#did-you-mean a').html();
var target = didYouMean ? didYouMean
: isWynnTitle ? $('#go-to-search-page a').html()
: null;
var timeout = isWynnTitle ? 0 : 5000;
window.setTimeout(function () {
var canRedirect = mw.util.getParamValue("redirect") != "no";
var action = mw.config.get("wgAction");
if (target && target !== pageTitle && canRedirect &&
(jQuery.cookie('WiktionaryDisableAutoRedirect') != 'true') &&
(action == "view" || (isWynnTitle && action == "edit")) &&
mw.config.get('wgArticleId') === 0 &&
mw.config.get('wgNamespaceNumber') === 0 &&
!/Redirected from/.test(jQuery('#contentSub').html())
) {
window.location = mw.util.getUrl(target, { rdfrom: pageTitle });
}
}, timeout);
}
});
ecspp2bka2wg4qh73q9zx1bq5kzxoih
ထာမ်ပလိက်:list:currency symbols
10
8820
396702
158477
2026-06-13T17:27:55Z
咽頭べさ
33
咽頭べさ ပြံင်ပဆုဲလဝ် မုက်လိက် [[ထာမ်ပလိက်:Currency symbols]] ဇရေင် [[ထာမ်ပလိက်:currency symbols]]
158477
wikitext
text/x-wiki
'''Currency signs'''
{{top3}}
* {{lang|mul|sc=Arab|[[؋]]}} – afghani
* [[฿]] – baht
* [[₿]] – bitcoin
* [[¢]] – cent
* {{lang|mul|[[₡]]}} – colón
* {{lang|mul|[[₵]]}} – cedi
* [[File:Cifrão symbol (narrow).svg|14px|link=Unsupported titles/Cifrão]] – cifrão
* [[Ð]] – dogecoin
* [[$]] – [[dollar sign]]
* <big>[[₫]]</big> – dong
* {{lang|hy|[[֏]]}} – dram
* [[Ξ]] – ether
* [[€]] – euro
* [[Ƒ|ƒ]] – florin, guilder, or gulden
* {{lang|mul|[[₲]]}} – guarani
{{mid3}}
* {{lang|mul|[[₴]]}} – hryvnia
* {{lang|mul|[[₭]]}} – kip
* [[₾]] – lari
* {{lang|mul|[[₺]]}} – Turkish lira
* {{lang|mul|[[₼]]}} – manat
* {{lang|mul|[[₥]]}} – mill
* {{lang|mul|[[₦]]}} – naira
* {{lang|mul|[[₱]]}} – Philippine peso
* [[£]] – pound
* {{lang|mul|sc=Arab|[[﷼]]}} – rial or riyal
* {{lang|mul|sc=Khmr|<big>[[៛]]</big>}} – riel
* [[ރ]] – rufiyaa
{{mid3}}
* [[₽]] – ruble
* {{lang|mul|[[₨]]}} – rupee
* [[௹]] – rupee
* [[₹]] – Indian rupee
* [[৲]] or [[৳]] – taka
* [[૱]] – rupee (in Gujarat)
* [[₪]] – new shekel
* [[₸]] – tenge
* {{lang|mul|[[₮]]}} – tugrik, tether
* [[₩]] – won
* [[¥]] – yen or yuan
{{bottom}}
'''Formerly used currency signs'''
{{top3}}
* [[𐆚]] – as
* {{lang|mul|[[₳]]}} – austral
* {{lang|mul|[[₠]]}} – ECU (European Currency Unit)
* {{lang|mul|[[₢]]}} – cruzeiro
* [[𐆖]] – denarius
* {{lang|mul|[[₯]]}} – drachma
{{mid3}}
* [[₣]] – French franc
* [[₤]] – Italian lira
* [[₶]] – livre tournois
* {{lang|mul|[[ℳ]]}} – mark
{{mid3}}
* [[₧]] – peseta
* {{lang|mul|[[₰]]}} – pfennig
* {{lang|mul|[[₷]]}} – spesmilo
* [[File:Old Sheqel sign.svg|15px|link=Unsupported titles/Old Israeli shekel]] – old Israeli shekel
{{bottom}}
<noinclude>[[Category:ထာမ်ပလိက်သၚ်္ကေတဂမၠိုၚ်|currency symbols]]
</noinclude>
7uwjwm6l50aagsldqpxr3fpim4uouc2
396704
396702
2026-06-13T17:29:01Z
咽頭べさ
33
咽頭べさ ပြံင်ပဆုဲလဝ် မုက်လိက် [[ထာမ်ပလိက်:currency symbols]] ဇရေင် [[ထာမ်ပလိက်:list:currency symbols]]
158477
wikitext
text/x-wiki
'''Currency signs'''
{{top3}}
* {{lang|mul|sc=Arab|[[؋]]}} – afghani
* [[฿]] – baht
* [[₿]] – bitcoin
* [[¢]] – cent
* {{lang|mul|[[₡]]}} – colón
* {{lang|mul|[[₵]]}} – cedi
* [[File:Cifrão symbol (narrow).svg|14px|link=Unsupported titles/Cifrão]] – cifrão
* [[Ð]] – dogecoin
* [[$]] – [[dollar sign]]
* <big>[[₫]]</big> – dong
* {{lang|hy|[[֏]]}} – dram
* [[Ξ]] – ether
* [[€]] – euro
* [[Ƒ|ƒ]] – florin, guilder, or gulden
* {{lang|mul|[[₲]]}} – guarani
{{mid3}}
* {{lang|mul|[[₴]]}} – hryvnia
* {{lang|mul|[[₭]]}} – kip
* [[₾]] – lari
* {{lang|mul|[[₺]]}} – Turkish lira
* {{lang|mul|[[₼]]}} – manat
* {{lang|mul|[[₥]]}} – mill
* {{lang|mul|[[₦]]}} – naira
* {{lang|mul|[[₱]]}} – Philippine peso
* [[£]] – pound
* {{lang|mul|sc=Arab|[[﷼]]}} – rial or riyal
* {{lang|mul|sc=Khmr|<big>[[៛]]</big>}} – riel
* [[ރ]] – rufiyaa
{{mid3}}
* [[₽]] – ruble
* {{lang|mul|[[₨]]}} – rupee
* [[௹]] – rupee
* [[₹]] – Indian rupee
* [[৲]] or [[৳]] – taka
* [[૱]] – rupee (in Gujarat)
* [[₪]] – new shekel
* [[₸]] – tenge
* {{lang|mul|[[₮]]}} – tugrik, tether
* [[₩]] – won
* [[¥]] – yen or yuan
{{bottom}}
'''Formerly used currency signs'''
{{top3}}
* [[𐆚]] – as
* {{lang|mul|[[₳]]}} – austral
* {{lang|mul|[[₠]]}} – ECU (European Currency Unit)
* {{lang|mul|[[₢]]}} – cruzeiro
* [[𐆖]] – denarius
* {{lang|mul|[[₯]]}} – drachma
{{mid3}}
* [[₣]] – French franc
* [[₤]] – Italian lira
* [[₶]] – livre tournois
* {{lang|mul|[[ℳ]]}} – mark
{{mid3}}
* [[₧]] – peseta
* {{lang|mul|[[₰]]}} – pfennig
* {{lang|mul|[[₷]]}} – spesmilo
* [[File:Old Sheqel sign.svg|15px|link=Unsupported titles/Old Israeli shekel]] – old Israeli shekel
{{bottom}}
<noinclude>[[Category:ထာမ်ပလိက်သၚ်္ကေတဂမၠိုၚ်|currency symbols]]
</noinclude>
7uwjwm6l50aagsldqpxr3fpim4uouc2
396706
396704
2026-06-13T18:30:34Z
咽頭べさ
33
396706
wikitext
text/x-wiki
{{col|mul|title=လက္ခဏာမရပ်စကာသြန်ဂမၠိုၚ်|n=3|sort=0
| [[¤]] – ဝါန်ကာတ်မရပ်စကာသြန်
| [[؋]] – အာဖဂါန်နဳ
| [[฿]] – ဗါတ်
| [[₿]] – ဗေတ်ကွေိုၚ်
| [[¢]] – သေန်
| [[₡]] – ခိုဝ်လောန်
| [[₵]] – သဳဒဳ
| [[File:Cifrão symbol (narrow).svg|11px|link=:en:Unsupported titles/Cifrão]] – သဳဖရာအဝ်
| [[File:UAE Dirham Symbol.svg|11px|link=:en:Unsupported titles/Emirati dirham]] – ဒဳဟမ် ဨမိရေတ်
| [[$]] – ဒဝ်လာ
| [[₫]] – ဓုံ
| [[֏]] – ဒရာမ်
| [[€]] – ယူရဝ်
| [[ƒ]] – ဖဠောရေန်၊ ဂဳလ်ဒါ၊ ဂူလ်ဒါန်
| [[₣]] – ဖြၚ်
| [[₲]] – ဂွာရာနဳ
| [[₴]] – ဟရဳဗ်နဳယျာ
| [[File:Indian Paisa symbol.svg|15px|link=:en:Unsupported titles/paisa sign]] - ပါဲသာအိန္ဒိယ
| [[₭]] – ကသ်ပ်
| [[₾]] – လာရဳ
| [[₺]] – လဳရာ တူရကဳ
| [[₼]] – မာနာတ်
| [[₦]] – naira
| [[₱]] – ပဳသဝ် ဖှဳလေတ်ပေန်
| [[£]] – ပေါန်
| [[﷼]] – ရဳအာယ် အဳရာန်
| [[File:Omani rial black medium.svg|x11px|link=:en:Unsupported titles/Omani rial sign]] – ရဳအာယ် အဝ်မာန်
| [[]] – ရဳအာယ် သာအုဒဳ
| [[៛]] – ရဳအာယ်
| [[₽]] – ရုဗေဝ် ရုသျှာ
| [[File:Unicode 0x20C5.svg|20px|link=:en:Unsupported titles/Belarusian ruble sign]] – ရုဗေဝ် ဗဳလာရုတ်
| [[₨]] – ရူပဳ
| [[₹]] – ရူပဳ အိန္ဒိယ
| [[File:Rufiyaa sign angular.svg|11px|link=:en:Unsupported titles/rufiyaa]] – ရူဖှဳယျာ
| [[₪]] – ဃှဳကာယ်လ်တၟိ
| [[⃀]] – သောန် ကာဂျတ်သတာန်
| [[₸]] – တာန်ဂျဳ
| [[₮]] – တူဂရေတ်၊ ယျောန်
| [[₩]] – ဝေါန်
| [[¥]] – ယျာန်၊ ယောန်
}}
{{col|mul|title=လက္ခဏာမရပ်စကာသြန်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|n=3|sort=0
| [[৳]] – လက္ခဏာတာကာဘၚ်္ဂါလဳ
| [[৲]] – လက္ခဏာရူပဳဘၚ်္ဂါလဳ
| [[৹]] – လက္ခဏာအာန်နာဘၚ်္ဂါလဳ
| [[৻]] – လက္ခဏာဂါန္ဒါဘၚ်္ဂါလဳ
| {{l|gu|રૂ૰}} – Gujarati rupee sign လက္ခဏာရူပဳဂူဂျာရာတ်
| [[꠸]] – လက္ခဏာရူပဳအိန္ဒိယသၟဝ်ကျာ
| {{l|ne|रू|tr=-}} – လက္ခဏာရူပဳနဳပဝ်
| {{l|mul|𞱱}} – လက္ခဏာရူပဳပါကာတ်သတာန်<!--[[w:Pakistani rupee]]-->
| {{l|si|රු|tr=-}} – Sinhala rupee sign လက္ခဏာရူပဳသေၚ်ဟာလာ
| {{l|ta|௹}} – Tamil rupee sign လက္ခဏာရူပဳတမဳလ်
| {{l|ur|𞲰}} – Urdu rupee sign လက္ခဏာရူပဳအူရဒူ
| {{l|nnp|𞋿}} – လက္ခဏာရူပဳဝါန်ဆဝ်
| {{l|ja|円|tr=-}} – ယျာန် (ပ္ဍဲဘာသာဂျပါန်)
| {{l|zh|元|tr=-}} – ယောန် (ပ္ဍဲဘာသာကြုက်)
| {{l|zh|圓|tr=-}} – ယောန် (ပ္ဍဲဘာသာကြုက်)
}}
{{col|mul|title=လက္ခဏာမရပ်စကာသြန်ဗွဲကိုပ်ကၠာဂမၠိုၚ်|n=3|sort=0
| {{l|la|𐆚}} – ညံၚ်ရဴရဝ်မာန်
| [[₳]] – အဝ်သတြေလျာ
| [[₠]] – ယူနေတ်မရပ်စကာသြန်ဥရောပ
| [[₢]] – ခရူဇြဳရဝ်
| {{l|la|𐆖}} – သြန်ခတှ်ေဒၚ်္ဂါရဝ်မာန်
| [[₯]] – ဒရေတ်ခ်မာ
| [[₤]] - လဳရာ အဳတလဳ
| [[₶]] – ထွဲနွာတ် လေတ်ဗာ
| [[ℳ]] – ခရက်သမ္တီ
| [[₥]] – ခဗုတ်
| [[₻]] - ခရက်သမ္တီနဝ်ဒေတ်
| [[₧]] – ပဳသဳတာ
| [[₰]] – ဖေန်နေတ်ဂ်
| [[ℛ︁ℳ︁]] – ရိက်ချ်သၟာတ်ခ်
| {{l|la|𐆘}} – သာတ်သတေသ်ရဝ်မာန်
| [[₷]] – သပေတ်သ်မဳလဝ်
| [[File:Old Sheqel sign.svg|15px|link=:en:Unsupported titles/Old Israeli shekel]] – ဃှဳကာယ်လ် အေတ်သအာယ်တြေံ
}}<noinclude>
[[ကဏ္ဍ:ထာမ်ပလိက်စရၚ်အၚ်ဂမၠိုၚ်]]
</noinclude>
29yxyn7c5n8vge42pg5ed97cjus54u3
november
0
56204
396794
374904
2026-06-14T06:42:33Z
咽頭べさ
33
396794
wikitext
text/x-wiki
{{also|November|novémbor|nóvember|Nɔvember}}
==မအရေဝ်ပံၚ်ကောံ==
[[file:november flag.svg|frameless|right|border|upright]]
===နာမ်===
{{head|mul|noun}}
# {{alt case|mul|November}}
=={{=en=}}==
===ဗွဟ်ရမ္သာၚ်===
* {{audio|en|LL-Q1860 (eng)-Wodencafe-november.wav|a=US}}
===နာမ်===
{{en-noun|?}}
# {{alt case|mul|November}}
==သေန်ဗရေန်==
===နိရုတ်===
{{root|cim|ine-pro|*meh₁-}}
ဝေါဟာကၠုၚ်နူ {{der|cim|la|november}}
===နာမ်===
{{cim-noun|m}}
# ဂိတုက္တိုန်။
#: {{syn|cim|novembre|nòinte maanont|bintarmånat}}
==={{See also}}===
{{list:Gregorian calendar months/cim/7}}
==ဒိန်နေတ်==
===ပွံၚ်နဲတၞဟ်===
* {{alt|da|nov.||abbreviation}}
===နိရုတ်===
ဝေါဟာကၠုၚ်နူ {{der|da|la|November}}
===နာမ်===
{{head|da|noun|g=c}}
# ဂိတုက္တိုန်။
==={{See also}}===
{{list:Gregorian calendar months/da}}
==ဒါတ်==
===ပွံၚ်နဲတၞဟ်===
* {{alt|nl|nov||abbreviation}}
===နိရုတ်===
ဝေါဟာကၠုၚ်နူ {{der|nl|la|November}}
===ဗွဟ်ရမ္သာၚ်===
* {{audio|nl|Nl-november.ogg}}
===နာမ်===
{{nl-noun|m|-s|+}}
# ဂိတုက္တိုန်။
#: {{syn|nl|slachtmaand <q:archaic>}}
===မဒုၚ်လွဳစ===
* {{desc|af|November}}
* {{desc|dcr|november}}
* {{desc|hns|nowambar|bor=1}}
* {{desc|jvn|Nopèmber|bor=1}}
* {{desc|id|November|bor=1}}
* {{desc|bor=1|pap|novèmber|november}}
* {{desc|tri|nopenpë|bor=1}}
==={{See also}}===
{{list:Gregorian calendar months/nl}}
==အေက်သတဝ်နဳယာန်==
{{wp|et:}}
===ပွံၚ်နဲတၞဟ်===
* {{alt|et|nov||abbreviation}}
===နိရုတ်===
ဝေါဟာကၠုၚ်နူ {{der|et|de|November}}
===နာမ်===
{{et-noun|novembri|novembrit}}
# ဂိတုက္တိုန်။
====လဟုတ်စှ်ေ====
{{et-decl-õpik|novemb|ri|er}}
==={{See also}}===
{{list:Gregorian calendar months/et}}
==ဖာရဝ်သဳ==
===နာမ်===
{{fo-noun|m}}
# ဂိတုက္တိုန်။
==={{See also}}===
* {{sense|month}} Previous: [[oktober]]. Next: [[desember]]
==ဟာန်ဂါရေဝ်==
{{hu-monthbox||október|november|december|október|december|abr=nov.|adj=novemberi|adv=novemberenként|wplink=November}}
===ဗွဟ်ရမ္သာၚ်===
* {{hu-IPA}}
* {{audio|hu|Hu-november.ogg}}
* {{hyphenation|hu|no|vem|ber}}
* {{rhymes|hu|ɛr|s=3}}
===နာမ်===
{{hu-noun|ek}}
# ဂိတုက္တိုန်။
====လဟုတ်စှ်ေ====
{{hu-infl-nom|novembere|e|-}}{{hu-pos-etek|november||ei}}
==={{See also}}===
{{hu-months}}
===Further reading===
* {{R:ErtSz}}
==လာဒေန်==
===ပွံၚ်နဲတၞဟ်===
* {{alter|lld|nuvember}}
===နိရုတ်===
ဝေါဟာကၠုၚ်နူ {{inh|lld|la|november}}
===နာမ်===
{{lld-noun|m|novembers}}
# ဂိတုက္တိုန်။
==လပ်တေန်==
{{etymon|la|November}}
===ဗွဟ်ရမ္သာၚ်===
* {{la-IPA}}
====နာမဝိသေသန====
{{la-adj|november<3+>|noneut=1}}
# {{alternative case form of|la|November}}: မဆေၚ်စပ်ကဵုဂိတုက္တိုန်နကဵု၁၂သၞာံ။
====လဟုတ်စှ်ေ====
{{la-adecl|november<3+>|noneut=1}}
===နာမ်မကိတ်ညဳ===
{{la-proper noun|november<3>|g=m}}
# {{alternative case form of|la|November}}
#: {{synonyms|la|[[november]] [[mensis]]}}
==လိမ်ဗူရ်ဂိသ်==
{{wp|li:}}
===ပွံၚ်နဲတၞဟ်===
* {{alter|li|Novämmber||Eupen}}
===နာမ်===
{{head|li|noun}}
# က္တိုန် (ဂိတု)။
==ဂျာမာန်လဒေါဝ်သၠုၚ်==
===နာမ်===
{{gmh-noun|m}}
# ဂိတုက္တိုန်။
====လဟုတ်စှ်ေ====
{{gmh-ndecl|m}}
===မဒုၚ်လွဳစ===
* {{desc|gsw|Novämber}}
* {{desc|bar|Novemba}}
* {{desc|gmw-cfr}}
** {{desc|ksh|Novemmber|Novvämmbe|Novëmmbo}}
** {{desc|lb|November}}
* {{desc|cim|november}}
* {{desctree|de|November}}
* {{desc|pdc|November}}
* {{desc|yi|נאָוועמבער}}
==={{See also}}===
{{list:Gregorian calendar months/gmh}}
==နဝ်ဝေ ဗော်ခ်မဝ်==
{{wp|no:}}
===ပွံၚ်နဲတၞဟ်===
* {{alt|nb|nov.||abbreviation}}
===နိရုတ်===
ဝေါဟာကၠုၚ်နူ {{der|nb|la|November}}
===နာမ်===
{{head|nb|noun|g=m|indeclinable}}
# ဂိတုက္တိုန်။
==={{See also}}===
{{list:Gregorian calendar months/no}}
==နဝ်ဝေ နဳနိုတ်==
{{wp|nn:}}
===ပွံၚ်နဲတၞဟ်===
* {{alt|nn|nov.||abbreviation}}
===နိရုတ်===
ဝေါဟာကၠုၚ်နူ {{der|nn|la|November}}
===နာမ်===
{{head|nn|noun|g=m|indeclinable}}
# ဂိတုက္တိုန်။
==ရဝ်မာန်==
===နိရုတ်===
ဝေါဟာကၠုၚ်နူ {{der|rm|la|november||of November}}
===နာမ်မကိတ်ညဳ===
{{rm-proper noun|m}}
# ဂိတုက္တိုန်။
==သၠဝ်ဝေန်နဳယျာ==
===ပွံၚ်နဲတၞဟ်===
* {{alt|sk|nov.|nov||abbreviation}}
===နိရုတ်===
ဝေါဟာကၠုၚ်နူ {{der|sk|la|November}}
===ဗွဟ်ရမ္သာၚ်===
* {{IPA|sk|/ˈnɔvɛmbɛr/}}
* {{audio|sk|LL-Q9058 (slk)-TomášPolonec-november.wav|a=Bratislava}}
===နာမ်===
{{sk-noun|m-in|adj=novembrový}}
# ဂိတုက္တိုန်။
====လဟုတ်စှ်ေ====
{{sk-ndecl|m-in|novembra}}
==={{See also}}===
{{list:Gregorian calendar months/sk}}
==သၠဝ်ဝေနဳ==
{{wp|sl:}}
===ပွံၚ်နဲတၞဟ်===
* {{alt|sl|nov.||abbreviation}}
===နိရုတ်===
ဝေါဟာကၠုၚ်နူ {{der|sl|la|November}}
===ဗွဟ်ရမ္သာၚ်===
* {{sl-IPA|novémbər}}
===နာမ်===
{{sl-noun|novémbər|m-in}}
# ဂိတုက္တိုန်။
====လဟုတ်စှ်ေ====
{{sl-decl-noun-m|novêmbr}}
==={{See also}}===
{{list:Gregorian calendar months/sl}}
==သွဳဒေန်==
{{wp|sv:}}
===ပွံၚ်နဲတၞဟ်===
* {{alt|sv|nov.|nov||abbreviation}}
===နိရုတ်===
ဝေါဟာကၠုၚ်နူ {{der|sv|la|November}}
===ဗွဟ်ရမ္သာၚ်===
* {{IPA|sv|/nʊˈvɛmbɛr/}}
* {{audio|sv|Sv-november.ogg}}
===နာမ်===
{{sv-noun|c}}
# ဂိတုက္တိုန်။
==={{See also}}===
{{list:Gregorian calendar months/sv}}
3yt2ly7h7gny86v0o4ylofi3xz993uy
မဝ်ဂျူ:labels/data/lang/egl
828
218026
396804
298316
2026-06-14T07:05:05Z
咽頭べさ
33
396804
Scribunto
text/plain
local labels = {}
labels["Bologna"] = {
aliases = {"Bolognese"},
Wikipedia = true,
regional_categories = "Bolognese",
}
labels["Carpi"] = {
aliases = {"Carpigiano"},
Wikipedia = "Carpi, Emilia-Romagna",
regional_categories = "Carpigiano",
}
labels["Ferrara"] = {
aliases = {"Ferrarese"},
Wikipedia = true,
regional_categories = "Ferrarese",
}
labels["Mantua"] = {
aliases = {"Mantovano"},
Wikipedia = true,
regional_categories = "Mantovano",
}
labels["Mirandola"] = {
aliases = {"Mirandolese"},
Wikipedia = true,
regional_categories = "Mirandolese",
}
labels["Modena"] = {
aliases = {"Modenese"},
Wikipedia = true,
regional_categories = "Modenese",
}
labels["Parma"] = {
aliases = {"Parmigiano"},
Wikipedia = "en:Parma",
display = "ပၟာ",
regional_categories = "ပါမဳဂျဳယျာနဝ်",
}
labels["Piacenza"] = {
aliases = {"Piacentino"},
Wikipedia = true,
regional_categories = "Piacentino",
}
labels["Reggio Emilia"] = {
aliases = {"Reggiano"},
Wikipedia = true,
regional_categories = "Reggiano",
}
labels["Spilamberto"] = {
aliases = {"Spilambertese"},
Wikipedia = true,
regional_categories = "Spilambertese",
}
labels["Unified"] = {
aliases = {"OrtoEMI"},
Wikipedia = "Emilian language",
regional_categories = false,
plain_categories = "Emilian unified spellings",
}
return require("Module:labels").finalize_data(labels)
5va0vjjsg4q2p9ko0ahzzi2g6g5z266
※
0
295830
396697
2026-06-13T17:17:46Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|⁜|፠|𠂭}} {{character info}} ==ဂျပါန်== {{wp|ja:}} ===ခရက်သမ္တီလဝ်သၚ်္ကေတပိုတ်=== {{head|ja|punctuation mark}} # {{n-g|မတုပ်နှဴပ္ဍဲတၚ်မကၠောန်နကဵုသၞံၚ်မသမ္တီမွဲသာ် ဝါ တၞုၚ်ကံသၞာတ်}} ===={{See also}}==== * {{l|ja|*}} ==ကိုဝ..."
396697
wikitext
text/x-wiki
{{also|⁜|፠|𠂭}}
{{character info}}
==ဂျပါန်==
{{wp|ja:}}
===ခရက်သမ္တီလဝ်သၚ်္ကေတပိုတ်===
{{head|ja|punctuation mark}}
# {{n-g|မတုပ်နှဴပ္ဍဲတၚ်မကၠောန်နကဵုသၞံၚ်မသမ္တီမွဲသာ် ဝါ တၞုၚ်ကံသၞာတ်}}
===={{See also}}====
* {{l|ja|*}}
==ကိုဝ်ရဳယျာ==
===ခရက်သမ္တီလဝ်သၚ်္ကေတပိုတ်===
{{head|ko|punctuation mark}}
# {{n-g|ခရက်သမ္တီနိဿဲမွဲသာ်မရပ်စပ်အပ္ဍဲဆေၚ်စပ်ကဵုပွမစကၠောန်နကဵုမချူသမ္တီမွဲသာ်}}
==အူရဒူ==
===ခရက်သမ္တီလဝ်သၚ်္ကေတပိုတ်===
{{head|ur|punctuation mark|tr=¶}}
# {{non-gloss|ဗျဉ်မွဲမ မရပ်စပ်နကဵုပိုတ်လိက်မသာဲခြာဂမၠိုၚ်}}
jixb4qg1caxv7kk9y2oov8w9z1l5hgf
ကဏ္ဍ:ခရက်သမ္တီလဝ်သၚ်္ကေတပိုတ်ဂျပါန်ဂမၠိုၚ်
14
295831
396698
2026-06-13T17:18:36Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာဂျပါန်]]"
396698
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာဂျပါန်]]
15h819jrbj1x7f70m1jaqwsuvqkba2r
ကဏ္ဍ:ခရက်သမ္တီလဝ်သၚ်္ကေတပိုတ်ကိုဝ်ရဳယျာဂမၠိုၚ်
14
295832
396699
2026-06-13T17:19:48Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာကိုဝ်ရဳယျာ]]"
396699
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာကိုဝ်ရဳယျာ]]
awuu0ij7w5rg77htt7q5ygb82xhoci6
ကဏ္ဍ:ခရက်သမ္တီလဝ်သၚ်္ကေတပိုတ်အူရဒူဂမၠိုၚ်
14
295833
396700
2026-06-13T17:20:42Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာအူရဒူ]]"
396700
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာအူရဒူ]]
immroosjnga5izpaek4ld1q7zi2e8nr
𞱱
0
295834
396701
2026-06-13T17:26:28Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info|𞱱}} ==အူရဒူ== ===သၚ်္ကေတ=== {{head|ur|punctuation marks|head=𞱱|tr=₨}} # ရုပဳ; {{n-g|မဆေၚ်စပ်ကဵုအူရဒူမခရက်သမ္တီသြန်မွဲရုပဳ}} ==={{See also}}=== {{currency symbols}}"
396701
wikitext
text/x-wiki
{{character info|𞱱}}
==အူရဒူ==
===သၚ်္ကေတ===
{{head|ur|punctuation marks|head=𞱱|tr=₨}}
# ရုပဳ; {{n-g|မဆေၚ်စပ်ကဵုအူရဒူမခရက်သမ္တီသြန်မွဲရုပဳ}}
==={{See also}}===
{{currency symbols}}
thc3w3qbxlln3cigoviv64dm7y9qzh4
ထာမ်ပလိက်:Currency symbols
10
295835
396703
2026-06-13T17:27:55Z
咽頭べさ
33
咽頭べさ ပြံင်ပဆုဲလဝ် မုက်လိက် [[ထာမ်ပလိက်:Currency symbols]] ဇရေင် [[ထာမ်ပလိက်:currency symbols]]
396703
wikitext
text/x-wiki
#REDIRECT [[ထာမ်ပလိက်:currency symbols]]
mbx1b70xi6fobkpp9pgty3l5p75v789
ထာမ်ပလိက်:currency symbols
10
295836
396705
2026-06-13T17:29:02Z
咽頭べさ
33
咽頭べさ ပြံင်ပဆုဲလဝ် မုက်လိက် [[ထာမ်ပလိက်:currency symbols]] ဇရေင် [[ထာမ်ပလိက်:list:currency symbols]]
396705
wikitext
text/x-wiki
#REDIRECT [[ထာမ်ပလိက်:list:currency symbols]]
lpgg72zx4d4lgroeutzz2azgacemrkz
ကဏ္ဍ:ထာမ်ပလိက်စရၚ်အၚ်ဂမၠိုၚ်
14
295837
396707
2026-06-13T18:31:19Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ထာမ်ပလိက်ဂမၠိုၚ်]]"
396707
wikitext
text/x-wiki
[[ကဏ္ဍ:ထာမ်ပလိက်ဂမၠိုၚ်]]
7ai1qwdqp5xw66eppnznprdqppmvdll
မဝ်ဂျူ:columns/doc
828
295838
396710
2026-06-13T18:39:07Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "This module creates a list with automatically balanced columns. It should not be used directly in entries, but in templates such as {{temp|col2}} or {{temp|col3}}. List entries are given as parameters to the template. ==Examples== * <code><nowiki>{{#invoke:columns|display|sort=1|collapse=1|columns=3}} -> {{col3|en|z|y|x|w|v|u|t}} </nowiki></code> {{col3|en|z|y|x|w|v|u|t}} * <code><nowiki>{{#invoke:columns|display|so..."
396710
wikitext
text/x-wiki
This module creates a list with automatically balanced columns. It should not be used directly in entries, but in templates such as {{temp|col2}} or {{temp|col3}}. List entries are given as parameters to the template.
==Examples==
* <code><nowiki>{{#invoke:columns|display|sort=1|collapse=1|columns=3}} -> {{col3|en|z|y|x|w|v|u|t}} </nowiki></code>
{{col3|en|z|y|x|w|v|u|t}}
* <code><nowiki>{{#invoke:columns|display|sort=1|collapse=1|columns=2}} -> {{col2|nl|a|b|c|d|e|f|g}}</nowiki></code>
{{col2|nl|a|b|c|d|e|f|g}}
==Parameters==
===create_list===
<syntaxhighlight lang="lua">export.create_list {
column_count = number,
content = list, alphabetize = boolean,
background_color = string, collapse = boolean,
toggle_category = string,
class = string, lang = language_object,
}</syntaxhighlight>
; <code>content</code>: A list of terms: <code>{ "term1", "term2", "term3", ... }</code>.
; <code>lang</code>: The language of the terms in the list. (Must be a language object from [[Module:languages]].)
; <code>collapse</code>: If true, table will be collapsed if it has enough items.
; <code>column_count</code>: Number of columns in the table. Defaults to 1.
; <code>sort</code>: Toggle sorting of the entries in the table. Defaults to false.
; <code>toggle_category</code>: Determines the text for the "Show <toggle_category>" or "Hide <toggle category>" button in the "visibility" part of the toolbar. The default is "derived terms".
; <code>class</code>: HTML class to add to the <code>div</code> tag that contains the list. Supply <code>columns-bg</code> to get the blue background normally seen on Wiktionary's columnar term lists.
===create_table===
The old name for the main function. It is now just a wrapper for <code>create_list</code>.
===display===
The template-invokable function.
==Exported functions==
{{module documentation}}
{{module cat|-|ကၠောန်စရၚ်}}
4j8dxftia9og5fvenv18vyaeg99r6ec
ထာမ်ပလိက်:col2
10
295839
396711
2026-06-13T18:40:15Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "<onlyinclude>{{safesubst:<noinclude/>#invoke:columns|display|sort=1|collapse=1|columns=2}}</onlyinclude><!-- -->{{documentation}}"
396711
wikitext
text/x-wiki
<onlyinclude>{{safesubst:<noinclude/>#invoke:columns|display|sort=1|collapse=1|columns=2}}</onlyinclude><!--
-->{{documentation}}
fql3i5gs8qsilvyq9rs51k138mgszwi
ထာမ်ပလိက်:col2/documentation
10
295840
396712
2026-06-13T18:41:44Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{documentation subpage}} ==Usage== This template creates a balanced table with two columns and may be used to replace the templates {{temp|col-top}}/{{temp|col-bottom}} and {{tl|top2}}. ===Parameters=== ; {{para|1|req=1}} : Language code of the terms; see [[Wiktionary:List of languages]]. <small>The parameter {{para|lang}} is a deprecated synonym; please do not use. If this is used, all numbered parameters move down..."
396712
wikitext
text/x-wiki
{{documentation subpage}}
==Usage==
This template creates a balanced table with two columns and may be used to replace the templates {{temp|col-top}}/{{temp|col-bottom}} and {{tl|top2}}.
===Parameters===
; {{para|1|req=1}}
: Language code of the terms; see [[Wiktionary:List of languages]]. <small>The parameter {{para|lang}} is a deprecated synonym; please do not use. If this is used, all numbered parameters move down by one.</small>
; {{para|2}}, {{para|3}}, ...
: Terms to insert into the table. Individual terms can specify transliterations, glosses and other modifications inline using a syntax like <code>Изабе́лла<tr:Izabɛ́lla><t:Isabelle></code>; see {{temp|col}} for more information.
; {{para|title}}
: Used to add a title.
; {{para|sort}}
: Use {{para|sort|0}} to suppress auto-sorting of the contents. To sort the list manually using the same rules as {{temp|col2}}, use {{tl|subst:sort}}.
; {{para|sc}}
: Specifies the script code of all the terms in the table. This is rarely needed. It can be used for instance in Translingual entries that contain lists of cuneiform characters, where notating the script with <code><nowiki><sc:Xsux></nowiki></code> for every term would be overly verbose.
; {{para|collapse}}
: Use {{para|collapse|0}} to suppress auto-collapsing.
===Example===
<code><nowiki>{{col2|en|day job|calendar day|daycare|a broken clock is right twice a day|daylight|all-day|as the day is long|Canada Day|daily|day after day|daybreak|daydream|day in, day out|day laborer|daylily|day nursery|day off|day of reckoning|day one|daypart|day school|daystar}}</nowiki></code>
results in
{{col2|en|day job|calendar day|daycare|a broken clock is right twice a day|daylight|all-day|as the day is long|Canada Day|daily|day after day|daybreak|daydream|day in, day out|day laborer|daylily|day nursery|day off|day of reckoning|day one|daypart|day school|daystar}}
==See also==
* {{temp|col}}
* {{temp|col1}}
* {{temp|col3}}
* {{temp|col4}}
* {{temp|col5}}
<includeonly>
[[ကဏ္ဍ:ထာမ်ပလိက်မုက်လိက်တိုၚ်ကရေက်ဂမၠိုၚ်]]
</includeonly>
4myn3mcrtkcaft82ytzw5r0lgbk014j
ကဏ္ဍ:ယူနဳကုဒ် ဂၞန်သၚ်္ချာအိန္ဒိယသဳယျာဂ်ဂမၠိုၚ်
14
295841
396713
2026-06-13T18:46:59Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဒၞာဲအခဝ်ယူနဳကုဒ်ဂမၠိုၚ်]]"
396713
wikitext
text/x-wiki
[[ကဏ္ဍ:ဒၞာဲအခဝ်ယူနဳကုဒ်ဂမၠိုၚ်]]
ak38aisd37thdp65kqkgyaqadjtvgs8
အဆက်လက္ကရဴ:ယူနဳကုဒ်/ဂၞန်သၚ်္ချာအိန္ဒိယသဳယျာဂ်ဂမၠိုၚ်
100
295842
396714
2026-06-13T18:47:54Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{Unicode character list header}} {{Unicode character list}}"
396714
wikitext
text/x-wiki
{{Unicode character list header}}
{{Unicode character list}}
ttzawwpka9qk1qjw50j3ep2eaqycaqw
𞱲
0
295843
396715
2026-06-13T18:49:59Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396715
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞱳
0
295844
396716
2026-06-13T18:50:09Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396716
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞱴
0
295845
396717
2026-06-13T18:50:31Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396717
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞱵
0
295846
396718
2026-06-13T18:50:40Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396718
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞱶
0
295847
396719
2026-06-13T18:50:49Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396719
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞱷
0
295848
396720
2026-06-13T18:50:58Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396720
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞱸
0
295849
396721
2026-06-13T18:51:07Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396721
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞱹
0
295850
396722
2026-06-13T18:51:25Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396722
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞱺
0
295851
396723
2026-06-13T18:51:34Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396723
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞱻
0
295852
396724
2026-06-13T18:51:45Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396724
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞱼
0
295853
396725
2026-06-13T18:51:54Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396725
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞱽
0
295855
396726
2026-06-13T18:52:30Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396726
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞱾
0
295856
396727
2026-06-13T18:52:40Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396727
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞱿
0
295857
396728
2026-06-13T18:52:50Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396728
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲀
0
295858
396729
2026-06-13T18:52:59Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396729
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲁
0
295859
396730
2026-06-13T18:53:11Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396730
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲂
0
295860
396731
2026-06-13T18:53:33Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396731
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲃
0
295861
396732
2026-06-13T18:53:42Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396732
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲄
0
295862
396733
2026-06-13T18:53:50Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396733
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲅
0
295863
396734
2026-06-13T18:54:00Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396734
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲆
0
295864
396735
2026-06-13T18:54:13Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396735
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲇
0
295865
396736
2026-06-13T18:54:35Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396736
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲈
0
295866
396737
2026-06-13T18:54:46Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396737
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲉
0
295867
396738
2026-06-13T18:54:57Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396738
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲊
0
295868
396739
2026-06-13T18:55:06Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396739
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲋
0
295869
396740
2026-06-13T18:55:16Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396740
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲴
0
295870
396741
2026-06-13T18:55:48Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396741
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲌
0
295871
396742
2026-06-13T18:56:11Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396742
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲍
0
295872
396743
2026-06-13T18:56:21Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396743
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲎
0
295873
396744
2026-06-13T18:56:32Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396744
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲏
0
295874
396745
2026-06-13T18:56:55Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396745
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲐
0
295875
396746
2026-06-13T18:57:06Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396746
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲑
0
295876
396747
2026-06-13T18:57:17Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396747
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲒
0
295877
396748
2026-06-13T18:57:27Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396748
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲓
0
295878
396749
2026-06-13T18:57:36Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396749
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲔
0
295879
396750
2026-06-13T18:57:47Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396750
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲕
0
295880
396751
2026-06-13T18:57:57Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396751
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲖
0
295881
396752
2026-06-13T18:58:08Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396752
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲗
0
295882
396753
2026-06-13T18:58:20Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396753
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲘
0
295883
396754
2026-06-13T18:58:31Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396754
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲙
0
295884
396755
2026-06-13T18:58:43Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396755
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲚
0
295885
396756
2026-06-13T18:58:55Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396756
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲛
0
295886
396757
2026-06-13T18:59:07Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396757
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲜
0
295887
396758
2026-06-13T18:59:18Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396758
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲝
0
295888
396759
2026-06-13T18:59:30Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396759
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲞
0
295889
396760
2026-06-13T18:59:41Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396760
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲟
0
295890
396761
2026-06-13T18:59:54Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396761
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲠
0
295891
396762
2026-06-13T19:00:06Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396762
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
မဝ်ဂျူ:family tree/style.css
828
295892
396764
2026-06-13T19:20:32Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု ".familytree { font-family: monospace, whatever; /* work around well-known bad CSS behaviour */ font-size: 1.25em; line-height: 1.2; white-space: nowrap; margin: 3px; /* to suppress scrollbar caused by transform on linedrawing */ } .familytree ul { list-style: none; margin: 0; padding: 0; /* counteract a mobile style */ } .familytree li { margin: 0; } .familytree-toptoggle { margin-left: 1ch; } .NavFrame..."
396764
sanitized-css
text/css
.familytree {
font-family: monospace, whatever; /* work around well-known bad CSS behaviour */
font-size: 1.25em;
line-height: 1.2;
white-space: nowrap;
margin: 3px; /* to suppress scrollbar caused by transform on linedrawing */
}
.familytree ul {
list-style: none;
margin: 0;
padding: 0; /* counteract a mobile style */
}
.familytree li {
margin: 0;
}
.familytree-toptoggle {
margin-left: 1ch;
}
.NavFrame .familytree-toptoggle {
display: none;
}
.familytree-toptoggle::before {
content: "[";
}
.familytree-toptoggle::after {
content: "]";
}
/* remove all trace of a gap between adjacent line segments */
.familytree-linedrawing {
display: inline-block;
transform: scaley(1.15);
}
.familytree-toggle {
display: inline-block;
transform: scaley(0.75) scalex(0.92) translatex(1px);
transform-origin: 56% center;
}
.familytree-family,
.familytree-etymlang,
.familytree-lang {
font-family: sans-serif;
font-size: 0.8em; /* inverse of 1.25em in first ruleset */
}
.familytree-code {
font-family: monospace, whatever;
color: var(--wikt-palette-forestgreen,green);
}
.familytree-icon {
padding: 0 0.5ch;
color: white;
font-size: 0.8em;
}
.familytree-family .familytree-icon,
.familytree-lang .familytree-icon {
background: green;
}
.familytree-etymlang .familytree-icon {
background: #005ab3;
}
29tks0zhxr9jq82jr2isc543o73fj7n
မဝ်ဂျူ:family tree/doc
828
295893
396765
2026-06-13T19:22:51Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{shortcut|WT:ANC}} ==Family tree== This module allows for the display of English Wiktionary's hierarchical language and family ancestry data. {{temp|#invoke:family tree|show|<var>language code</var>}} * The first parameter is the language code. * Add {{para|fam|1}} (alias {{para|2}}) to show language families as separate (often redundant) nodes from their [[proto-language]]s. Ordinarily proto-languages are shown wit..."
396765
wikitext
text/x-wiki
{{shortcut|WT:ANC}}
==Family tree==
This module allows for the display of English Wiktionary's hierarchical language and family ancestry data.
{{temp|#invoke:family tree|show|<var>language code</var>}}
* The first parameter is the language code.
* Add {{para|fam|1}} (alias {{para|2}}) to show language families as separate (often redundant) nodes from their [[proto-language]]s. Ordinarily proto-languages are shown without the families that they are the parent of.
* Add {{para|etym|1}} (alias {{para|3}}) to show all etymology languages (as children of a "parent" language or language family). Ordinarily they are not shown.
* Add {{para|famunderproto|1}} to show families on a line below the proto-languages that belong to the family and are the common ancestor of its members, and {{para|protounderfam|1}} to do the reverse.
* Add {{para|collapsed|1}} to have the top level of the tree collapsed by default.
* Add {{para|lemma_count|1}} to show the number of lemmas on Wiktionary for each language in the tree.
{{#invoke:family tree|show|gem-pro|true|true}}
===Trees===
The template include limit prevents this page from showing all of Wiktionary's current language trees. Above is a sample language tree. When making changes to the [[Module:languages]] data, you may need to <code><span class='plainlinks'>[https://en.wiktionary.org/w/index.php?title=Module%3Afamily_tree%2Fdocumentation&action=purge&forcelinkupdate refresh]</span></code> this page to see an update.
===See also===
* [[Module:descendants tree]]
{{module cat|-|အရေဝ်ဘာသာကဵုအက္ခရ်,ကၠောန်စရၚ်}}
bn81fy1lpthrn68kokaeq7vts1rgfv4
𞲡
0
295894
396767
2026-06-14T05:10:38Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396767
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲢
0
295895
396768
2026-06-14T05:10:53Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396768
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲣
0
295896
396769
2026-06-14T05:11:09Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396769
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲤
0
295897
396770
2026-06-14T05:11:25Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396770
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲥
0
295898
396771
2026-06-14T05:11:38Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396771
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲦
0
295899
396772
2026-06-14T05:12:38Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396772
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲧
0
295900
396773
2026-06-14T05:12:51Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396773
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲨
0
295901
396774
2026-06-14T05:13:04Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396774
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲩
0
295902
396775
2026-06-14T05:13:16Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396775
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲪
0
295903
396776
2026-06-14T05:13:29Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396776
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲫
0
295904
396777
2026-06-14T05:13:41Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396777
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲬
0
295905
396778
2026-06-14T05:13:54Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396778
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲭
0
295906
396779
2026-06-14T05:14:08Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396779
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲮
0
295907
396780
2026-06-14T05:14:22Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396780
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲯
0
295908
396781
2026-06-14T05:14:38Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396781
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲰
0
295909
396782
2026-06-14T05:14:55Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396782
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲱
0
295910
396783
2026-06-14T05:15:09Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396783
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲲
0
295911
396784
2026-06-14T05:15:23Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396784
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞲳
0
295912
396785
2026-06-14T05:16:20Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396785
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
အဆက်လက္ကရဴ:ယူနဳကုဒ်/ဂၞန်သၚ်္ချာအတ်တဝ်မာန်သဳယျာဂ်ဂမၠိုၚ်
100
295913
396786
2026-06-14T05:17:02Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{Unicode character list header}} {{Unicode character list}}"
396786
wikitext
text/x-wiki
{{Unicode character list header}}
{{Unicode character list}}
ttzawwpka9qk1qjw50j3ep2eaqycaqw
ကဏ္ဍ:ယူနဳကုဒ် ဂၞန်သၚ်္ချာအတ်တဝ်မာန်သဳယျာဂ်ဂမၠိုၚ်
14
295914
396787
2026-06-14T05:19:40Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဒၞာဲအခဝ်ယူနဳကုဒ်ဂမၠိုၚ်]]"
396787
wikitext
text/x-wiki
[[ကဏ္ဍ:ဒၞာဲအခဝ်ယူနဳကုဒ်ဂမၠိုၚ်]]
ak38aisd37thdp65kqkgyaqadjtvgs8
𞴽
0
295915
396788
2026-06-14T05:20:39Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396788
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞴁
0
295916
396789
2026-06-14T05:21:07Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396789
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞴂
0
295917
396790
2026-06-14T05:21:19Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396790
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
𞴃
0
295918
396791
2026-06-14T05:21:32Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{character info}} ==မအရေဝ်ပံၚ်ကောံ== ===သၚ်္ကေတ=== {{mul-symbol}}"
396791
wikitext
text/x-wiki
{{character info}}
==မအရေဝ်ပံၚ်ကောံ==
===သၚ်္ကေတ===
{{mul-symbol}}
k3rct8ujozuc9s9nxcytnm2etoedwr9
ထာမ်ပလိက်:la-adecl/documentation
10
295919
396795
2026-06-14T06:46:22Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{documentation subpage}} This template creates a declension table for all types of Latin adjective (including multiword/multipart adjectives). It replaces the ten or so {{temp|la-decl-*}} templates that used to exist. ==Basic usage== Most of the time, just specifying the lemma is enough, e.g.: * {{m|la|bonus||good}}: {{temp|la-adecl|bonus}} * {{m|la|melior||better}}: {{temp|la-adecl|melior}} * {{m|la|optimus||best..."
396795
wikitext
text/x-wiki
{{documentation subpage}}
This template creates a declension table for all types of Latin adjective (including multiword/multipart adjectives). It replaces the ten or so {{temp|la-decl-*}} templates that used to exist.
==Basic usage==
Most of the time, just specifying the lemma is enough, e.g.:
* {{m|la|bonus||good}}: {{temp|la-adecl|bonus}}
* {{m|la|melior||better}}: {{temp|la-adecl|melior}}
* {{m|la|optimus||best}}: {{temp|la-adecl|optimus}}
* {{m|la|līber||free}}: {{temp|la-adecl|līber}}
* {{m|la|audāx||bold}}: {{temp|la-adecl|audāx}}
* {{m|la|suāvis||sweet}}: {{temp|la-adecl|suāvis}}
For third-declension adjectives of three terminations, you need to give a hint that the adjective is third-declension (otherwise, it will be assumed to be first/second-declension):
* {{m|la|ācer||sharp, bitter}}: {{temp|la-adecl|ācer<3+>}}
Sometimes you have to give the stem, if not deducible from the lemma (the rules for deducing the stem are the same as for {{temp|la-ndecl}}):
* {{m|la|piger||slow, dull}}: {{temp|la-adecl|piger/pigr}}
* {{m|la|locuplēs||rich, wealthy, possessing large landed property}}: {{temp|la-adecl|locuplēs/locuplēt}}
For third-declension non-i-stem adjectives, you need to specify this explicitly using the <code>.-I</code> subtype:
* {{m|la|concolor||of the same color}}: {{temp|la-adecl|concolor<+.-I>}}
Sometimes you need to combine an explicit stem, partial or total specification of the declension, and a subtype:
* {{m|la|vetus||old}}: {{temp|la-adecl|vetus/veter<3+.-I>}}
* {{m|la|ūber||fruitful, copious}}: {{temp|la-adecl|ūber/ūber<3-1+.-I>|abl_sg_m=ūberī|abl_sg_f=ūberī|abl_sg_n=ūberī}}
In the latter case, it's not enough to indicate that the adjective is third-declension using <code>3+</code>, because it will then be assumed to be an adjective of three terminations, as with {{m|la|ācer}} above. In this case, you need to specify the full declension <code>3-1+</code> to indicate that it is third-declension of one termination. The same must always be done with participles, e.g.:
* {{m|la|amāns||loving}} (present active participle of {{m|la|amō}}): {{temp|la-adecl|amāns<3-P+>}}
The reason for this is that participles decline differently in the ablative singular from adjectives in -ns such as {{m|la|ingēns||huge}} and {{m|la|īnfāns||speechless, newbown}}, and adjectives in -ns are by default assumed to be the latter type.
==Parameters==
The following parameters are allowed:
* {{para|1}}: Lemma with macrons, optionally along with a code indicating the declension and subtype(s) (see below).
* {{para|num}}: Number restriction, if not specified as a subtype.
* {{para|title}}: Override the automatically-generated title.
* {{para|footnote}}: Provide a note to be displayed below the table.
* {{para|noneut}}: Don't display the neuter.
* any specific case-number-gender form: Override the automatically generated inflected form.
**These parameter names consist of a three-letter case abbreviation, two-letter number abbreviation and one-letter gender abbreviation separated by <code>_</code>, e.g. <code>nom_sg_m</code> "nominative singular masculine". Case abbreviations are <code>nom</code> <code>gen</code> <code>dat</code> <code>acc</code> <code>abl</code> = nominative genitive dative accusative ablative, number abbreviations are <code>sg</code> <code>pl</code> = singular plural, gender abbreviations are <code>m</code> <code>f</code> <code>n</code> = masculine feminine neuter.
**To assign multiple forms to a single case-number-gender slot, list them separated by <code>/</code>.
For parameter 1, the general format for the declension/subtype code is <code><DECLENSION+.SUBTYPE.SUBTYPE...></code>, i.e. a <code>+</code> sign, optionally preceded by a declension code, followed by zero or more subtypes, separated by periods. A bare lemma is equivalent to the lemma followed by <code><+></code>.
The first part of the code, which indicates the declension, can be omitted, <code>3</code>, or the exact declension, which can be one of the following:
* <code>1&2</code>: first-/second-declension adjective
* <code>1-1</code> [[:Category:Latin first declension adjectives|first-declension adjective]] (e.g. {{m|la|rūricola}}, {{m|la|indigena}})
* <code>2-2</code> [[:Category:Latin second declension adjectives|second-declension adjective]]
* <code>3-1</code> third-declension adjective of one termination
* <code>3-2</code> third-declension adjective of two terminations
* <code>3-3</code> third-declension adjective of three terminations (e.g. {{m|la|acer|ācer, ācris, ācre}})
* <code>3-P</code> third-declension participle (e.g. {{m|la|amāns}})
* <code>3-C</code> [[:Category:Latin comparative adjectives|third-declension comparative adjective]]
* <code>irreg</code> irregular adjective
<includeonly>
[[ကဏ္ဍ:ထာမ်ပလိက်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနလပ်တေန်ဂမၠိုၚ်|adecl]]
</includeonly>
sabkgzyappzbioph1hfmwyin086wbm0
ကဏ္ဍ:ထာမ်ပလိက်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနလပ်တေန်ဂမၠိုၚ်
14
295920
396796
2026-06-14T06:47:39Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ထာမ်ပလိက်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏလပ်တေန်ဂမၠိုၚ်]][[ကဏ္ဍ:ထာမ်ပလိက်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|လ]]"
396796
wikitext
text/x-wiki
[[ကဏ္ဍ:ထာမ်ပလိက်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏလပ်တေန်ဂမၠိုၚ်]][[ကဏ္ဍ:ထာမ်ပလိက်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|လ]]
cay2hgjtt8zy7ogqijpco54liywelj2
ကဏ္ဍ:ထာမ်ပလိက်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏလပ်တေန်ဂမၠိုၚ်
14
295921
396797
2026-06-14T06:49:08Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ထာမ်ပလိက်လပ်တေန်ဂမၠိုၚ်]][[ကဏ္ဍ:ထာမ်ပလိက်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|လ]]"
396797
wikitext
text/x-wiki
[[ကဏ္ဍ:ထာမ်ပလိက်လပ်တေန်ဂမၠိုၚ်]][[ကဏ္ဍ:ထာမ်ပလိက်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|လ]]
f9zgy79nj3tc7mc3ns4giyohapi9pdb
novémbor
0
295922
396798
2026-06-14T06:53:13Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|November}} ==အဳမဳလဳယာန်== ===နိရုတ်=== {{inh+|egl|la|November}} ===ဗွဟ်ရမ္သာၚ်=== * {{IPA|egl|[noˈveː˧˥mboʁ]|a=Parma}} ===နာမ်=== {{head|egl|noun|g=m}} {{tlb|egl|Parma}} # ဂိတုက္တိုန် (မဆေၚ်စပ်ကဵုဂိတုက္တိုန်နကဵု၁၂သၞာံ)။ ==={{See also}}=== {{list:gregoria..."
396798
wikitext
text/x-wiki
{{also|November}}
==အဳမဳလဳယာန်==
===နိရုတ်===
{{inh+|egl|la|November}}
===ဗွဟ်ရမ္သာၚ်===
* {{IPA|egl|[noˈveː˧˥mboʁ]|a=Parma}}
===နာမ်===
{{head|egl|noun|g=m}} {{tlb|egl|Parma}}
# ဂိတုက္တိုန် (မဆေၚ်စပ်ကဵုဂိတုက္တိုန်နကဵု၁၂သၞာံ)။
==={{See also}}===
{{list:gregorian calendar months/egl/Parma}}
f1kat893u0egzqwx7rxuona6utji1ub
ထာမ်ပလိက်:list:gregorian calendar months/egl/Parma
10
295923
396799
2026-06-14T06:54:12Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{#invoke:topic list|show |hypernym=i [[méz#Emilian|méz]] dal [[lunäri#Emilian|lunäri]] |znär |farvär |märs |avrìl |magʼ |zuggn |lùjj |agòsst |setémbor |otòbbor |novémbor |dzémbor }}<noinclude>{{list doc}}"
396799
wikitext
text/x-wiki
{{#invoke:topic list|show
|hypernym=i [[méz#Emilian|méz]] dal [[lunäri#Emilian|lunäri]]
|znär
|farvär
|märs
|avrìl
|magʼ
|zuggn
|lùjj
|agòsst
|setémbor
|otòbbor
|novémbor
|dzémbor
}}<noinclude>{{list doc}}
5ofefqug982l4olzipovwyy0jol1qrf
396800
396799
2026-06-14T06:54:37Z
咽頭べさ
33
396800
wikitext
text/x-wiki
{{#invoke:topic list|show
|hypernym=i [[méz#အဳမဳလဳယာန်|méz]] dal [[lunäri#အဳမဳလဳယာန်|lunäri]]
|znär
|farvär
|märs
|avrìl
|magʼ
|zuggn
|lùjj
|agòsst
|setémbor
|otòbbor
|novémbor
|dzémbor
}}<noinclude>{{list doc}}
j96dbigl4dvb396g7a9dq3y3m9nmtsh
ကဏ္ဍ:ထာမ်ပလိက်စရၚ်ဘာသာအဳမဳလဳယာန်ဂမၠိုၚ်
14
295924
396801
2026-06-14T06:57:17Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ထာမ်ပလိက်လေန်အဳမဳလဳယာန်ဂမၠိုၚ်]][[ကဏ္ဍ:စရၚ်ထာမ်ပလိက်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|အ]]"
396801
wikitext
text/x-wiki
[[ကဏ္ဍ:ထာမ်ပလိက်လေန်အဳမဳလဳယာန်ဂမၠိုၚ်]][[ကဏ္ဍ:စရၚ်ထာမ်ပလိက်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|အ]]
092o3qlzpon0cgrxomtpy3r19kne6df
ကဏ္ဍ:ထာမ်ပလိက်လေန်အဳမဳလဳယာန်ဂမၠိုၚ်
14
295925
396802
2026-06-14T06:58:37Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ထာမ်ပလိက်အဳမဳလဳယာန်ဂမၠိုၚ်]][[ကဏ္ဍ:ထာမ်ပလိက်လေန်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|အ]]"
396802
wikitext
text/x-wiki
[[ကဏ္ဍ:ထာမ်ပလိက်အဳမဳလဳယာန်ဂမၠိုၚ်]][[ကဏ္ဍ:ထာမ်ပလိက်လေန်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|အ]]
oax8qzjclqxmo5jdc4qyavqn8h8nodd
ကဏ္ဍ:ထာမ်ပလိက်အဳမဳလဳယာန်ဂမၠိုၚ်
14
295926
396803
2026-06-14T06:59:39Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာအဳမဳလဳယာန်]][[ကဏ္ဍ:ထာမ်ပလိက်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|အ]]"
396803
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာအဳမဳလဳယာန်]][[ကဏ္ဍ:ထာမ်ပလိက်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|အ]]
j2fu3nu1da9sey9rfpdgjo9k46xy5l8
ကဏ္ဍ:ဝေါဟာအဳမဳလဳယာန်ပါမဳဂျဳယျာနဝ်ဂမၠိုၚ်
14
295927
396805
2026-06-14T07:06:20Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာအဳမဳလဳယာန်]]"
396805
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာအဳမဳလဳယာန်]]
7v0luu6h56lnbbycgdeehaoa87xa7cq