ဝိက်ရှေန်နရဳ
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.7
case-sensitive
မဳဒဳယာ
တၟေင်
ဓရီုကျာ
ညးလွပ်
ညးလွပ် ဓရီုကျာ
ဝိက်ရှေန်နရဳ
ဝိက်ရှေန်နရဳ ဓရီုကျာ
ဝှာင်
ဝှာင် ဓရီုကျာ
မဳဒဳယာဝဳကဳ
မဳဒဳယာဝဳကဳ ဓရီုကျာ
ထာမ်ပလိက်
ထာမ်ပလိက် ဓရီုကျာ
ရီု
ရီု ဓရီုကျာ
ကဏ္ဍ
ကဏ္ဍ ဓရီုကျာ
အဆက်လက္ကရဴ
အဆက်လက္ကရဴ ဓရီုကျာ
ကာရန်
ကာရန် ဓရီုကျာ
အဘိဓာန်
အဘိဓာန် ဓရီုကျာ
ဗီုပြၚ်သိုၚ်တၟိ
ဗီုပြၚ်သိုၚ်တၟိ ဓရီုကျာ
TimedText
TimedText talk
မဝ်ဂျူ
မဝ်ဂျူ ဓရီုကျာ
Event
Event talk
မဝ်ဂျူ:affixusex/templates
828
1093
397411
3737
2026-06-22T08:36:02Z
咽頭べさ
33
397411
Scribunto
text/plain
local export = {}
local require = require
local affixusex_module = "Module:affixusex"
local parameter_utilities_module = "Module:parameter utilities"
local concat = table.concat
local find = string.find
local gsub = string.gsub
local insert = table.insert
local match = string.match
local sort = table.sort
local sub = string.sub
function export.affixusex_t(frame)
local parent_args = frame:getParent().args
local params = {
[1] = {required = true, type = "language", default = "und"},
[2] = {list = true, allow_holes = true},
["altaff"] = {},
["nointerp"] = {type = "boolean"},
["pagename"] = {},
}
local aftype = frame.args.type
if aftype == "" or not aftype then
aftype = "affix"
end
if aftype == "prefix" then
params.altpref = {alias_of = "altaff"}
elseif aftype == "suffix" then
params.altsuf = {alias_of = "altaff"}
end
local m_param_utils = require(parameter_utilities_module)
local param_mods = m_param_utils.construct_param_mods {
-- We want to require an index for all params. Some of the params generated below have separate_no_index, which
-- overrides require_index (and also requires an index for the param corresponding to the first item).
{default = true, require_index = true},
{group = {"link", "ref", "lang", "q", "l"}},
{param = "lit", separate_no_index = true},
{param = "arrow", type = "boolean"},
{param = {"joiner", "fulljoiner"}},
}
local has_exclamation_point = {}
local items, args = m_param_utils.parse_list_with_inline_modifiers_and_separate_params {
params = params,
param_mods = param_mods,
raw_args = parent_args,
process_args_before_parsing = function(args)
-- Remember and remove an exclamation point from the beginning of a term. We need to do this *before*
-- parsing inline modifiers because the exclamation point goes before a language prefix, which is split off
-- as part of parsing inline modifiers.
for i, term in ipairs(args[2]) do
if sub(term, 1, 1) == "!" then
has_exclamation_point[i] = true
args[2][i] = gsub(term, "^!", "")
end
end
end,
termarg = 2,
parse_lang_prefix = true,
track_module = "affixusex",
}
local lang = args[1]
local data = {
items = items,
lang = lang,
sc = args.sc.default,
l = args.l.default,
ll = args.ll.default,
q = args.q.default,
qq = args.qq.default,
lit = args.lit.default,
}
local pagename = args.pagename or mw.loadData("Module:headword/data").pagename
-- Determine whether the terms in the numbered params contain a prefix or suffix. If not, we may insert one before
-- the last term (for suffixes) or the first term (for prefixes).
local affix_in_items = false
for i, item in ipairs(items) do
if item.term then
-- Careful here, a prefix beginning with ! should be treated as a normal term.
if has_exclamation_point[item.orig_index] or (item.lang or lang):stripDiacritics(item.term) == pagename then
affix_in_items = true
if not item.alt then
item.alt = item.term
item.term = nil
end
end
end
end
-- Determine affix to check for prefixness/suffixness.
local insertable_aff = args.altaff or pagename
-- Determine affix to interpolate if needed.
local affix = args.altaff
if not affix then
if lang:hasType("reconstructed") then
affix = "*" .. pagename
else
affix = pagename
end
end
-- Insert suffix derived from page title or altaff=/altsuf= before the last component if
-- (a) nointerp= isn't present, and
-- (b) no suffix is present among the parts (where "suffix" means a part that matches the subpage name after
-- diacritics have been removed, or a part prefixed by !), and either
-- (i) {{suffixusex}}/{{sufex}} was used;
-- (ii) {{affixusex}}/{{afex}} was used and altaff= is given, and its value looks like a suffix (begins with -,
-- doesn't end in -; an infix is not a suffix)
-- (iii) {{affixusex}}/{{afex}} was used and altaff= is not given and the subpage title looks like a suffix
-- (same conditions as for altaff=)
-- Insert prefix derived from page title or altaff=/altpref= before the first component using similar logic as
-- preceding.
if not args.nointerp and not affix_in_items then
if aftype == "prefix" or (
aftype == "affix" and
sub(insertable_aff, -1) == "-" and
sub(insertable_aff, 1, 1) ~= "-"
) then
insert(items, 1, {alt = affix})
elseif aftype == "suffix" or (
aftype == "affix" and
sub(insertable_aff, 1, 1) == "-" and
sub(insertable_aff, -1) ~= "-"
) then
insert(items, #items, {alt = affix})
end
end
return "<span class=\"affixusex\">" .. require(affixusex_module).format_affixusex(data) .. "</span>"
end
return export
ttpi8pfso7rkzdvhw9cg41lt9abow1r
မဝ်ဂျူ:affixusex
828
1094
397412
3738
2026-06-22T08:37:21Z
咽頭べさ
33
397412
Scribunto
text/plain
local export = {}
local etymology_module = "Module:etymology"
local links_module = "Module:links"
local pron_qualifier_module = "Module:pron qualifier"
-- main function
--[==[
Format the affix usexes in `data`. We more or less simply call full_link() on each item, along with the
associated params, to format the link, but need some special-casing for affixes. On input, the `data`
object contains the following fields:
* `lang` ('''required'''): Overall language object; default for items not specifying their own language.
* `sc`: Overall script object; default for items not specifying their own script.
* `items`: List of items. Each is an object with the following fields:
** `term`: The term (affix or resulting term).
** `gloss`, `tr`, `ts`, `genders`, `alt`, `id`, `lit`, `pos`, `ng`: The same as for `full_links()` in [[Module:links]].
** `lang`: Language of the term. Should only be set when the term has its own language, and will cause the
language to be displayed before the term. Defaults to the overall `lang`.
** `sc`: Script of the term. Defaults to the overall `sc`.
** `fulljoiner`: Text of the separator appearing before the item, including spaces. Takes precedence over `joiner`
and `arrow`.
** `joiner`: Text of the separator appearing before the item, not including spaces. Takes precedence over `arrow`.
** `arrow`: If specified, the separator is a right arrow. If none of `fulljoiner`, `joiner` and `arrow` are given,
the separator is a right arrow if it's the last item, otherwise a plus sign if it's not the first item, otherwise
there's no displayed separator.
** `l`: Left labels for the term.
** `ll`: Right labels for the term.
** `q`: Left regular qualifier(s) for the term.
** `qq`: Right regular qualifier(s) for the term.
** `refs`: References for the term, in the structure expected by [[Module:references]].
* `lit`: Overall literal meaning.
* `l`: Overall left labels.
* `ll`: Overall right labels.
* `q`: Overall left regular qualifier(s).
* `qq`: Overall right regular qualifier(s).
'''WARNING:''' This destructively modifies the `items` objects (specifically by adding default values for `lang` and
`sc`).
]==]
function export.format_affixusex(data)
local result = {}
-- Loop over all terms. We simply call
for index, item in ipairs(data.items) do
local term = item.term
local alt = item.alt
if item.fulljoiner then
table.insert(result, item.fulljoiner)
elseif item.joiner then
table.insert(result, " " .. item.joiner .. " ")
elseif index == #data.items or item.arrow then
table.insert(result, " → ")
elseif index > 1 then
table.insert(result, " + ")
end
table.insert(result, "‎")
local text
local item_lang_specific = item.lang
item.lang = item.lang or data.lang
item.sc = item.sc or data.sc
if item_lang_specific then
text = require(etymology_module).format_derived {
sources = {item.lang},
terms = {item},
-- Don't need to specify `nocat = true` because we don't pass in `lang`.
template_name = "affixusex",
qualifiers_labels_on_outside = true,
}
else
text = require(links_module).full_link(item, "term", nil, "show qualifiers")
end
table.insert(result, text)
end
result = table.concat(result) .. (data.lit and ", literally " ..
require(links_module).mark(data.lit, "gloss") or "")
if data.q and data.q[1] or data.qq and data.qq[1] or data.l and data.l[1] or data.ll and data.ll[1] then
result = require(pron_qualifier_module).format_qualifiers {
lang = data.lang,
text = result,
q = data.q,
qq = data.qq,
l = data.l,
ll = data.ll,
}
end
return result
end
return export
gabudwexr4qxx9qgey0106xfu44oxpu
မဝ်ဂျူ:grc-accent
828
2101
397374
397304
2026-06-22T05:00:27Z
咽頭べさ
33
397374
Scribunto
text/plain
local export = {}
local m_data = mw.loadData("Module:grc-utilities/data")
local m_grc_utils = require("Module:grc-utilities")
local m_str_utils = require("Module:string utilities")
local m_table = require("Module:table")
local diacritic = m_data.diacritic
local diacritics = m_data.diacritics
local ACUTE = diacritics.acute
local GRAVE = diacritics.grave
local CIRCUMFLEX = diacritics.circum
local DIAERESIS = diacritics.diaeresis
local SMOOTH = diacritics.smooth
local ROUGH = diacritics.rough
local MACRON = diacritics.macron
local BREVE = diacritics.breve
local SUBSCRIPT = diacritics.subscript
local UNDERTIE = m_str_utils.char(0x035C)
local diacritic_pattern = m_data.all
local diacritic_groups = m_data.diacritic_groups
local tonal_diacritic = diacritic_groups[3] -- acute, grave, circumflex
local long_diacritics = MACRON .. SUBSCRIPT .. CIRCUMFLEX
local optional_length = m_data.length.optional
local either_vowel = "[ΑαΙιΥυ]"
local canonicalize = m_grc_utils.canonicalize
local concat = table.concat
local contains_vowel = m_grc_utils.contains_vowel
local find = m_str_utils.find
local gsub = m_str_utils.gsub
local insert = table.insert
local lower = m_str_utils.lower
local mark_implied_length -- defined below
local match = m_str_utils.match
local shallow_copy = m_table.shallowCopy
local standard_diacritics = m_grc_utils.standardDiacritics
local tag = m_grc_utils.tag
local tokenize = m_grc_utils.tokenize
local toNFD = mw.ustring.toNFD
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local function if_not_empty(var)
if var == "" then
return nil
else
return var
end
end
local function is_diphthong(token)
return find(token, "[ΑαΕεΗηΙιΟοΥυΩω]" .. optional_length .. DIAERESIS .. "?[ΙιΥυ]") and true or false
end
local libraryUtil = require('libraryUtil')
local checkType = libraryUtil.checkType
local checkTypeMulti = libraryUtil.checkTypeMulti
local function _check(funcName, expectType)
if type(expectType) == "string" then
return function(argIndex, arg, nilOk)
checkType(funcName, argIndex, arg, expectType, nilOk)
end
else
return function(argIndex, arg, expectType, nilOk)
if type(expectType) == "table" then
checkTypeMulti(funcName, argIndex, arg, expectType, nilOk)
else
checkType(funcName, argIndex, arg, expectType, nilOk)
end
end
end
end
--[[
A vowel with a breve or a lone epsilon or omicron is considered short.
Everything else is considered long, including unmarked alphas, iotas, and
upsilons. Sigh.
]]
local function is_short(token)
if find(token, BREVE) or find(token, '[ΕΟεο]') and not find(token, '[ιυ]') then
return true
else
return false
end
end
local function conditional_gsub(...)
local str, count = gsub(...)
if count and count > 0 then
return str
else
return nil
end
end
local accent_adding_functions = {
-- This will not throw an error if η or ω has a macron on it.
[CIRCUMFLEX] = function(vowel)
return (gsub(
vowel,
"([ΑαΗηΙιΥυΩω])" .. MACRON .. "?(" .. diacritic_groups[2] .. "?)(" .. SUBSCRIPT .. "?)$",
"%1%2" .. CIRCUMFLEX .. "%3"
))
end,
[ACUTE] = function(vowel)
return (
conditional_gsub(vowel,
"([Εε])([Ωω])",
"%1" .. ACUTE .. "%2") or
gsub(vowel,
"([ΑαΕεΗηΙιΟοΥυΩω]" .. optional_length .. diacritic_groups[2] .. "?)(" .. SUBSCRIPT .. "?)$",
"%1" .. ACUTE .. "%2"))
end,
[MACRON] = function(vowel)
if find(vowel, "[" .. long_diacritics .. "]") or is_diphthong(vowel) then
return vowel
elseif find(vowel, "[ΕΟεο]") then
error("The vowel " .. vowel ..
" is short, so a macron cannot be added to it.")
else
return (gsub(vowel, "(" .. either_vowel .. ")", "%1" .. MACRON))
end
end,
[BREVE] = function(vowel)
if find(vowel, "[" .. long_diacritics .. "]") then
error("The vowel " .. vowel ..
" has an iota subscript, a macron, or a circumflex, so a breve cannot be added to it.")
elseif is_diphthong(vowel) then
error("The vowel " .. vowel ..
" is a diphthong, so a breve cannot be added to it.")
else
return (gsub(vowel, "(" .. either_vowel .. ")", "%1" .. BREVE))
end
end,
-- This will insert a diaeresis on a single iota or upsilon, or on a
-- iota or upsilon that is the second element of a diphthong.
-- It does nothing if the vowel has a breathing on it.
[DIAERESIS] = function(vowel)
return (gsub(
vowel,
"([ΙιΥυ]" .. optional_length .. ")(" .. tonal_diacritic .. "?)$",
"%1" .. DIAERESIS .. "%2"
))
end
}
-- Assumes decomposed vowels (NFD).
local function add(vowel, accent)
if type(accent_adding_functions[accent]) == "function" then
return accent_adding_functions[accent](vowel)
end
error("No function for adding " .. accent)
end
function export.strip_accent(word)
word = toNFD(word)
-- Parentheses suppress second return value of gsub, the number of substitutions.
return (gsub(word, diacritic_pattern, ''))
end
function export.strip_tone(word)
word = toNFD(word)
if find(word, CIRCUMFLEX) then
word = shallow_copy(tokenize(word))
for i = 1, #word do
-- Add a macron to every vowel with a circumflex and remove the circumflex.
word[i] = gsub(word[i],
'^([αΑιΙυΥ])(' .. diacritic_groups[2] .. '*)' .. CIRCUMFLEX .. '$',
'%1' .. MACRON .. '%2')
end
word = table.concat(word)
end
return (gsub(word, tonal_diacritic, ''))
end
function export.ult(word)
word = toNFD(word)
if find(word, tonal_diacritic) then
return word
end
word = shallow_copy(tokenize(word))
for i, token in m_table.reverseIpairs(word) do
if contains_vowel(token) then
--fortunately accents go last in combining order
word[i] = add(token, ACUTE)
break
end
end
return concat(word, '')
end
--[[ WARNING: Given an unmarked α ι υ, this function will return a circmflex.
That said, if you ran into this situation in the first place, you probably
are doing something wrong. ]] --
function export.circ(word)
word = toNFD(word)
if find(word, tonal_diacritic) then
return word
end
word = shallow_copy(tokenize(word))
for i, token in m_table.reverseIpairs(word) do
if contains_vowel(token) then
if is_short(token) then
word[i] = add(token, ACUTE)
else
word[i] = add(token, CIRCUMFLEX)
end
break
end
end
return concat(word, '')
end
function export.penult(orig)
local word = toNFD(orig)
if find(word, tonal_diacritic) then
return word
end
word = shallow_copy(tokenize(word))
local syllables = 0
for i, token in m_table.reverseIpairs(word) do
if token == '-' then
return orig
elseif contains_vowel(token) then
syllables = syllables + 1
if syllables == 2 then
word[i] = add(token, ACUTE)
return concat(word, '')
end
end
end
return export.circ(orig)
end
function export.pencirc(orig)
local word = toNFD(orig)
if find(word, tonal_diacritic) then
return word
end
word = shallow_copy(tokenize(word))
local syllables = 0
local long_ult = false
for i, token in m_table.reverseIpairs(word) do
if token == '-' then return orig end
if contains_vowel(token) then
syllables = syllables + 1
if syllables == 1 and not is_short(token) then
long_ult = true
if word[#word] == 'αι' or word[#word] == 'οι' then long_ult = false end
elseif syllables == 2 then
if is_short(token) or long_ult then
word[i] = add(token, ACUTE)
else
word[i] = add(token, CIRCUMFLEX)
end
return concat(word, '')
end
end
end
return export.circ(orig)
end
function export.antepenult(orig)
local word = toNFD(orig)
if find(word, tonal_diacritic) then
return word
end
word = shallow_copy(tokenize(word))
local syllables = 0
local long_ult = false
for i, token in m_table.reverseIpairs(word) do
if token == '-' then return orig end
if contains_vowel(token) then
syllables = syllables + 1
if syllables == 1 and not is_short(token) then
long_ult = true
if word[#word] == 'αι' or word[#word] == 'οι' then long_ult = false end
elseif syllables == 2 and long_ult then
word[i] = add(token, ACUTE)
return concat(word, '')
elseif syllables == 3 then
word[i] = add(token, ACUTE)
return concat(word, '')
end
end
end
return export.pencirc(orig)
end
--[[
Counts from the beginning or end of the word, and returns the position and
type of the first accent found. Position means the number of vowels
(syllables) that have been encountered, not the number of characters.
Arguments:
- word: string (Ancient Greek word)
- from_end: boolean (whether to count from the end of the word)
]]
local accent_cache = {[true] = {}, [false] = {}}
function export.detect_accent(word, from_end)
local check = _check("detect_accent")
check(1, word, "string")
check(2, from_end, "boolean", true)
local cache = accent_cache[from_end == true][toNFD(word)]
if cache then
return unpack(cache)
end
local names = {
[ACUTE] = "acute",
[GRAVE] = "grave",
[CIRCUMFLEX] = "circumflex",
}
local syllable = 0
local accent_name
for _, token in (from_end and m_table.reverseIpairs or ipairs)(tokenize(word)) do
if contains_vowel(token) then
syllable = syllable + 1
accent_name = names[match(token, tonal_diacritic)]
if accent_name then
accent_cache[from_end == true][toNFD(word)] = {syllable, accent_name}
return syllable, accent_name
end
end
end
return nil
end
--[[
Returns classification based on first accent found
when traveling back from the end of the word.
]]
function export.get_accent_term(word)
local syllable, accent_name = export.detect_accent(word, true)
local terms = {
["grave"] = {"ဗာရဳတေုန်"},
["acute"] = {"အံက်ဇြဳတေုန်", "ဖာယ်ရဳသဳတေုန်", "ဖရဝ်ပါရံက်သဳတေုန်"},
["circumflex"] = {"ဖေရိဖေါမာယ်နေန်", "ဖရဝ်ဖဳလိဖေါမာယ်နေန်"},
}
local ordinals = {"ပထမ", "ဒုတိယ", "တတိယ", "စတုတ္ထ", "ပဉ္စမ",}
local term
if syllable and accent_name then
term = terms[accent_name][syllable]
end
if term then
return term
else
return nil,
syllable and 'ဣအတေံဂှ်ဟွံသေၚ်ကဵုဝေါဟာသွက်မအရေဝ်မၞုံကဵု' .. accent_name ..
'လ္တူဗီုလအာအရေဝ်ဆေၚ်စပ်ကဵု ' .. ordinals[syllable] ..
' ဗီုပြၚ်ဝဏ္ဏမဆေၚ်စပ်ကဵုမတုဲဒှ်နကဵုမအရေဝ်ဂမၠိုၚ်။'
or 'No accent found.'
end
end
-- is_noun is a boolean or nil; if it is true, αι and οι will be
-- treated as short.
function export.get_length(token, short_diphthong)
local token = toNFD(lower(token))
if not contains_vowel(token) then
return nil
-- error("The thing supplied to get_length does not have any vowels")
end
-- η, ω; ᾳ, ῃ, ῳ; ᾱ, ῑ, ῡ; diphthongs
if find(token, "[ηω" .. long_diacritics .. "]") then
return "long"
end
if short_diphthong and find(token, "^[αο]ι") then
return "short"
end
if is_diphthong(token) then
return "long"
end
-- ε, ο; ᾰ, ῐ, ῠ
if find(token, "[εο" .. BREVE .. "]") then
return "short"
end
-- anything else
return "either"
end
-- Takes a table of tokens and returns a table containing tables of each vowel's
-- characteristics.
function export.get_vowel_info(tokens, short_diphthong)
if type(tokens) ~= "table" then
error("The argument to get_vowel_info must be a table.")
end
local vowels = {}
local vowel_i = 1
if find(tokens[#tokens], m_data.consonant .. "$") then
short_diphthong = false
end
for i, token in m_table.reverseIpairs(tokens) do
if contains_vowel(token) then
if vowel_i ~= 1 then
short_diphthong = false
end
local length, accent =
export.get_length(token, short_diphthong),
if_not_empty(match(token,
"[" .. ACUTE .. GRAVE .. CIRCUMFLEX .. "]"))
vowels[vowel_i] = {
index = i,
length = length,
accent = accent,
}
vowel_i = vowel_i + 1
end
end
return vowels
end
function export.mark_implied_length(word, return_tokens, short_diphthong)
word = toNFD(word)
-- Do nothing if there are no vowel letters that could be ambiguous.
if not find(word, either_vowel) then
if return_tokens then
return tokenize(word)
else
return word
end
end
local tokens = shallow_copy(tokenize(word))
local vowels = export.get_vowel_info(tokens, short_diphthong)
if #vowels >= 2 then
local ultima = vowels[1]
local ultima_i = ultima.index
local penult = vowels[2]
local penult_i = penult.index
if penult.length == "either" and ultima.length == "short" then
if penult.accent == CIRCUMFLEX then
tokens[penult_i] = add(tokens[penult_i], MACRON)
elseif penult.accent == ACUTE then
tokens[penult_i] = add(tokens[penult_i], BREVE)
end
elseif penult.length == "long" and ultima.length == "either" then
if penult.accent == CIRCUMFLEX then
tokens[ultima_i] = add(tokens[ultima_i], BREVE)
elseif penult.accent == ACUTE then
tokens[ultima_i] = add(tokens[ultima_i], MACRON)
end
end
local antepenult = vowels[3]
if antepenult and antepenult.accent and ultima.length == "either" then
tokens[ultima_i] = add(tokens[ultima_i], BREVE)
end
end
if return_tokens then
return tokens
else
return concat(tokens)
end
end
mark_implied_length = export.mark_implied_length
-- Returns a table of any ambiguous vowels in the text, language-tagged.
function export.find_ambig(text, noTag)
local lengthDiacritic = "[" .. MACRON .. BREVE .. CIRCUMFLEX .. SUBSCRIPT .. "]"
local aiu_diacritic = "^(" .. either_vowel .. ")(" .. diacritic .. "*)$"
-- breaks the word into units
local output, vowels = {}, {}
for _, token in ipairs(tokenize(mark_implied_length(standard_diacritics(text)))) do
local canonical = canonicalize(token)
if not match(canonical, m_data.consonant) then
local vowel, dia = match(canonical, aiu_diacritic)
if vowel and (dia == "" or not match(dia, lengthDiacritic)) then
insert(output, noTag and token or tag(token))
-- Lists the vowel letters that are ambiguous, for categorization purposes.
vowels[lower(vowel)] = true
end
end
end
return output, vowels
end
-- Returns the length of a syllable specified by its position from the end of the word.
function export.length_at(word, syllable)
local tokens = tokenize(word)
if type(word) ~= "string" then
error("First argument of length_at should be a string.")
end
if type(syllable) ~= "number" then
error("Second argument of length_at should be a number.")
end
local syllable_count = 0
for _, token in m_table.reverseIpairs(tokens) do
local length = export.get_length(token)
if length then
syllable_count = syllable_count + 1
if syllable_count == syllable then
return length
end
end
end
if syllable_count < syllable then
error("Length for syllable " .. syllable .. " from the end of the word was not found.")
end
end
local function find_breathing(token)
return match(token, "([" .. ROUGH .. SMOOTH .. "])")
end
local function has_same_breathing_as(token1, token2)
return find_breathing(token1) == find_breathing(token2)
end
-- Make token have the length specified by the string "length".
local function change_length(length, token)
local dia
if length == "long" then
dia = MACRON
elseif length == "short" then
dia = BREVE
end
if dia then
return add(token, dia)
else
return token
end
end
--[[
Take two words, mark implied length on each, then harmonize any macrons and
breves that disagree.
]]
function export.harmonize_length(word1, word2)
word1 = toNFD(word1)
-- Do nothing if there are no vowel letters that could be ambiguous.
if not (find(word1, either_vowel) or find(word2, either_vowel)) then
return word1, word2
end
local tokens1, tokens2 = mark_implied_length(word1, true), mark_implied_length(word2, true)
local strip1, strip2 = shallow_copy(tokenize(export.strip_accent(word1))), shallow_copy(tokenize(export.strip_accent(word2)))
for i, token1 in pairs(tokens1) do
local token2 = tokens2[i]
if strip1[i] == strip2[i] then
if has_same_breathing_as(token1, token2) then
local length1, length2 = export.get_length(token1), export.get_length(token2)
if length1 and length2 and length1 ~= length2 then
if length1 == "either" then
tokens1[i] = change_length(length2, token1)
elseif length2 == "either" then
tokens2[i] = change_length(length1, token2)
end
end
else
break
end
else
break
end
end
local new_word1, new_word2 = concat(tokens1), concat(tokens2)
return new_word1, new_word2
end
--[[
Get weight of nth syllable from end of word. Position defaults to 1, the last
syllable. Returns "heavy" or "light", or nil if syllable is open with an
ambiguous vowel.
]]
function export.get_weight(word, position)
if not if_not_empty(word) then
return nil
end
local tokens = tokenize(word)
if not position then
position = 1
end
local vowel
local vowel_index = 0
-- Find nth vowel from end of word.
for i, token in m_table.reverseIpairs(tokens) do
local length = export.get_length(token)
if length then
vowel_index = vowel_index + 1
if vowel_index == position then
vowel = {index = i, length = length}
break
end
end
end
if not vowel then
return nil
end
if vowel.length == "long" then
return "heavy"
else
-- Count consonants after the vowel.
local consonant_count = 0
for i = vowel.index + 1, #tokens do
if not contains_vowel(tokens[i]) then
consonant_count = consonant_count + 1
else
break
end
end
if consonant_count > 1 then
return "heavy"
elseif vowel.length == "short" then
return "light"
else
return nil
end
end
end
--[[
Add accent mark at position. Position is a number that refers to the nth
vowel from the beginning of the word. Respects the rules of accent.
Examples:
- δημος, 1 => δῆμος
- προτερᾱ, 1 => προτέρᾱ (position changed to 2 because ultima is long)
- μοιρα, 1, true => μοῖρα (circumflex can be added because ultima is
ambiguous)
- χωρᾱ, 1, true => χώρᾱ (circumflex can't be added because ultima
is long)
- τοιουτος, 2 => τοιοῦτος (circumflex because ultima is short)
Arguments:
- word: string (hopefully an Ancient Greek word or stem)
- syllable_position: number (less than the number of monophthongs or diphthongs
in the word)
- options: table
- circumflex boolean (add a circumflex if allowed)
- synaeresis boolean (accent can fall before εω in penult
and ultima: πόλεως)
- short_diphthong boolean (word-final οι, αι count as short)
]]
function export.add_accent(word, syllable_position, options)
local check = _check("add_accent")
check(1, word, "string")
check(2, syllable_position, "number")
check(3, options, "table", true)
word = toNFD(word)
if find(word, tonal_diacritic) then
return word
end
options = options or {}
local tokens = shallow_copy(tokenize(word))
local vowels = export.get_vowel_info(tokens, options.short_diphthong)
local vowel_count = #vowels
-- Convert positions in relation to the beginning of the word
-- to positions in relation to the end of the word.
-- The farthest back that an accent can be placed is 3 (the antepenult),
-- so that is the greatest allowed position.
if syllable_position > 0 then
syllable_position = math.min(3, vowel_count - syllable_position + 1)
-- If the position is in relation to the end of the word and it is greater
-- than the length of the word, then reduce it to the length of the word.
-- This is for practical reasons. Positions in relation to the beginning of
-- the word do not need leeway.
elseif syllable_position < 0 then
syllable_position = math.min(-syllable_position, vowel_count)
end
if syllable_position == 0 then
error("Invalid position value " .. syllable_position .. ".")
elseif syllable_position > vowel_count then
error("The position " .. syllable_position .. " is invalid, because the word has only " .. vowel_count .. " vowels.")
end
-- Apply accent rules to change the accent's position or type.
local accent_mark = options.circumflex and CIRCUMFLEX or ACUTE
local ultima = vowels[1]
-- If synaeresis is selected, a final vowel sequence εω (optionally
-- separated by an undertie) counts as one syllable.
if syllable_position == 3 then
local penult = vowels[2]
if not options.force_antepenult and (ultima.length == "long"
and not (options.synaeresis
and ("Ωω"):find(tokens[ultima.index], 1, true)
and ("Εε"):find(tokens[penult.index], 1, true)
and (ultima.index == penult.index + 1
or ultima.index == penult.index + 2
and tokens[penult.index + 1] == UNDERTIE))) then
syllable_position = 2
else
accent_mark = ACUTE
end
end
if syllable_position == 2 then
if ultima.length == "short" and vowels[2].length == "long" then
accent_mark = CIRCUMFLEX
elseif ultima.length == "long" then
accent_mark = ACUTE
end
end
local vowel = vowels[syllable_position]
if not vowel then
error('No vowel at position ' .. syllable_position ..
' from the end of the word ' .. word .. '.')
end
if vowel.length == "short" then
accent_mark = ACUTE
end
local i = vowel.index
tokens[i] = add(tokens[i], accent_mark)
return concat(tokens)
end
function export.syllables(word, func, number)
local check = _check('syllables')
check(1, word, 'string')
check(2, func, 'string', true)
check(3, number, 'number', true)
if not func then
error('No function specified')
end
local functions = {
eq = function (word, number)
local vowels = 0
for _, token in ipairs(tokenize(word)) do
if contains_vowel(token) then
vowels = vowels + 1
if vowels > number then
return false
end
end
end
if vowels == number then
return true
end
return false
end
}
func = functions[func]
if func then
return func(word, number)
else
error('No function ' .. func)
end
end
return export
e2cn2txihgvtpf0ofvlpx0tmze1y8oi
ကဏ္ဍ:အဆက်ဂတအဳတခ်လဳဂမၠိုၚ်
14
14601
397418
178333
2026-06-22T08:43:29Z
咽頭べさ
33
咽頭べさ ပြံင်ပဆုဲလဝ် မုက်လိက် [[ကဏ္ဍ:ဥပသဂ္ဂပဒအဳတခ်လဳဂမၠိုၚ်]] ဇရေင် [[ကဏ္ဍ:အဆက်ဂတအဳတခ်လဳဂမၠိုၚ်]] သီုကဵု ဟွံဂွံ ဂိုင်စွံလဝ် မကလေင်ပညုင်
22828
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာအဳတခ်လဳ]]
gbeqdk32838i2079b24yzbewkbbcs22
ကဏ္ဍ:အဆက်ဂတသပုၚ်ဂမၠိုၚ်
14
14603
397415
276773
2026-06-22T08:40:29Z
咽頭べさ
33
咽頭べさ ပြံင်ပဆုဲလဝ် မုက်လိက် [[ကဏ္ဍ:ဥပသဂ္ဂပဒသပုၚ်ဂမၠိုၚ်]] ဇရေင် [[ကဏ္ဍ:အဆက်ဂတသပုၚ်ဂမၠိုၚ်]] သီုကဵု ဟွံဂွံ ဂိုင်စွံလဝ် မကလေင်ပညုင်
276773
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာသပုၚ်]]
psankndqa9rxk77be4r2iutyh9n8l07
ကဏ္ဍ:အဆက်ဂတပဝ်တူဂြဳဂမၠိုၚ်
14
14604
397416
178326
2026-06-22T08:41:02Z
咽頭べさ
33
咽頭べさ ပြံင်ပဆုဲလဝ် မုက်လိက် [[ကဏ္ဍ:ဥပသဂ္ဂပဒပဝ်တူဂြဳဂမၠိုၚ်]] ဇရေင် [[ကဏ္ဍ:အဆက်ဂတပဝ်တူဂြဳဂမၠိုၚ်]] သီုကဵု ဟွံဂွံ ဂိုင်စွံလဝ် မကလေင်ပညုင်
22831
wikitext
text/x-wiki
[[Category:ဘာသာပဝ်တူဂြဳ]]
okmd5ky208tq9ikfncppzh6bwx77ucw
မဝ်ဂျူ:es-headword
828
16697
397380
272707
2026-06-22T07:02:38Z
咽頭べさ
33
397380
Scribunto
text/plain
local export = {}
local pos_functions = {}
local u = mw.ustring.char
local rfind = mw.ustring.find
local rmatch = mw.ustring.match
local rsplit = mw.text.split
local m_links = require("Module:links")
local com = require("Module:es-common")
local lang = require("Module:languages").getByCode("es")
local langname = lang:getCanonicalName()
local PAGENAME = mw.title.getCurrentTitle().text
local V = com.V -- vowel regex class
local AV = com.AV -- accented vowel regex class
local C = com.C -- consonant regex class
local rsub = com.rsub
local suffix_categories = {
["နာမဝိသေသန"] = true,
["ကြိယာဝိသေသန"] = true,
["နာမ်"] = true,
["ကြိယာ"] = true,
}
local prepositions = {
"al? ",
"del? ",
"como ",
"con ",
"en ",
"para ",
"por ",
}
-- Add links around words. If multiword_only, do it only in multiword forms.
local function add_links(form, multiword_only)
if form == "" or form == " " then
return form
end
if not form:find("%[%[") then
if rfind(form, "[%s%p]") then --optimization to avoid loading [[Module:headword]] on single-word forms
local m_headword = require("Module:headword")
if m_headword.head_is_multiword(form) then
form = m_headword.add_multiword_links(form)
end
end
if not multiword_only and not form:find("%[%[") then
form = "[[" .. form .. "]]"
end
end
return form
end
local function track(page)
require("Module:debug").track("es-headword/" .. page)
return true
end
local function glossary_link(entry, text)
text = text or entry
return "[[အဆက်လက္ကရဴ:မသောၚ်ကၠးဝေါဟာ#" .. entry .. "|" .. text .. "]]"
end
local function check_all_missing(forms, plpos, tracking_categories)
for _, form in ipairs(forms) do
if type(form) == "table" then
form = form.term
end
if form then
local title = mw.title.new(form)
if title and not title.exists then
end
end
end
end
-- The main entry point.
-- This is the only function that can be invoked from a template.
function export.show(frame)
local tracking_categories = {}
local poscat = frame.args[1]
or error("Part of speech has not been specified. Please pass parameter 1 to the module invocation.")
local params = {
["head"] = {list = true},
["json"] = {type = "boolean"},
["id"] = {},
}
local parargs = frame:getParent().args
if poscat == "နာမ်" and (not parargs[2] or parargs[2] == "") and parargs.pl2 then
track("noun-pl2-without-pl")
end
if pos_functions[poscat] then
for key, val in pairs(pos_functions[poscat].params) do
params[key] = val
end
end
local args = require("Module:parameters").process(parargs, params)
local data = {
lang = lang,
pos_category = poscat,
categories = {},
heads = args["head"],
genders = {},
inflections = {},
id = args["id"],
}
local lemma = m_links.remove_links(data.heads[1] or PAGENAME)
if lemma:find("^%-") then -- suffix
if poscat:find(" forms?$") then
data.pos_category = "ဗီုပြၚ်အဆက်လက္ကရဴ"
else
data.pos_category = "အဆက်လက္ကရဴ"
end
if suffix_categories[poscat] then
local singular_poscat = poscat:gsub("s$", "")
table.insert(data.categories, singular_poscat .. "နိမိတ်ဗဒှ်လဝ်အဆက်လက္ကရဴ" .. langname .. "ဂမၠိုၚ်")
end
end
if pos_functions[poscat] then
pos_functions[poscat].func(args, data, tracking_categories, frame)
end
if args["json"] then
return require("Module:JSON").toJSON(data)
end
return require("Module:headword").full_headword(data)
.. require("Module:utilities").format_categories(tracking_categories, lang)
end
local function make_plural(form, special)
local retval = require("Module:romance utilities").handle_multiword(form, special, make_plural, prepositions)
if retval then
return retval
end
-- ends in unstressed vowel or á, é, ó
if rfind(form, "[aeiouáéó]$") then return {form .. "s"} end
-- ends in í or ú
if rfind(form, "[íú]$") then
return {form .. "s", form .. "es"}
end
-- ends in a vowel + z
if rfind(form, V .. "z$") then
return {rsub(form, "z$", "ces")}
end
-- ends in tz
if rfind(form, "tz$") then return {form} end
local syllables = com.syllabify(form)
-- ends in s or x with more than 1 syllable, last syllable unstressed
if syllables[2] and rfind(form, "[sx]$") and not rfind(syllables[#syllables], AV) then
return {form}
end
-- ends in l, r, n, d, z, or j with 3 or more syllables, stressed on third to last syllable
if syllables[3] and rfind(form, "[lrndzj]$") and rfind(syllables[#syllables - 2], AV) then
return {form}
end
-- ends in an accented vowel + consonant
if rfind(form, AV .. C .. "$") then
return {rsub(form, "(.)(.)$", function(vowel, consonant)
return com.remove_accent[vowel] .. consonant .. "es"
end)}
end
-- ends in a vowel + y, l, r, n, d, j, s, x
if rfind(form, "[aeiou][ylrndjsx]$") then
-- two or more syllables: add stress mark to plural; e.g. joven -> jóvenes
if syllables[2] and rfind(form, "n$") then
syllables[#syllables - 1] = com.add_accent_to_syllable(syllables[#syllables - 1])
return {table.concat(syllables, "") .. "es"}
end
return {form .. "es"}
end
-- ends in a vowel + ch
if rfind(form, "[aeiou]ch$") then return {form .. "es"} end
-- ends in two consonants
if rfind(form, C .. C .. "$") then return {form .. "s"} end
-- ends in a vowel + consonant other than l, r, n, d, z, j, s, or x
if rfind(form, "[aeiou][^aeioulrndzjsx]$") then return {form .. "s"} end
return nil
end
local function make_feminine(form, special)
local retval = require("Module:romance utilities").handle_multiword(form, special, make_feminine, prepositions)
if retval then
if #retval ~= 1 then
error("Internal error: Should have one return value for make_feminine: " .. table.concat(retval, ","))
end
return retval[1]
end
if form:find("o$") then
local retval = form:gsub("o$", "a") -- discard second retval
return retval
end
local function make_stem(form)
return mw.ustring.gsub(
form,
"^(.+)(.)(.)$",
function (before_stress, stressed_vowel, after_stress)
return before_stress .. (com.remove_accent[stressed_vowel] or stressed_vowel) .. after_stress
end)
end
if rfind(form, "[áíó]n$") or rfind(form, "[éí]s$") or rfind(form, "[dtszxñ]or$") or rfind(form, "ol$") then
-- holgazán, comodín, bretón (not común); francés, kirguís (not mandamás);
-- volador, agricultor, defensor, avizor, flexor, señor (not posterior, bicolor, mayor, mejor, menor, peor);
-- español, mongol
local stem = make_stem(form)
return stem .. "a"
end
return form
end
local function make_masculine(form, special)
local retval = require("Module:romance utilities").handle_multiword(form, special, make_masculine, prepositions)
if retval then
if #retval ~= 1 then
error("Internal error: Should have one return value for make_masculine: " .. table.concat(retval, ","))
end
return retval[1]
end
if form:find("dora$") then
local retval = form:gsub("a$", "") -- discard second retval
return retval
end
if form:find("a$") then
local retval = form:gsub("a$", "o") -- discard second retval
return retval
end
return form
end
local function do_adjective(args, data, tracking_categories, is_superlative)
local feminines = {}
local plurals = {}
local masculine_plurals = {}
local feminine_plurals = {}
if args.sp and not require("Module:romance utilities").allowed_special_indicators[args.sp] then
local indicators = {}
for indic, _ in pairs(require("Module:romance utilities").allowed_special_indicators) do
table.insert(indicators, "'" .. indic .. "'")
end
table.sort(indicators)
error("Special inflection indicator beginning can only be " ..
require("Module:table").serialCommaJoin(indicators, {dontTag = true}) .. ": " .. args.sp)
end
local argsf = args.f or {}
local argspl = args.pl or {}
local argsmpl = args.mpl or {}
local argsfpl = args.fpl or {}
if args.inv then
-- invariable adjective
table.insert(data.inflections, {label = "ဟွံပြၚ်လှာဲ"})
table.insert(data.categories, "နာမဝိသေသန" .. langname .. "ပါ်ပါဲထောံဟွံဂွံဂမၠိုၚ်")
if args.sp or #argsf > 0 or #argspl > 0 or #argsmpl > 0 or #argsfpl > 0 then
error("Can't specify inflections with an invariable adjective")
end
else
local lemma = m_links.remove_links(data.heads[1] or PAGENAME)
-- Gather feminines.
if #argsf == 0 then
argsf = {"+"}
end
for _, f in ipairs(argsf) do
if f == "+" then
-- Generate default feminine.
f = make_feminine(lemma, args.sp)
elseif f == "#" then
f = lemma
end
table.insert(feminines, f)
end
if #argspl > 0 and (#argsmpl > 0 or #argsfpl > 0) then
error("Can't specify both pl= and mpl=/fpl=")
end
if #feminines == 1 and feminines[1] == lemma then
-- Feminine like the masculine; just generate a plural
if #argspl == 0 then
argspl = {"+"}
end
elseif #argspl == 0 then
-- Distinct masculine and feminine plurals
if #argsmpl == 0 then
argsmpl = {"+"}
end
if #argsfpl == 0 then
argsfpl = {"+"}
end
end
for _, pl in ipairs(argspl) do
if pl == "+" then
-- Generate default plural.
local defpls = make_plural(lemma, args.sp)
if not defpls then
error("Unable to generate default plural of '" .. lemma .. "'")
end
for _, defpl in ipairs(defpls) do
table.insert(plurals, defpl)
end
elseif pl == "#" then
table.insert(plurals, lemma)
else
table.insert(plurals, pl)
end
end
for _, mpl in ipairs(argsmpl) do
if mpl == "+" then
-- Generate default masculine plural.
local defpls = make_plural(lemma, args.sp)
if not defpls then
error("Unable to generate default plural of '" .. lemma .. "'")
end
for _, defpl in ipairs(defpls) do
table.insert(masculine_plurals, defpl)
end
elseif mpl == "#" then
table.insert(masculine_plurals, lemma)
else
table.insert(masculine_plurals, mpl)
end
end
for _, fpl in ipairs(argsfpl) do
if fpl == "+" then
for _, f in ipairs(feminines) do
-- Generate default feminine plural.
local defpls = make_plural(f, args.sp)
if not defpls then
error("Unable to generate default plural of '" .. f .. "'")
end
for _, defpl in ipairs(defpls) do
table.insert(feminine_plurals, defpl)
end
end
elseif fpl == "#" then
table.insert(feminine_plurals, lemma)
else
table.insert(feminine_plurals, fpl)
end
end
if args.mapoc then
check_all_missing(args.mapoc, "နာမဝိသေသန", tracking_categories)
end
check_all_missing(feminines, "နာမဝိသေသန", tracking_categories)
check_all_missing(plurals, "နာမဝိသေသန", tracking_categories)
check_all_missing(masculine_plurals, "နာမဝိသေသန", tracking_categories)
check_all_missing(feminine_plurals, "နာမဝိသေသန", tracking_categories)
if args.mapoc and #args.mapoc > 0 then
args.mapoc.label = "masculine singular before a noun"
table.insert(data.inflections, args.mapoc)
end
-- Make sure there are feminines given and not same as lemma.
if #feminines > 0 and not (#feminines == 1 and feminines[1] == lemma) then
feminines.label = "ဣတ္တိလိၚ်"
feminines.accel = {form = "f|s"}
table.insert(data.inflections, feminines)
end
if #plurals > 0 then
plurals.label = "ကိုန်ဗဟုဝစ်"
plurals.accel = {form = "p"}
table.insert(data.inflections, plurals)
end
if #masculine_plurals > 0 then
masculine_plurals.label = "ကိုန်ဗဟုဝစ်ပုလ္လိၚ်"
masculine_plurals.accel = {form = "m|p"}
table.insert(data.inflections, masculine_plurals)
end
if #feminine_plurals > 0 then
feminine_plurals.label = "ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်"
feminine_plurals.accel = {form = "f|p"}
table.insert(data.inflections, feminine_plurals)
end
end
if args.comp and #args.comp > 0 then
check_all_missing(args.comp, "နာမဝိသေသန", tracking_categories)
args.comp.label = "ပတုပ်ရံၚ်"
table.insert(data.inflections, args.comp)
end
if args.sup and #args.sup > 0 then
check_all_missing(args.sup, "နာမဝိသေသန", tracking_categories)
args.sup.label = "သဒ္ဒာ"
table.insert(data.inflections, args.sup)
end
if args.irreg and is_superlative then
table.insert(data.categories, "နာမဝိသေသနမသၠုၚ်အိုတ်အတိုၚ်ပကတိဟွံသေၚ်နကဵုဘာသာ" .. langname .. "ဂမၠိုၚ်")
end
end
pos_functions["နာမဝိသေသန"] = {
params = {
["inv"] = {type = "boolean"}, --invariable
["sp"] = {}, -- special indicator: "first", "first-last", etc.
["f"] = {list = true}, --feminine form(s)
["pl"] = {list = true}, --plural override(s)
["fpl"] = {list = true}, --feminine plural override(s)
["mpl"] = {list = true}, --masculine plural override(s)
["mapoc"] = {list = true}, --masculine apocopated (before a noun)
["comp"] = {list = true}, --comparative(s)
["sup"] = {list = true}, --superlative(s)
},
func = function(args, data, tracking_categories)
return do_adjective(args, data, tracking_categories, false)
end
}
pos_functions["နာမဝိသေသနပတုပ်ရံၚ်"] = {
params = {
["inv"] = {type = "boolean"}, --invariable
["sp"] = {}, -- special indicator: "ပဌမ", "ပဌမ-လက္ကရဴအိုတ်", etc.
["f"] = {list = true}, --feminine form(s)
["pl"] = {list = true}, --plural override(s)
["fpl"] = {list = true}, --feminine plural override(s)
["mpl"] = {list = true}, --masculine plural override(s)
},
func = function(args, data, tracking_categories)
return do_adjective(args, data, tracking_categories, false)
end
}
pos_functions["သဒ္ဒာနာမဝိသေသန"] = {
params = {
["inv"] = {type = "boolean"}, --invariable
["sp"] = {}, -- special indicator: "first", "first-last", etc.
["f"] = {list = true}, --feminine form(s)
["pl"] = {list = true}, --plural override(s)
["fpl"] = {list = true}, --feminine plural override(s)
["mpl"] = {list = true}, --masculine plural override(s)
["irreg"] = {type = "boolean"},
},
func = function(args, data, tracking_categories)
return do_adjective(args, data, tracking_categories, true)
end
}
pos_functions["လုပ်ကၠောန်စွံလဝ်နကဵုအတိက်"] = {
params = {
[1] = {}, --FIXME: ignore this until we've fixed the uses
["inv"] = {type = "boolean"}, --invariable
["sp"] = {}, -- special indicator: "ပဌမ", "ပဌမ-လက္ကရဴအိုတ်", etc.
},
func = function(args, data, tracking_categories)
return do_adjective(args, data, tracking_categories, false)
end
}
pos_functions["ကြိယာဝိသေသန"] = {
params = {
["sup"] = {list = true}, --superlative(s)
},
func = function(args, data, tracking_categories, frame)
if #args.sup > 0 then
check_all_missing(args.sup, "ကြိယာဝိသေသန", tracking_categories)
args.sup.label = "သဒ္ဒာ"
table.insert(data.inflections, args.sup)
end
end,
}
pos_functions["cardinal numbers"] = {
params = {
["f"] = {list = true}, --feminine(s)
["mapoc"] = {list = true}, --masculine apocopated form(s)
},
func = function(args, data, tracking_categories, frame)
data.pos_category = "ဂၞန်သၚ်္ချာ"
table.insert(data.categories, 1, "ဂၞန်သၚ်္ချာ" .. langname .. "မဒှ်အဓိကဂမၠိုၚ်")
if #args.f > 0 then
table.insert(data.genders, "m")
check_all_missing(args.f, "ဂၞန်သၚ်္ချာ", tracking_categories)
args.f.label = "ဣတ္တိလိၚ်"
table.insert(data.inflections, args.f)
end
if #args.mapoc > 0 then
check_all_missing(args.mapoc, "ဂၞန်သၚ်္ချာ", tracking_categories)
args.mapoc.label = "masculine before a noun"
table.insert(data.inflections, args.mapoc)
end
end,
}
-- Display information for a noun's gender
-- This is separate so that it can also be used for proper nouns
local function noun_gender(args, data)
local gender = args[1]
table.insert(data.genders, gender)
if #data.genders == 0 then
table.insert(data.genders, "?")
end
end
pos_functions["နာမ်မကိတ်ညဳ"] = {
params = {
[1] = {},
},
func = function(args, data)
noun_gender(args, data)
end
}
-- Display additional inflection information for a noun
pos_functions["နာမ်"] = {
params = {
[1] = {required = true, default = "m"}, --gender
["g2"] = {}, --second gender
["e"] = {type = "boolean"}, --epicene
[2] = {list = "pl"}, --plural override(s)
["f"] = {list = true}, --feminine form(s)
["m"] = {list = true}, --masculine form(s)
["fpl"] = {list = true}, --feminine plural override(s)
["mpl"] = {list = true}, --masculine plural override(s)
["dim"] = {list = true}, --diminutive(s)
["aug"] = {list = true}, --diminutive(s)
["pej"] = {list = true}, --pejorative(s)
},
func = function(args, data, tracking_categories)
local allowed_genders = {
["m"] = true,
["f"] = true,
["m-p"] = true,
["f-p"] = true,
["mf"] = true,
["mf-p"] = true,
["mfbysense"] = true,
["mfbysense-p"] = true,
}
local lemma = m_links.remove_links(
(#data.heads > 0 and data.heads[1]) or PAGENAME
)
if args[1] == "m-f" then
args[1] = "mf"
elseif args[1] == "mfp" or args[1] == "m-f-p" then
args[1] = "mf-p"
end
if not allowed_genders[args[1]] then error("Unrecognized gender: " .. args[1]) end
table.insert(data.genders, args[1])
if args.g2 then table.insert(data.genders, args.g2) end
if args["e"] then
table.insert(data.categories, "နာမ်ကဗျ" .. langname .. "မွဲကဝ်ချူဇန်ခၞံလဝ်ဂမၠိုၚ်")
table.insert(data.inflections, {label = glossary_link("epicene")})
end
local plurals = {}
if args[1]:find("%-p$") then
table.insert(data.inflections, {label = glossary_link("ပါဲနူကိုန်ဗဟုဝစ်")})
if #args[2] > 0 then
error("Can't specify plurals of a plurale tantum noun")
end
else
-- Gather plurals, handling requests for default plurals
for _, pl in ipairs(args[2]) do
if pl == "+" then
local default_pls = make_plural(lemma)
for _, defp in ipairs(default_pls) do
table.insert(plurals, defp)
end
elseif pl == "#" then
table.insert(plurals, lemma)
elseif pl:find("^%+") then
pl = require("Module:romance utilities").get_special_indicator(pl)
local default_pls = make_plural(lemma, pl)
for _, defp in ipairs(default_pls) do
table.insert(plurals, defp)
end
else
table.insert(plurals, pl)
end
end
-- Check for special plural signals
local mode = nil
if #plurals > 0 and #plurals[1] == 1 then
if plurals[1] == "?" or plurals[1] == "!" or plurals[1] == "-" or plurals[1] == "~" then
mode = plurals[1]
table.remove(plurals, 1) -- Remove the mode parameter
else
error("Unexpected plural code")
end
end
if mode == "?" then
-- Plural is unknown
table.insert(data.categories, "နာမ်" .. langname .. "မနွံကဵုကိုန်ဗဟုဝစ်ဟွံတီကၠး ဝါ ဟွံချိုတ်ပၠိုတ်ဂမၠိုၚ်")
elseif mode == "!" then
-- Plural is not attested
table.insert(data.inflections, {label = "ကိုန်ဗဟုဝစ်ဟွံပြာကတ်"})
table.insert(data.categories, "နာမ်" .. langname .. "မနွံကဵုကိုန်ဗဟုဝစ်ဟွံဒးစုတ်စရၚ်စေဝ်စၞောန်ဂမၠိုၚ်")
return
elseif mode == "-" then
-- Uncountable noun; may occasionally have a plural
table.insert(data.categories, "နာမ်" .. langname .. "မတော်ဟွံဂွံဂမၠိုၚ်")
-- If plural forms were given explicitly, then show "usually"
if #plurals > 0 then
table.insert(data.inflections, {label = "ဗွဲတၟေၚ် " .. glossary_link("တော်ဟွံမာန်")})
table.insert(data.categories, "နာမ်" .. langname .. "မတော်ဂွံဂမၠိုၚ်")
else
table.insert(data.inflections, {label = glossary_link("တော်ဟွံမာန်")})
end
else
-- Countable or mixed countable/uncountable
if #plurals == 0 then
local pls = make_plural(lemma)
if pls then
for _, pl in ipairs(pls) do
table.insert(plurals, pl)
end
end
end
if mode == "~" then
-- Mixed countable/uncountable noun, always has a plural
table.insert(data.inflections, {label = glossary_link("တော်မာန်") .. " and " .. glossary_link("တော်ဟွံမာန်")})
table.insert(data.categories, "နာမ်" .. langname .. "မတော်ဟွံဂွံဂမၠိုၚ်")
table.insert(data.categories, "နာမ်" .. langname .. "မတော်ဂွံဂမၠိုၚ်")
else
-- Countable nouns
table.insert(data.categories, "နာမ်" .. langname .. "မတော်ဂွံဂမၠိုၚ်")
end
end
end
-- Gather masculines/feminines. For each one, generate the corresponding plural(s).
local function handle_mf(mfs, inflect, default_plurals)
local retval = {}
for _, mf in ipairs(mfs) do
if mf == "1" then
track("noun-mf-1")
end
if mf == "1" or mf == "+" then
-- Generate default feminine.
mf = inflect(lemma)
elseif mf == "#" then
mf = lemma
end
local special = require("Module:romance utilities").get_special_indicator(mf)
if special then
mf = inflect(lemma, special)
end
table.insert(retval, mf)
local mfpls = make_plural(mf, special)
if mfpls then
for _, mfpl in ipairs(mfpls) do
-- Add an accelerator for each masculine/feminine plural whose lemma
-- is the corresponding singular, so that the accelerated entry
-- that is generated has a definition that looks like
-- # {{plural of|es|MFSING}}
table.insert(default_plurals, {term = mfpl, accel = {form = "p", lemma = mf}})
end
end
end
return retval
end
local feminine_plurals = {}
local feminines = handle_mf(args.f, make_feminine, feminine_plurals)
local masculine_plurals = {}
local masculines = handle_mf(args.m, make_masculine, masculine_plurals)
local function handle_mf_plural(mfpl, default_plurals, singulars)
local new_mfpls = {}
for i, mfpl in ipairs(mfpl) do
local accel
if #mfpl == #singulars then
-- If same number of overriding masculine/feminine plurals as singulars,
-- assume each plural goes with the corresponding singular
-- and use each corresponding singular as the lemma in the accelerator.
-- The generated entry will have # {{plural of|es|SINGULAR}} as the
-- definition.
accel = {form = "p", lemma = singulars[i]}
else
accel = nil
end
if mfpl == "+" then
for _, defpl in ipairs(default_plurals) do
-- defpl is already a table
table.insert(new_mfpls, defpl)
end
elseif mfpl == "#" then
table.insert(new_mfpls, {term = lemma, accel = accel})
elseif mfpl:find("^%+") then
mfpl = require("Module:romance utilities").get_special_indicator(mfpl)
for _, mf in ipairs(singulars) do
local default_mfpls = make_plural(mf, mfpl)
for _, defp in ipairs(default_mfpls) do
table.insert(new_mfpls, {term = defp, accel = accel})
end
end
else
table.insert(new_mfpls, {term = mfpl, accel = accel})
end
end
return new_mfpls
end
if #args.fpl > 0 then
-- Override any existing feminine plurals.
feminine_plurals = handle_mf_plural(args.fpl, feminine_plurals, feminines)
end
if #args.mpl > 0 then
-- Override any existing masculine plurals.
masculine_plurals = handle_mf_plural(args.mpl, masculine_plurals, masculines)
end
check_all_missing(plurals, "နာမ်", tracking_categories)
check_all_missing(feminines, "နာမ်", tracking_categories)
check_all_missing(feminine_plurals, "နာမ်", tracking_categories)
check_all_missing(masculines, "နာမ်", tracking_categories)
check_all_missing(masculine_plurals, "နာမ်", tracking_categories)
check_all_missing(args.dim, "နာမ်", tracking_categories)
check_all_missing(args.aug, "နာမ်", tracking_categories)
check_all_missing(args.pej, "နာမ်", tracking_categories)
local function redundant_plural(pl)
for _, p in ipairs(plurals) do
if p == pl then
return true
end
end
return false
end
for _, mpl in ipairs(masculine_plurals) do
if redundant_plural(mpl) then
track("noun-redundant-mpl")
end
end
for _, fpl in ipairs(feminine_plurals) do
if redundant_plural(fpl) then
track("noun-redundant-fpl")
end
end
if #plurals > 0 then
plurals.label = "ကိုန်ဗဟုဝစ်"
plurals.accel = {form = "p"}
table.insert(data.inflections, plurals)
end
if #feminines > 0 then
feminines.label = "ဣတ္တိလိၚ်"
feminines.accel = {form = "f"}
table.insert(data.inflections, feminines)
end
if #feminine_plurals > 0 then
feminine_plurals.label = "ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်"
table.insert(data.inflections, feminine_plurals)
end
if #masculines > 0 then
masculines.label = "ပုလ္လိၚ်"
table.insert(data.inflections, masculines)
end
if #masculine_plurals > 0 then
masculine_plurals.label = "ကိုန်ဗဟုဝစ်ပုလ္လိၚ်"
table.insert(data.inflections, masculine_plurals)
end
if #args.dim > 0 then
args.dim.label = glossary_link("diminutive")
table.insert(data.inflections, args.dim)
end
if #args.aug > 0 then
args.aug.label = glossary_link("augmentative")
table.insert(data.inflections, args.aug)
end
if #args.pej > 0 then
args.pej.label = glossary_link("pejorative")
table.insert(data.inflections, args.pej)
end
end
}
pos_functions["ကြိယာ"] = {
params = {
[1] = {},
["pres"] = {list = true}, --present
["pres_qual"] = {list = "pres=_qual", allow_holes = true},
["pret"] = {list = true}, --preterite
["pret_qual"] = {list = "pret=_qual", allow_holes = true},
["part"] = {list = true}, --participle
["part_qual"] = {list = "part=_qual", allow_holes = true},
["pagename"] = {}, -- for testing
["noautolinktext"] = {type = "boolean"},
["noautolinkverb"] = {type = "boolean"},
["attn"] = {type = "boolean"},
["new"] = {type = "boolean"},
},
func = function(args, data, tracking_categories, frame)
local preses, prets, parts
local pagename = args.pagename or PAGENAME
local def_forms
if args.attn then
return
end
if mw.title.getCurrentTitle().nsText == "ထာမ်ပလိက်" and PAGENAME == "es-verb" and not args.pagename then
pagename = "averiguar"
end
local parargs = frame:getParent().args
local alternant_multiword_spec = require("Module:es-verb").do_generate_forms(parargs, "from headword")
for _, cat in ipairs(alternant_multiword_spec.categories) do
table.insert(data.categories, cat)
end
if #data.heads == 0 then
data.no_redundant_head_cat = true
for _, head in ipairs(alternant_multiword_spec.forms.infinitive_linked) do
table.insert(data.heads, head.form)
end
end
local specforms = alternant_multiword_spec.forms
local function slot_exists(slot)
return specforms[slot] and #specforms[slot] > 0
end
local function do_finite(slot_tense, label_tense)
-- Use pres_3s if it exists and pres_1s doesn't exist (e.g. impersonal verbs); similarly for pres_3p (only3p verbs);
-- but fall back to pres_1s if neither pres_1s nor pres_3s nor pres_3p exist (e.g. [[empedernir]]).
local has_1s = slot_exists(slot_tense .. "_1s")
local has_3s = slot_exists(slot_tense .. "_3s")
local has_3p = slot_exists(slot_tense .. "_3p")
if has_1s or (not has_3s and not has_3p) then
return {
slot = slot_tense .. "_1s",
label = ("first-person singular %s"):format(label_tense),
accel = ("1|s|%s|ind"):format(slot_tense),
}
elseif has_3s then
return {
slot = slot_tense .. "_3s",
label = ("third-person singular %s"):format(label_tense),
accel = ("3|s|%s|ind"):format(slot_tense),
}
else
return {
slot = slot_tense .. "_3p",
label = ("third-person plural %s"):format(label_tense),
accel = ("3|p|%s|ind"):format(slot_tense),
}
end
end
preses = do_finite("pres", "present")
prets = do_finite("pret", "preterite")
parts = {
slot = "pp_ms",
label = "လုပ်ကၠောန်စွံလဝ်နကဵုအတိက်",
accel = "m|s|past|part"
}
if #args.pres > 0 or #args.pret > 0 or #args.part > 0 then
track("verb-old-multiarg")
end
local function strip_brackets(qualifiers)
if not qualifiers then
return nil
end
local stripped_qualifiers = {}
for _, qualifier in ipairs(qualifiers) do
local stripped_qualifier = qualifier:match("^%[(.*)%]$")
if not stripped_qualifier then
error("Internal error: Qualifier should be surrounded by brackets at this stage: " .. qualifier)
end
table.insert(stripped_qualifiers, stripped_qualifier)
end
return stripped_qualifiers
end
local function do_verb_form(args, qualifiers, slot_desc)
local forms
if #args == 0 then
forms = specforms[slot_desc.slot]
if not forms or #forms == 0 then
forms = {{form = "-"}}
end
elseif #args == 1 and args[1] == "-" then
forms = {{form = "-"}}
else
forms = {}
for i, arg in ipairs(args) do
local qual = qualifiers[i]
if qual then
-- FIXME: It's annoying we have to add brackets and strip them out later. The inflection
-- code adds all footnotes with brackets around them; we should change this.
qual = {"[" .. qual .. "]"}
end
local form = arg
if not args.noautolinkverb then
form = add_links(form)
end
table.insert(forms, {form = form, footnotes = qual})
end
end
if forms[1].form == "-" then
return {label = "no " .. slot_desc.label}
else
local into_table = {label = slot_desc.label}
local accel = {form = slot_desc.accel}
for _, form in ipairs(forms) do
local qualifiers = strip_brackets(form.footnotes)
-- Strip redundant brackets surrounding entire form. These may get generated e.g.
-- if we use the angle bracket notation with a single word.
local stripped_form = rmatch(form.form, "^%[%[([^%[%]]*)%]%]$") or form.form
-- Don't include accelerators if brackets remain in form, as the result will be wrong.
local this_accel = not stripped_form:find("%[%[") and accel or nil
table.insert(into_table, {term = stripped_form, q = qualifiers, accel = this_accel})
end
return into_table
end
end
if alternant_multiword_spec.only3s then
table.insert(data.inflections, {label = glossary_link("impersonal")})
elseif alternant_multiword_spec.only3sp then
table.insert(data.inflections, {label = "ပါဲနူပူဂဵုတတိယ"})
elseif alternant_multiword_spec.only3p then
table.insert(data.inflections, {label = "ပူဂဵုတတိယပါဲနူကိုန်ဗဟုဝစ်"})
end
table.insert(data.inflections, do_verb_form(args.pres, args.pres_qual, preses))
table.insert(data.inflections, do_verb_form(args.pret, args.pret_qual, prets))
table.insert(data.inflections, do_verb_form(args.part, args.part_qual, parts))
end
}
return export
ajvzbvd0twzsh5lsj97lqi02mdtanht
397383
397380
2026-06-22T07:42:33Z
咽頭べさ
33
397383
Scribunto
text/plain
local export = {}
local pos_functions = {}
local force_cat = false -- for testing; if true, categories appear in non-mainspace pages
local rfind = mw.ustring.find
local rmatch = mw.ustring.match
local require_when_needed = require("Module:require when needed")
local m_table = require("Module:table")
local com = require("Module:es-common")
local en_utilities_module = "Module:en-utilities"
local es_verb_module = "Module:es-verb"
local headword_module = "Module:headword"
local headword_utilities_module = "Module:headword utilities"
local inflection_utilities_module = "Module:inflection utilities"
local romut_module = "Module:romance utilities"
local m_en_utilities = require_when_needed(en_utilities_module)
local m_headword_utilities = require_when_needed(headword_utilities_module)
local m_string_utilities = require_when_needed("Module:string utilities")
local glossary_link = require_when_needed(headword_utilities_module, "glossary_link")
local lang = require("Module:languages").getByCode("es")
local langname = lang:getCanonicalName()
local insert = table.insert
local remove = table.remove
local rsub = com.rsub
local sort = table.sort
local ulower = mw.ustring.lower
local usub = mw.ustring.sub
local uupper = mw.ustring.upper
local function track(page)
require("Module:debug").track("es-headword/" .. page)
return true
end
local list_param = {list = true, disallow_holes = true}
local boolean_param = {type = "boolean"}
-- The main entry point.
-- This is the only function that can be invoked from a template.
function export.show(frame)
local poscat = frame.args[1]
or error("Part of speech has not been specified. Please pass parameter 1 to the module invocation.")
local parargs = frame:getParent().args
local params = {
["head"] = list_param,
["id"] = true,
["splithyph"] = boolean_param,
["nolink"] = boolean_param,
["nolinkhead"] = {alias_of = "nolink"},
["json"] = boolean_param,
["pagename"] = true, -- for testing
}
if pos_functions[poscat] then
for key, val in pairs(pos_functions[poscat].params) do
params[key] = val
end
end
local args = require("Module:parameters").process(parargs, params)
local pagename = args.pagename or mw.loadData("Module:headword/data").pagename
local user_specified_heads = args.head
local heads = user_specified_heads
if args.nolink then
if #heads == 0 then
heads = {pagename}
end
else
local romut = require(romut_module)
local auto_linked_head = romut.add_links_to_multiword_term(pagename, args.splithyph)
if #heads == 0 then
heads = {auto_linked_head}
else
for i, head in ipairs(heads) do
if head:find("^~") then
head = romut.apply_link_modifiers(auto_linked_head, usub(head, 2))
heads[i] = head
end
end
end
end
local data = {
lang = lang,
pos_category = pos_functions[poscat] and pos_functions[poscat].pos_category or poscat,
categories = {},
heads = heads,
user_specified_heads = user_specified_heads,
no_redundant_head_cat = #user_specified_heads == 0,
genders = {},
inflections = {},
pagename = pagename,
id = args.id,
force_cat_output = force_cat,
checkredlinks = pos_functions[poscat] and pos_functions[poscat].redlink_pos or true,
}
if pagename:find("^%-") and poscat ~= "ဗီုပြၚ်အဆက်လက္ကရဴ" then
data.is_suffix = true
data.pos_category = "အဆက်လက္ကရဴ"
data.checkredlinks = true
-- local singular_poscat = m_en_utilities.singularize(poscat)
-- insert(data.categories, langname .. " " .. singular_poscat .. "-forming suffixes")
-- insert(data.inflections, {label = singular_poscat .. "-forming suffix"})
end
local pagename_lower = ulower(pagename)
for _, ch in ipairs{"jh", "kh", "ph", "qü", "sh", "th", "tl", "ts", "tz", "wh", "zh", "ze", "zi"} do
if pagename_lower:find(ch) then
-- insert(data.categories, langname .. " terms spelled with " .. uupper(ch))
end
end
if pos_functions[poscat] then
pos_functions[poscat].func(args, data)
end
if args.json then
return require("Module:JSON").toJSON(data)
end
return require(headword_module).full_headword(data)
end
-----------------------------------------------------------------------------------------
-- Utility functions --
-----------------------------------------------------------------------------------------
local function replace_hash_with_lemma(term, lemma)
-- If there is a % sign in the lemma, we have to replace it with %% so it doesn't get interpreted as a capture
-- replace expression.
lemma = m_string_utilities.replacement_escape(lemma)
return (term:gsub("#", lemma)) -- discard second retval
end
-- Parse and insert an inflection not requiring additional processing into `data.inflections`. The raw arguments come
-- from `args[field]`, which is parsed for inline modifiers. `label` is the label that the inflections are given;
-- `accel` is the accelerator form, or nil.
local function parse_and_insert_inflection(data, args, field, label, accel)
m_headword_utilities.parse_and_insert_inflection {
headdata = data,
forms = args[field],
paramname = field,
splitchar = ",",
label = label,
accel = accel and {form = accel} or nil,
}
end
-- Insert default plurals generated when a given plural had the value of + and default plurals were fetched as a result.
-- `plobj` is the parsed object whose `term` field is "+". `defpls` is the list of default plurals. `dest` is the list
-- into which the plurals are inserted (which inherit their qualifiers and labels from `plobj`).
local function insert_defpls(defpls, plobj, dest)
if not defpls then
-- Happens e.g. with [[S.A.]] where the default plural algorithm returns nothing.
return
end
if #defpls == 1 then
plobj.term = defpls[1]
insert(dest, plobj)
else
for _, defpl in ipairs(defpls) do
local newplobj = m_table.shallowCopy(plobj)
newplobj.term = defpl
insert(dest, newplobj)
end
end
end
-----------------------------------------------------------------------------------------
-- Adjectives --
-----------------------------------------------------------------------------------------
local function do_adjective(args, data, is_superlative)
local feminines = {}
local masculine_plurals = {}
local feminine_plurals = {}
-- Use "participle" not "past participle" for categories such as 'invariable participles'
local category_plpos = data.checkredlinks
if category_plpos == true then
category_plpos = data.pos_category
end
local category_pos = m_en_utilities.singularize(category_plpos)
if args.sp then
local romut = require(romut_module)
if not romut.allowed_special_indicators[args.sp] then
local indicators = {}
for indic, _ in pairs(romut.allowed_special_indicators) do
insert(indicators, "'" .. indic .. "'")
end
sort(indicators)
error("Special inflection indicator beginning can only be " ..
mw.text.listToText(indicators) .. ": " .. args.sp)
end
end
local lemma = data.pagename
local function fetch_inflections(field)
local retval = m_headword_utilities.parse_term_list_with_modifiers {
paramname = field,
forms = args[field],
splitchar = ",",
}
if not retval[1] then
return {{term = "+"}}
end
return retval
end
local function insert_inflection(terms, label, accel)
m_headword_utilities.insert_inflection {
headdata = data,
terms = terms,
label = label,
accel = accel and {form = accel} or nil,
}
end
if args.inv then
-- invariable adjective
insert(data.inflections, {label = glossary_link("ပါ်ပါဲထောံဟွံမာန်")})
insert(data.categories, category_plpos .. langname .. "နကဵုပါ်ပါဲထောံဟွံမာန်ဂမၠိုၚ်")
if args.sp or args.f[1] or args.pl[1] or args.mpl[1] or args.fpl[1] then
error("Can't specify inflections with an invariable " .. category_pos)
end
elseif args.fonly then
-- feminine-only
if args.f[1] then
error("Can't specify explicit feminines with feminine-only " .. category_pos)
end
if args.pl[1] then
error("Can't specify explicit plurals with feminine-only " .. category_pos .. ", use fpl=")
end
if args.mpl[1] then
error("Can't specify explicit masculine plurals with feminine-only " .. category_pos)
end
local argsfpl = fetch_inflections("fpl")
for _, fpl in ipairs(argsfpl) do
if fpl.term == "+" then
-- Generate default feminine plural.
local defpls = com.make_plural(lemma, "f", args.sp)
if not defpls then
error("Unable to generate default plural of '" .. lemma .. "'")
end
insert_defpls(defpls, fpl, feminine_plurals)
else
fpl.term = replace_hash_with_lemma(fpl.term, lemma)
insert(feminine_plurals, fpl)
end
end
insert(data.inflections, {label = "ပါဲနူဣတ္တိလိၚ်"})
insert_inflection(feminine_plurals, "ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်", "f|p")
else
-- Gather feminines.
for _, f in ipairs(fetch_inflections("f")) do
if f.term == "+" then
-- Generate default feminine.
f.term = com.make_feminine(lemma, args.sp)
else
f.term = replace_hash_with_lemma(f.term, lemma)
end
insert(feminines, f)
end
local fem_like_lemma = #feminines == 1 and feminines[1].term == lemma and
not m_headword_utilities.termobj_has_qualifiers_or_labels(feminines[1])
if fem_like_lemma then
-- insert(data.categories, langname .. " epicene " .. category_plpos)
end
local mpl_field = "mpl"
local fpl_field = "fpl"
if args.pl[1] then
if args.mpl[1] or args.fpl[1] then
error("Can't specify both pl= and mpl=/fpl=")
end
mpl_field = "pl"
fpl_field = "pl"
end
local argsmpl = fetch_inflections(mpl_field)
local argsfpl = fetch_inflections(fpl_field)
for _, mpl in ipairs(argsmpl) do
if mpl.term == "+" then
-- Generate default masculine plural.
local defpls = com.make_plural(lemma, "m", args.sp)
if not defpls then
error("Unable to generate default plural of '" .. lemma .. "'")
end
insert_defpls(defpls, mpl, masculine_plurals)
else
mpl.term = replace_hash_with_lemma(mpl.term, lemma)
insert(masculine_plurals, mpl)
end
end
for _, fpl in ipairs(argsfpl) do
if fpl.term == "+" then
for _, f in ipairs(feminines) do
-- Generate default feminine plural; f is a table.
local defpls = com.make_plural(f.term, "f", args.sp)
if not defpls then
error("Unable to generate default plural of '" .. f.term .. "'")
end
for _, defpl in ipairs(defpls) do
local fplobj = m_table.shallowCopy(fpl)
fplobj.term = defpl
m_headword_utilities.combine_termobj_qualifiers_labels(fplobj, f)
insert(feminine_plurals, fplobj)
end
end
else
fpl.term = replace_hash_with_lemma(fpl.term, lemma)
insert(feminine_plurals, fpl)
end
end
parse_and_insert_inflection(data, args, "mapoc", "masculine singular before a noun")
local fem_pl_like_masc_pl = masculine_plurals[1] and feminine_plurals[1] and
m_table.deepEquals(masculine_plurals, feminine_plurals)
local masc_pl_like_lemma = #masculine_plurals == 1 and masculine_plurals[1].term == lemma and
not m_headword_utilities.termobj_has_qualifiers_or_labels(masculine_plurals[1])
if fem_like_lemma and fem_pl_like_masc_pl and masc_pl_like_lemma then
-- actually invariable
insert(data.inflections, {label = glossary_link("ပြံၚ်လှာဲဟွံမာန်")})
insert(data.categories, category_plpos .. langname .. "နကဵုပါ်ပါဲထောံဟွံမာန်ဂမၠိုၚ်")
else
-- Make sure there are feminines given and not same as lemma.
if not fem_like_lemma then
insert_inflection(feminines, "ဣတ္တိလိၚ်", "f|s")
elseif args.gneut then
data.genders = {"gneut"}
else
data.genders = {"mf"}
end
if fem_pl_like_masc_pl then
if args.gneut then
insert_inflection(masculine_plurals, "ကိုန်ဗဟုဝစ်", "p")
else
insert_inflection(masculine_plurals, "ပုလ္လိၚ် ကဵု ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်", "p")
end
else
insert_inflection(masculine_plurals, "ကိုန်ဗဟုဝစ်ပုလ္လိၚ်", "m|p")
insert_inflection(feminine_plurals, "ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်", "f|p")
end
end
end
parse_and_insert_inflection(data, args, "comp", "ပတဝ်ပတုပ်ရံၚ်")
parse_and_insert_inflection(data, args, "sup", "သဒ္ဒာ")
parse_and_insert_inflection(data, args, "dim", "လဟုတ်စှ်ေ")
parse_and_insert_inflection(data, args, "aug", "ပရေၚ်မဗပေၚ်တိုန်")
if args.irreg and is_superlative then
insert(data.categories, langname .. " irregular superlative " .. category_plpos)
end
end
local function get_adjective_params(adjtype)
local params = {
["inv"] = boolean_param, --invariable
["sp"] = true, -- special indicator: "first", "first-last", etc.
}
local function ins_infl(field)
params[field] = list_param --feminine form(s)
end
ins_infl("f") -- feminine form(s)
ins_infl("pl") -- plural override(s)
ins_infl("mpl") -- masculine plural override(s)
ins_infl("fpl") -- feminine plural override(s)
if adjtype == "base" then
ins_infl("mapoc") --masculine apocopated (before a noun)
ins_infl("comp") --comparative(s)
ins_infl("sup") --superlative(s)
ins_infl("dim") --diminutive(s)
ins_infl("aug") --augmentative(s)
params["fonly"] = boolean_param -- feminine only
params["gneut"] = boolean_param -- gender-neutral adjective e.g. [[latine]]
params["hascomp"] = true -- has comparative
end
if adjtype == "sup" then
params["irreg"] = boolean_param
end
return params
end
pos_functions["နာမဝိသေသန"] = {
params = get_adjective_params("base"),
func = do_adjective,
}
pos_functions["လုပ်ကၠောန်စွံလဝ်နကဵုအတိက်"] = {
params = get_adjective_params("part"),
func = do_adjective,
redlink_pos = "လုပ်ကၠောန်စွံလဝ်",
}
pos_functions["ဖျေံလဝ်သန္နိဋ္ဌာန်"] = {
params = get_adjective_params("det"),
func = do_adjective,
}
pos_functions["သဗ္ဗနာမ်"] = {
params = get_adjective_params("pron"),
func = do_adjective,
}
pos_functions["နာမဝိသေသနပတုပ်ရံၚ်"] = {
params = get_adjective_params("comp"),
func = do_adjective,
pos_category = "နာမဝိသေသန",
}
pos_functions["သဒ္ဒာနာမဝိသေသန"] = {
params = get_adjective_params("sup"),
func = function(args, data)
do_adjective(args, data, true)
end,
pos_category = "နာမဝိသေသန",
}
-----------------------------------------------------------------------------------------
-- Adverbs --
-----------------------------------------------------------------------------------------
pos_functions["ကြိယာဝိသေသန"] = {
params = {
["sup"] = list_param, --superlative(s)
},
func = function(args, data)
parse_and_insert_inflection(data, args, "ညိည", "သဒ္ဒာ")
end,
}
-----------------------------------------------------------------------------------------
-- Numerals --
-----------------------------------------------------------------------------------------
pos_functions["cardinal numbers"] = {
params = {
["f"] = list_param, --feminine(s)
["mapoc"] = list_param, --masculine apocopated form(s)
},
func = function(args, data)
-- insert(data.categories, 1, langname .. " cardinal numbers")
if args.f[1] then
insert(data.genders, "m")
parse_and_insert_inflection(data, args, "f", "ဣတ္တိလိၚ်")
end
parse_and_insert_inflection(data, args, "mapoc", "ပုလ္လိၚ်ဗွဲကိုတ်ကၠာနာမ်မွဲသာ်")
end,
pos_category = "ဂၞန်သၚ်္ချာ",
}
-----------------------------------------------------------------------------------------
-- Nouns --
-----------------------------------------------------------------------------------------
local allowed_genders = m_table.listToSet(
{"m", "f", "mf", "mfbysense", "mfequiv", "gneut", "n", "m-p", "f-p", "mf-p", "mfbysense-p", "mfequiv-p", "gneut-p", "n-p", "?", "?-p"}
)
local function validate_genders(genders)
for _, g in ipairs(genders) do
if type(g) == "table" then
g = g.spec
end
if not allowed_genders[g] then
error("Unrecognized gender: " .. g)
end
end
end
-- Display additional inflection information for a noun
local function do_noun(args, data, is_proper)
local is_plurale_tantum = false
local has_singular = false
local category_plpos = data.checkredlinks
if category_plpos == true then
category_plpos = data.pos_category
end
local category_pos = m_en_utilities.singularize(category_plpos)
validate_genders(args[1])
data.genders = args[1]
local saw_m = false
local saw_f = false
local saw_gneut = false
local gender_for_irreg_ending, gender_for_make_plural
-- Check for specific genders and pluralia tantum.
for _, g in ipairs(args[1]) do
if type(g) == "table" then
g = g.spec
end
if g:find("-p$") then
is_plurale_tantum = true
else
has_singular = true
if g == "m" or g == "mf" or g == "mfbysense" then
saw_m = true
end
if g == "f" or g == "mf" or g == "mfbysense" then
saw_f = true
end
if g == "gneut" then
saw_gneut = true
end
end
end
if saw_m and saw_f then
gender_for_irreg_ending = "mf"
elseif saw_f then
gender_for_irreg_ending = "f"
else
gender_for_irreg_ending = "m"
end
gender_for_make_plural = saw_gneut and "gneut" or gender_for_irreg_ending
local lemma = data.pagename
local plurals = {}
if is_plurale_tantum and not has_singular then
if args[2][1] then
error("Can't specify plurals of plurale tantum " .. category_pos)
end
insert(data.inflections, {label = glossary_link("ပါဲနူကိုန်ဗဟုဝစ်")})
else
plurals = m_headword_utilities.parse_term_list_with_modifiers {
paramname = {2, "pl"},
forms = args[2],
splitchar = ",",
}
-- Check for special plural signals
local mode = nil
local pl1 = plurals[1]
if pl1 and #pl1.term == 1 then
mode = pl1.term
if mode == "?" or mode == "!" or mode == "-" or mode == "~" then
pl1.term = nil
if next(pl1) then
error(("Can't specify inline modifiers with plural code '%s'"):format(mode))
end
remove(plurals, 1) -- Remove the mode parameter
elseif mode ~= "+" and mode ~= "#" then
error(("Unexpected plural code '%s'"):format(mode))
end
end
if mode == "?" then
-- Plural is unknown
insert(data.categories, category_plpos .. langname .. "မနွံကဵုကိုန်ဗဟုဝစ်ဟွံတီကၠး ဝါ ဟွံချိုတ်ပၠိုတ်ဂမၠိုၚ်")
elseif mode == "!" then
-- Plural is not attested
insert(data.inflections, {label = "plural not attested"})
insert(data.categories, category_plpos .. langname .. "မနွံကဵုကိုန်ဗဟုဝစ်ဟွံဒးစုတ်စရၚ်စေဝ်စၞောန်ဂမၠိုၚ်")
if plurals[1] then
error("Can't specify any plurals along with unattested plural code '!'")
end
elseif mode == "-" then
-- Uncountable noun; may occasionally have a plural
insert(data.categories, category_plpos .. langname .. "မတော်ဟွံဂွံဂမၠိုၚ်")
-- If plural forms were given explicitly, then show "usually"
if plurals[1] then
insert(data.inflections, {label = "ဗွဲတၟေၚ်" .. glossary_link("မတော်ဟွံမာန်")})
insert(data.categories, category_plpos .. langname .. "မတော်ဂွံဂမၠိုၚ်")
else
insert(data.inflections, {label = glossary_link("မတော်ဟွံမာန်")})
end
else
-- Countable or mixed countable/uncountable
if not plurals[1] and not is_proper then
plurals[1] = {term = "+"}
end
if mode == "~" then
-- Mixed countable/uncountable noun, always has a plural
insert(data.inflections, {label = glossary_link("မတော်မာန်") .. " and " .. glossary_link("မတော်ဟွံမာန်")})
insert(data.categories, category_plpos .. langname .. "မတော်ဟွံဂွံဂမၠိုၚ်")
insert(data.categories, category_plpos .. langname .. "မတော်ဂွံဂမၠိုၚ်")
elseif plurals[1] then
-- Countable nouns
insert(data.categories, category_plpos .. langname .. "မတော်ဂွံဂမၠိုၚ်")
else
-- Uncountable nouns
insert(data.categories, category_plpos .. langname .. "မတော်ဟွံဂွံဂမၠိုၚ်")
end
end
-- Gather plurals, handling requests for default plurals.
local has_default_or_hash = false
for _, pl in ipairs(plurals) do
if pl.term:find("^%+") or pl.term:find("#") then
has_default_or_hash = true
break
end
end
if has_default_or_hash then
local newpls = {}
for _, pl in ipairs(plurals) do
if pl.term == "+" then
local default_pls = com.make_plural(lemma, gender_for_make_plural)
insert_defpls(default_pls, pl, newpls)
elseif pl.term:find("^%+") then
pl.term = require(romut_module).get_special_indicator(pl.term)
local default_pls = com.make_plural(lemma, gender_for_make_plural, pl.term)
insert_defpls(default_pls, pl, newpls)
else
pl.term = replace_hash_with_lemma(pl.term, lemma)
insert(newpls, pl)
end
end
plurals = newpls
end
end
if #plurals > 1 then
insert(data.categories, category_plpos .. langname .. "မနွံမဂၠိုၚ်ကဵုကိုန်ဗဟုဝစ်ဂမၠိုၚ်")
end
-- Gather masculines/feminines. For each one, generate the corresponding plural(s). `field` is the name of the
-- field containing the masculine or feminine forms (normally "m" or "f"); `gender` is "m" or "f" for the gender
-- of the forms; `inflect` is a function of one or two arguments to generate the default masculine or feminine from
-- the lemma (the arguments are the lemma and optionally a "special" flag to indicate how to handle multiword
-- lemmas, and the function is normally make_feminine or make_masculine from [[Module:es-common]]); and
-- `default_plurals` is a list into which the corresponding default plurals of the gathered or generated masculine
-- or feminine forms are stored. Note that there may be more default plurals than masculines or feminines, because
-- some terms have multiple possible plurals.
local function handle_mf(field, gender, inflect, default_plurals)
local mfs = m_headword_utilities.parse_term_list_with_modifiers {
paramname = field,
forms = args[field],
splitchar = ",",
frob = function(term)
if term == "+" then
-- Generate default masculine/feminine.
term = inflect(lemma)
else
term = replace_hash_with_lemma(term, lemma)
end
local special = require(romut_module).get_special_indicator(term)
if special then
term = inflect(lemma, special)
end
return term
end
}
for _, mf in ipairs(mfs) do
local mfpls = com.make_plural(mf.term, gender, special)
if mfpls then
for _, mfpl in ipairs(mfpls) do
local plobj = m_table.shallowCopy(mf)
plobj.term = mfpl
-- Add an accelerator for each masculine/feminine plural whose lemma
-- is the corresponding singular, so that the accelerated entry
-- that is generated has a definition that looks like
-- # {{plural of|es|MFSING}}
plobj.accel = {form = "p", lemma = mf.term}
insert(default_plurals, plobj)
end
end
end
return mfs
end
local feminine_plurals = {}
local feminines = handle_mf("f", "f", com.make_feminine, feminine_plurals)
local masculine_plurals = {}
local masculines = handle_mf("m", "m", com.make_masculine, masculine_plurals)
local function handle_mf_plural(mfplfield, gender, default_plurals, singulars)
local mfpl = m_headword_utilities.parse_term_list_with_modifiers {
paramname = mfplfield,
forms = args[mfplfield],
splitchar = ",",
}
local new_mfpls = {}
local saw_plus
for i, mfpl in ipairs(mfpl) do
local accel
if #mfpl == #singulars then
-- If same number of overriding masculine/feminine plurals as singulars,
-- assume each plural goes with the corresponding singular
-- and use each corresponding singular as the lemma in the accelerator.
-- The generated entry will have # {{plural of|es|SINGULAR}} as the
-- definition.
accel = {form = "p", lemma = singulars[i].term}
else
accel = nil
end
if mfpl.term == "+" then
-- We should never see + twice. If we do, it will lead to problems since we overwrite the values of
-- default_plurals the first time around.
if saw_plus then
error(("Saw + twice when handling %s="):format(mfplfield))
end
saw_plus = true
for _, defpl in ipairs(default_plurals) do
-- defpl is already a table and has an accel field
m_headword_utilities.combine_termobj_qualifiers_labels(defpl, mfpl)
insert(new_mfpls, defpl)
end
elseif mfpl.term:find("^%+") then
mfpl.term = require(romut_module).get_special_indicator(mfpl.term)
for _, mf in ipairs(singulars) do
local default_mfpls = com.make_plural(mf.term, gender, mfpl.term)
for _, defp in ipairs(default_mfpls) do
local mfplobj = m_table.shallowCopy(mfpl)
mfplobj.term = defp
mfplobj.accel = accel
m_headword_utilities.combine_termobj_qualifiers_labels(mfplobj, mf)
insert(new_mfpls, mfplobj)
end
end
else
mfpl.accel = accel
mfpl.term = replace_hash_with_lemma(mfpl.term, lemma)
insert(new_mfpls, mfpl)
end
end
return new_mfpls
end
if args.fpl[1] then
-- Override any existing feminine plurals.
feminine_plurals = handle_mf_plural("fpl", "f", feminine_plurals, feminines)
end
if args.mpl[1] then
-- Override any existing masculine plurals.
masculine_plurals = handle_mf_plural("mpl", "m", masculine_plurals, masculines)
end
local function parse_and_insert_noun_inflection(field, label, accel)
parse_and_insert_inflection(data, args, field, label, accel)
end
local function insert_noun_inflection(terms, label, accel)
m_headword_utilities.insert_inflection {
headdata = data,
terms = terms,
label = label,
accel = accel and {form = accel} or nil,
}
end
insert_noun_inflection(plurals, "ကိုန်ဗဟုဝစ်", "p")
insert_noun_inflection(feminines, "ဣတ္တိလိၚ်", "f")
insert_noun_inflection(feminine_plurals, "ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်")
insert_noun_inflection(masculines, "ပုလ္လိၚ်")
insert_noun_inflection(masculine_plurals, "ကိုန်ဗဟုဝစ်ပုလ္လိၚ်")
parse_and_insert_noun_inflection("dim", "လဟုတ်စှ်ေ")
parse_and_insert_noun_inflection("aug", "ပရေၚ်မဖပေၚ်တိုန်")
parse_and_insert_noun_inflection("pej", "စမ်ၜတ်ရံၚ်")
parse_and_insert_noun_inflection("dem", "အပၠေံရုပ်ရာ")
parse_and_insert_noun_inflection("fdem", "အပၠေံရုပ်ရာဣတ္တိလိၚ်")
-- Maybe add category 'Spanish nouns with irregular gender' (or similar)
local irreg_gender_lemma = rsub(lemma, " .*", "") -- only look at first word
if (rfind(irreg_gender_lemma, "o$") and (gender_for_irreg_ending == "f" or gender_for_irreg_ending == "mf")) or
(irreg_gender_lemma:find("a$") and (gender_for_irreg_ending == "m" or gender_for_irreg_ending == "mf")) then
insert(data.categories, langname .. " nouns with irregular gender")
end
end
local function get_noun_params(is_proper)
return {
[1] = {list = "g", disallow_holes = true, required = not is_proper, default = "?", type = "genders",
flatten = true}, -- gender(s)
[2] = {list = "pl", disallow_holes = true}, --plural override(s)
["f"] = list_param, --feminine form(s)
["m"] = list_param, --masculine form(s)
["fpl"] = list_param, --feminine plural override(s)
["mpl"] = list_param, --masculine plural override(s)
["dim"] = list_param, --diminutive(s)
["aug"] = list_param, --diminutive(s)
["pej"] = list_param, --pejorative(s)
["dem"] = list_param, --demonym(s)
["fdem"] = list_param, --female demonym(s)
}
end
pos_functions["နာမ်"] = {
params = get_noun_params(),
func = do_noun,
}
pos_functions["နာမ်မကိတ်ညဳ"] = {
params = get_noun_params("is proper"),
func = function(args, data)
do_noun(args, data, "is proper")
end,
}
-----------------------------------------------------------------------------------------
-- Verbs --
-----------------------------------------------------------------------------------------
pos_functions["ကြိယာ"] = {
params = {
[1] = {},
["pres"] = list_param, --present
["pres_qual"] = {list = "pres\1_qual", allow_holes = true},
["pret"] = list_param, --preterite
["pret_qual"] = {list = "pret\1_qual", allow_holes = true},
["part"] = list_param, --participle
["part_qual"] = {list = "part\1_qual", allow_holes = true},
["pagename"] = {}, -- for testing
["noautolinktext"] = boolean_param,
["noautolinkverb"] = boolean_param,
["attn"] = boolean_param,
},
func = function(args, data)
local preses, prets, parts
if args.attn then
insert(data.categories, "Requests for attention concerning " .. langname)
return
end
local es_verb = require(es_verb_module)
local alternant_multiword_spec = es_verb.do_generate_forms(args, "es-verb", data.heads[1])
local specforms = alternant_multiword_spec.forms
local function slot_exists(slot)
return specforms[slot] and specforms[slot][1]
end
local function do_finite(slot_tense, label_tense)
-- Use pres_3s if it exists and pres_1s doesn't exist (e.g. impersonal verbs); similarly for pres_3p (only3p verbs);
-- but fall back to pres_1s if neither pres_1s nor pres_3s nor pres_3p exist (e.g. [[empedernir]]).
local has_1s = slot_exists(slot_tense .. "_1s")
local has_3s = slot_exists(slot_tense .. "_3s")
local has_3p = slot_exists(slot_tense .. "_3p")
if has_1s or (not has_3s and not has_3p) then
return {
slot = slot_tense .. "_1s",
label = ("ကိုန်ဨကဝုစ်ပူဂဵုပထမ %s"):format(label_tense),
}
elseif has_3s then
return {
slot = slot_tense .. "_3s",
label = ("ကိုန်ဨကဝုစ်ပူဂဵုတတိယ %s"):format(label_tense),
}
else
return {
slot = slot_tense .. "_3p",
label = ("ကိုန်ဗဟုဝစ်ပူဂဵုတတိယ %s"):format(label_tense),
}
end
end
preses = do_finite("pres", "ပစ္စုပ္ပန်")
prets = do_finite("pret", "မပြဟ်လောန်")
parts = {
slot = "pp_ms",
label = "လုပ်ကၠောန်စွံလဝ်နကဵုအတိက်",
}
if args.pres[1] or args.pret[1] or args.part[1] then
track("verb-old-multiarg")
end
local function strip_brackets(qualifiers)
if not qualifiers then
return nil
end
local stripped_qualifiers = {}
for _, qualifier in ipairs(qualifiers) do
local stripped_qualifier = qualifier:match("^%[(.*)%]$")
if not stripped_qualifier then
error("Internal error: Qualifier should be surrounded by brackets at this stage: " .. qualifier)
end
insert(stripped_qualifiers, stripped_qualifier)
end
return stripped_qualifiers
end
local function do_verb_form(args, qualifiers, slot_desc, skip_if_empty)
local forms
local to_insert
if #args == 0 then
forms = specforms[slot_desc.slot]
if not forms or #forms == 0 then
if skip_if_empty then
return
end
forms = {{form = "-"}}
end
elseif #args == 1 and args[1] == "-" then
forms = {{form = "-"}}
else
forms = {}
for i, arg in ipairs(args) do
local qual = qualifiers[i]
if qual then
-- FIXME: It's annoying we have to add brackets and strip them out later. The inflection
-- code adds all footnotes with brackets around them; we should change this.
qual = {"[" .. qual .. "]"}
end
local form = arg
if not args.noautolinkverb then
-- [[Module:inflection utilities]] already loaded by [[Module:es-verb]]
form = require(inflection_utilities_module).add_links(form)
end
insert(forms, {form = form, footnotes = qual})
end
end
if forms[1].form == "-" then
to_insert = {label = "no " .. slot_desc.label}
else
local into_table = {label = slot_desc.label}
for _, form in ipairs(forms) do
local qualifiers = strip_brackets(form.footnotes)
-- Strip redundant brackets surrounding entire form. These may get generated e.g.
-- if we use the angle bracket notation with a single word.
local stripped_form = rmatch(form.form, "^%[%[([^%[%]]*)%]%]$") or form.form
-- Don't include accelerators if brackets remain in form, as the result will be wrong.
-- FIXME: For now, don't include accelerators. We should use {{es-verb form of}} instead.
-- local this_accel = not stripped_form:find("%[%[") and accel or nil
local this_accel = nil
insert(into_table, {term = stripped_form, q = qualifiers, accel = this_accel})
end
to_insert = into_table
end
insert(data.inflections, to_insert)
end
local skip_pres_if_empty
if alternant_multiword_spec.no_pres1_and_sub then
insert(data.inflections, {label = "ကိုန်ဨကဝုစ်ပစ္စုပ္ပန်ပူဂဵုပထမဟွံသေၚ်"})
insert(data.inflections, {label = "အရေဝ်နိဒါန်ပစ္စုပ္ပန်ဟွံသေၚ်"})
end
if alternant_multiword_spec.no_pres_stressed then
insert(data.inflections, {label = "မသ္ပစၞောန်ပစ္စုပ္ပန်ကဆံၚ်ဇြိုဟ်နက်ဟွံသေၚ် ဝါ အရေဝ်နိဒါန်"})
skip_pres_if_empty = true
end
if alternant_multiword_spec.only3s then
insert(data.inflections, {label = glossary_link("ဟၟဲကဵုပစ္စဲပူဂဵု")})
elseif alternant_multiword_spec.only3sp then
insert(data.inflections, {label = "ပါဲနူပူဂဵုတတိယ"})
elseif alternant_multiword_spec.only3p then
insert(data.inflections, {label = "ပါဲနူကိုန်ဗဟုဝစ်ပူဂဵုတတိယ"})
end
do_verb_form(args.pres, args.pres_qual, preses, skip_pres_if_empty)
do_verb_form(args.pret, args.pret_qual, prets)
do_verb_form(args.part, args.part_qual, parts)
-- Add categories.
for _, cat in ipairs(alternant_multiword_spec.categories) do
insert(data.categories, cat)
end
-- If the user didn't explicitly specify head=, or specified exactly one head (not 2+) and we were able to
-- incorporate any links in that head into the 1= specification, use the infinitive generated by
-- [[Module:es-verb]] in place of the user-specified or auto-generated head. This was copied from
-- [[Module:it-headword]], where doing this gets accents marked on the verb(s). We don't have accents marked on
-- the verb but by doing this we do get any footnotes on the infinitive propagated here. Don't do this if the
-- user gave multiple heads or gave a head with a multiword-linked verbal expression such as Italian
-- '[[dare esca]] [[al]] [[fuoco]]' (FIXME: give Spanish equivalent).
if #data.user_specified_heads == 0 or (
#data.user_specified_heads == 1 and alternant_multiword_spec.incorporated_headword_head_into_lemma
) then
data.heads = {}
for _, lemma_obj in ipairs(alternant_multiword_spec.forms.infinitive_linked) do
local quals, refs = require(inflection_utilities_module).
convert_footnotes_to_qualifiers_and_references(lemma_obj.footnotes)
insert(data.heads, {term = lemma_obj.form, q = quals, refs = refs})
end
end
end
}
-----------------------------------------------------------------------------------------
-- Phrases --
-----------------------------------------------------------------------------------------
pos_functions["ဝါကျ"] = {
params = {
["g"] = {list = true, disallow_holes = true, type = "genders", flatten = true},
["m"] = list_param,
["f"] = list_param,
},
func = function(args, data)
validate_genders(args.g)
data.genders = args.g
parse_and_insert_inflection(data, args, "m", "ပုလ္လိၚ်")
parse_and_insert_inflection(data, args, "f", "ဣတ္တိလိၚ်")
end,
}
-----------------------------------------------------------------------------------------
-- Suffix forms --
-----------------------------------------------------------------------------------------
pos_functions["ဗီုပြၚ်အဆက်လက္ကရဴ"] = {
params = {
[1] = {required = true, list = true, disallow_holes = true},
["g"] = {list = true, disallow_holes = true, type = "genders", flatten = true},
},
func = function(args, data)
validate_genders(args.g)
data.genders = args.g
local suffix_type = {}
for _, typ in ipairs(args[1]) do
insert(suffix_type, typ .. "-forming suffix")
end
insert(data.inflections, {label = "non-lemma form of " .. require("Module:table").serialCommaJoin(suffix_type, {conj = "or"})})
end,
}
return export
roi0ima6tj5iuas9hwcu3sql7eq18sy
မဝ်ဂျူ:pt-headword
828
25859
397377
272756
2026-06-22T06:54:00Z
咽頭べさ
33
397377
Scribunto
text/plain
-- This module contains code for Portuguese headword templates.
-- Templates covered are:
-- * {{pt-noun}}, {{pt-proper noun}};
-- * {{pt-verb}};
-- * {{pt-adj}}, {{pt-adj-comp}}, {{pt-adj-sup}};
-- * {{pt-det}};
-- * {{pt-pron-adj}};
-- * {{pt-contr-adj}};
-- * {{pt-pp}};
-- * {{pt-cardinal}};
-- * {{pt-adv}}.
-- See [[Module:pt-verb]] for Portuguese conjugation templates.
local export = {}
local pos_functions = {}
local force_cat = false -- for testing; if true, categories appear in non-mainspace pages
local m_strutils = require("Module:string utilities")
local require_when_needed = require("Module:require when needed")
local m_table = require("Module:table")
local com = require("Module:pt-common")
local en_utilities_module = "Module:en-utilities"
local headword_utilities_module = "Module:headword utilities"
local inflection_utilities_module = "Module:inflection utilities"
local romut_module = "Module:romance utilities"
local pt_verb_module = "Module:pt-verb"
local lang = require("Module:languages").getByCode("pt")
local langname = lang:getCanonicalName()
local m_en_utilities = require_when_needed(en_utilities_module)
local m_headword_utilities = require_when_needed(headword_utilities_module)
local glossary_link = require_when_needed(headword_utilities_module, "glossary_link")
local insert = table.insert
local rfind = m_strutils.find
local rmatch = m_strutils.match
local ulower = m_strutils.lower
local usub = m_strutils.sub
local uupper = m_strutils.upper
-- When followed by a hyphen in a hyphenated compound, the hyphen will be included with the prefix when linked.
local include_hyphen_prefixes = m_table.listToSet {
"ab",
"afro",
"anarco",
"anglo",
"ântero",
"anti",
"auto",
"contra",
"ex",
"franco",
"hiper",
"infra",
"inter",
"intra",
"macro",
"micro",
"neo",
"pan",
"pós",
"pré",
"pró",
"proto",
"sobre",
"sub",
"super",
"vice",
}
-----------------------------------------------------------------------------------------
-- Utility functions --
-----------------------------------------------------------------------------------------
local function track(page)
require("Module:debug/track")("pt-headword/" .. page)
return true
end
local list_param = {list = true, disallow_holes = true}
local boolean_param = {type = "boolean"}
local metaphonic_label = "[[:en:Appendix:Portuguese pronunciation#Metaphony|မေတ်တာဖဝ်နေတ်]]"
local function make_plural(sg, special)
local pl = com.make_plural(sg, special)
if not pl then
error(("Internal error: Unable to generate default plural of '%s'"):format(sg))
end
return pl
end
-- Parse and insert an inflection not requiring additional processing into `data.inflections`. The raw arguments come
-- from `args[field]`, which is parsed for inline modifiers. `label` is the label that the inflections are given;
-- `plpos` is the plural part of speech, used in [[Category:LANGNAME PLPOS with red links in their headword lines]].
-- `accel` is the accelerator form, or nil.
local function parse_and_insert_inflection(data, args, field, label, accel, frob)
m_headword_utilities.parse_and_insert_inflection {
headdata = data,
forms = args[field],
paramname = field,
splitchar = ",",
include_mods = {"g"},
label = label,
accel = accel and {form = accel} or nil,
frob = frob,
}
end
-- The main entry point.
-- This is the only function that can be invoked from a template.
function export.show(frame)
local poscat = frame.args[1] or error("Part of speech has not been specified. Please pass parameter 1 to the module invocation.")
local parargs = frame:getParent().args
local params = {
["head"] = list_param,
["id"] = true,
["json"] = boolean_param,
["splithyph"] = boolean_param,
["nolinkhead"] = boolean_param,
["nolink"] = {type = "boolean", alias_of = "nolinkhead"},
["abbr"] = list_param,
["pagename"] = true, -- for testing
}
if pos_functions[poscat] then
for key, val in pairs(pos_functions[poscat].params) do
params[key] = val
end
end
local args = require("Module:parameters").process(parargs, params)
local pagename = args.pagename or mw.loadData("Module:headword/data").pagename
local user_specified_heads = args.head
local heads = user_specified_heads
if args.nolinkhead then
if #heads == 0 then
heads = {pagename}
end
else
local romut = require(romut_module)
local auto_linked_head = romut.add_links_to_multiword_term(pagename, args.splithyph, nil,
include_hyphen_prefixes)
if #heads == 0 then
heads = {auto_linked_head}
else
for i, head in ipairs(heads) do
if head:find("^~") then
head = romut.apply_link_modifiers(auto_linked_head, usub(head, 2))
heads[i] = head
end
end
end
end
local data = {
lang = lang,
pos_category = pos_functions[poscat] and pos_functions[poscat].pos_category or poscat,
categories = {},
heads = heads,
user_specified_heads = user_specified_heads,
no_redundant_head_cat = #user_specified_heads == 0,
genders = {},
inflections = {},
pagename = pagename,
id = args.id,
force_cat_output = force_cat,
checkredlinks = pos_functions[poscat] and pos_functions[poscat].redlink_pos or true,
}
if pagename:find("^%-") and poscat ~= "ဗီုပြၚ်အဆက်လက္ကရဴ" then
data.is_suffix = true
data.pos_category = "အဆက်လက္ကရဴ"
data.checkredlinks = true
-- local singular_poscat = m_en_utilities.singularize(poscat)
-- insert(data.categories, langname .. " " .. singular_poscat .. "-forming suffixes")
-- insert(data.inflections, {label = singular_poscat .. "-forming suffix"})
end
local pagename_lower = ulower(pagename)
for _, ch in ipairs{"gü", "jh", "kh", "ph", "qü", "sh", "th", "tl", "ts", "tz", "wh", "zh"} do
if pagename_lower:find(ch) then
-- insert(data.categories, langname .. " terms spelled with " .. uupper(ch))
end
end
if pos_functions[poscat] then
pos_functions[poscat].func(args, data)
end
parse_and_insert_inflection(data, args, "abbr", "နဲကဲပွမဒမၠေံ")
if args.json then
return require("Module:JSON").toJSON(data)
end
return require("Module:headword").full_headword(data)
end
local function replace_hash_with_lemma(term, lemma)
-- If there is a % sign in the lemma, we have to replace it with %% so it doesn't get interpreted as a capture replace
-- expression.
lemma = lemma:gsub("%%", "%%%%")
return (term:gsub("#", lemma))
end
local function is_metaphonic(args, lemma)
if args.nometa then
return false
end
if args.meta then
return true
end
-- Anything in -oso with a preceding vowel (e.g. [[gostoso]], [[curioso]]) is normally metaphonic.
return rfind(lemma, com.V .. ".*oso$")
end
-----------------------------------------------------------------------------------------
-- Nouns --
-----------------------------------------------------------------------------------------
local allowed_genders = m_table.listToSet(
{"m", "f", "mf", "mfbysense", "mfequiv", "gneut", "n", "m-p", "f-p", "mf-p", "mfbysense-p", "mfequiv-p", "gneut-p", "n-p", "?", "?-p"}
)
local function validate_genders(genders)
for _, g in ipairs(genders) do
if type(g) == "table" then
g = g.spec
end
if not allowed_genders[g] then
error("Unrecognized gender: " .. g)
end
end
end
local function do_noun(args, data, is_proper)
local is_plurale_tantum = false
local has_singular = false
local category_plpos = data.checkredlinks
if category_plpos == true then
category_plpos = data.pos_category
end
local category_pos = m_en_utilities.singularize(category_plpos)
validate_genders(args[1])
data.genders = args[1]
local saw_m = false
local saw_f = false
local saw_gneut = false
local gender_for_irreg_ending
-- Check for specific genders and pluralia tantum.
for _, g in ipairs(args[1]) do
if type(g) == "table" then
g = g.spec
end
if g:find("-p$") then
is_plurale_tantum = true
else
has_singular = true
if g == "m" or g == "mf" or g == "mfbysense" then
saw_m = true
end
if g == "f" or g == "mf" or g == "mfbysense" then
saw_f = true
end
if g == "gneut" then
saw_gneut = true
end
end
end
if saw_m and saw_f then
gender_for_irreg_ending = "mf"
elseif saw_f then
gender_for_irreg_ending = "f"
else
gender_for_irreg_ending = "m"
end
local lemma = data.pagename
local plurals = {}
local function insert_noun_inflection(terms, label, accel)
m_headword_utilities.insert_inflection {
headdata = data,
terms = terms,
label = label,
accel = accel and {form = accel} or nil,
}
end
if is_plurale_tantum and not has_singular then
if args[2][1] then
error("Can't specify plurals of plurale tantum " .. category_pos)
end
insert(data.inflections, {label = glossary_link("ပါဲနူကိုန်ဗဟုဝစ်")})
else
plurals = m_headword_utilities.parse_term_list_with_modifiers {
paramname = {2, "pl"},
forms = args[2],
splitchar = ",",
}
-- Check for special plural signals
local mode = nil
local pl1 = plurals[1]
if pl1 and #pl1.term == 1 then
mode = pl1.term
if mode == "?" or mode == "!" or mode == "-" or mode == "~" then
pl1.term = nil
if next(pl1) then
error(("Can't specify inline modifiers with plural code '%s'"):format(mode))
end
table.remove(plurals, 1) -- Remove the mode parameter
elseif mode ~= "+" and mode ~= "#" then
error(("Unexpected plural code '%s'"):format(mode))
end
end
if is_plurale_tantum then
-- both singular and plural
insert(data.inflections, {label = "ပါဲနူကိုန်ဗဟုဝစ်" .. glossary_link("လ္ၚဵုလ္ၚဵု") .. ", in variation"})
end
if mode == "?" then
-- Plural is unknown
insert(data.categories, category_plpos .. langname .. "မနွံကဵုကိုန်ဗဟုဝစ်ဟွံတီကၠး ဝါ ဟွံချိုတ်ပၠိုတ်ဂမၠိုၚ်")
elseif mode == "!" then
-- Plural is not attested
insert(data.inflections, {label = "plural not attested"})
insert(data.categories, category_plpos .. langname .. "မနွံကဵုကိုန်ဗဟုဝစ်ဟွံဒးစုတ်စရၚ်စေဝ်စၞောန်ဂမၠိုၚ်")
if plurals[1] then
error("Can't specify any plurals along with unattested plural code '!'")
end
elseif mode == "-" then
-- Uncountable noun; may occasionally have a plural
insert(data.categories, category_plpos .. langname .. "မတော်ဟွံဂွံဂမၠိုၚ်")
-- If plural forms were given explicitly, then show "usually"
if plurals[1] then
insert(data.inflections, {label = "ဗွဲတၟေၚ်" .. glossary_link("မတော်ဟွံမာန်")})
insert(data.categories, category_plpos .. langname .. "မတော်ဂွံဂမၠိုၚ်")
else
insert(data.inflections, {label = glossary_link("မတော်ဟွံမာန်")})
end
else
-- Countable or mixed countable/uncountable
if not plurals[1] and not is_proper then
plurals[1] = {term = "+"}
end
if mode == "~" then
-- Mixed countable/uncountable noun, always has a plural
insert(data.inflections, {label = glossary_link("မတော်မာန်") .. " and " .. glossary_link("မတော်ဟွံမာန်")})
insert(data.categories, category_plpos .. langname .. "မတော်ဟွံဂွံဂမၠိုၚ်")
insert(data.categories, category_plpos .. langname .. "မတော်ဂွံဂမၠိုၚ်")
elseif plurals[1] then
-- Countable nouns
insert(data.categories, category_plpos .. langname .. "မတော်ဂွံဂမၠိုၚ်")
else
-- Uncountable nouns
insert(data.categories, category_plpos .. langname .. "မတော်ဟွံဂွံဂမၠိုၚ်")
end
end
-- Gather plurals, handling requests for default plurals.
local has_default_or_hash = false
for _, pl in ipairs(plurals) do
if pl.term:find("^%+") or pl.term:find("#") then
has_default_or_hash = true
break
end
end
if has_default_or_hash then
for _, pl in ipairs(plurals) do
if pl.term == "+" then
pl.term = make_plural(lemma)
elseif pl.term:find("^%+") then
pl.term = require(romut_module).get_special_indicator(pl.term)
pl.term = make_plural(lemma, pl.term)
else
pl.term = replace_hash_with_lemma(pl.term, lemma)
end
end
end
local pl1 = plurals[1]
if pl1 and not plurals[2] and pl1.term == lemma then
insert(data.inflections, {label = glossary_link("ပါ်ပါဲထောံဟွံမာန်"),
q = pl1.q, qq = pl1.qq, l = pl1.l, ll = pl1.ll, refs = pl1.refs
})
insert(data.categories, category_plpos .. langname .. "နကဵုပါ်ပါဲထောံဟွံမာန်ဂမၠိုၚ်")
else
insert_noun_inflection(plurals, "ကိုန်ဗဟုဝစ်", "p")
end
if plurals[2] then
insert(data.categories, category_plpos .. langname .. "မနွံမဂၠိုၚ်ကဵုကိုန်ဗဟုဝစ်ဂမၠိုၚ်")
end
end
-- Gather masculines/feminines. For each one, generate the corresponding plural. `field` is the name of the field
-- containing the masculine or feminine forms (normally "m" or "f"); `inflect` is a function of one or two arguments
-- to generate the default masculine or feminine from the lemma (the arguments are the lemma and optionally a
-- "special" flag to indicate how to handle multiword lemmas, and the function is normally make_feminine or
-- make_masculine from [[Module:pt-common]]); and `default_plurals` is a list into which the corresponding default
-- plurals of the gathered or generated masculine or feminine forms are stored.
local function handle_mf(field, inflect, default_plurals)
local mfs = m_headword_utilities.parse_term_list_with_modifiers {
paramname = field,
forms = args[field],
splitchar = ",",
frob = function(term)
if term == "+" then
-- Generate default masculine/feminine.
term = inflect(lemma)
else
term = replace_hash_with_lemma(term, lemma)
end
local special = require(romut_module).get_special_indicator(term)
if special then
term = inflect(lemma, special)
end
return term
end
}
for _, mf in ipairs(mfs) do
local plobj = m_table.shallowCopy(mf)
plobj.term = make_plural(mf.term, special)
-- Add an accelerator for each masculine/feminine plural whose lemma is the corresponding singular, so that
-- the accelerated entry that is generated has a definition that looks like
-- # {{plural of|pt|MFSING}}
plobj.accel = {form = "p", lemma = mf.term}
insert(default_plurals, plobj)
end
return mfs
end
local feminine_plurals = {}
local feminines = handle_mf("f", com.make_feminine, feminine_plurals)
local masculine_plurals = {}
local masculines = handle_mf("m", com.make_masculine, masculine_plurals)
local function handle_mf_plural(mfplfield, default_plurals, singulars)
local mfpl = m_headword_utilities.parse_term_list_with_modifiers {
paramname = mfplfield,
forms = args[mfplfield],
splitchar = ",",
}
if is_plurale_tantum then
return mfpl
end
local new_mfpls = {}
local saw_plus
for i, mfpl in ipairs(mfpl) do
local accel
if #mfpl == #singulars then
-- If same number of overriding masculine/feminine plurals as singulars, assume each plural goes with
-- the corresponding singular and use each corresponding singular as the lemma in the accelerator. The
-- generated entry will have
-- # {{plural of|pt|SINGULAR}}
-- as the definition.
accel = {form = "p", lemma = singulars[i].term}
else
accel = nil
end
if mfpl.term == "+" then
-- We should never see + twice. If we do, it will lead to problems since we overwrite the values of
-- default_plurals the first time around.
if saw_plus then
error(("Saw + twice when handling %s="):format(mfplfield))
end
saw_plus = true
if not default_plurals[1] then
-- FIXME: Can this happen? Not in corresponding Spanish code and the old Portuguese code tried to
-- handle this condition by generating the default plural from the lemma.
error("Internal error: Something wrong, no generated default m/f plurals at this stage")
end
for _, defpl in ipairs(default_plurals) do
-- defpl is already a table and has an accel field
m_headword_utilities.combine_termobj_qualifiers_labels(defpl, mfpl)
insert(new_mfpls, defpl)
end
elseif mfpl.term:find("^%+") then
mfpl.term = require(romut_module).get_special_indicator(mfpl.term)
for _, mf in ipairs(singulars) do
local mfplobj = m_table.shallowCopy(mfpl)
mfplobj.term = make_plural(mf.term, mfpl.term)
mfplobj.accel = accel
m_headword_utilities.combine_termobj_qualifiers_labels(mfplobj, mf)
insert(new_mfpls, mfplobj)
end
else
mfpl.accel = accel
mfpl.term = replace_hash_with_lemma(mfpl.term, lemma)
insert(new_mfpls, mfpl)
end
end
return new_mfpls
end
if args.fpl[1] then
-- Override any existing feminine plurals.
feminine_plurals = handle_mf_plural("fpl", feminine_plurals, feminines)
end
if args.mpl[1] then
-- Override any existing masculine plurals.
masculine_plurals = handle_mf_plural("mpl", masculine_plurals, masculines)
end
local function parse_and_insert_noun_inflection(field, label, accel)
parse_and_insert_inflection(data, args, field, label, accel)
end
insert_noun_inflection(feminines, "ဣတ္တိလိၚ်", "f")
insert_noun_inflection(feminine_plurals, "ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်")
insert_noun_inflection(masculines, "ပုလ္လိၚ်")
insert_noun_inflection(masculine_plurals, "ကိုန်ဗဟုဝစ်ပုလ္လိၚ်")
if is_metaphonic(args, lemma) then
insert(data.inflections, {label = metaphonic_label})
-- insert(data.categories, langname .. " " .. category_plpos .. " with metaphony")
end
parse_and_insert_noun_inflection("dim", "လဟုတ်စှ်ေ")
parse_and_insert_noun_inflection("aug", "ပရေၚ်မဖပေၚ်တိုန်")
parse_and_insert_noun_inflection("pej", "စမ်ၜတ်ရံၚ်")
parse_and_insert_noun_inflection("dem", "အပၠေံရုပ်ရာ")
parse_and_insert_noun_inflection("fdem", "အပၠေံရုပ်ရာဣတ္တိလိၚ်")
-- Maybe add category 'Portuguese nouns with irregular gender' (or similar)
local irreg_gender_lemma = com.rsub(lemma, " .*", "") -- only look at first word
if (rfind(irreg_gender_lemma, "[^ã]o$") and (gender_for_irreg_ending == "f" or gender_for_irreg_ending == "mf")) or
(irreg_gender_lemma:find("a$") and (gender_for_irreg_ending == "m" or gender_for_irreg_ending == "mf")) then
insert(data.categories, langname .. " " .. category_plpos .. " with irregular gender")
end
end
local function get_noun_params(is_proper)
return {
[1] = {list = "g", disallow_holes = true, required = not is_proper, default = "?", type = "genders",
flatten = true},
[2] = {list = "pl", disallow_holes = true},
["m"] = list_param,
["f"] = list_param,
["mpl"] = list_param,
["fpl"] = list_param,
["dim"] = list_param, --diminutive(s)
["aug"] = list_param, --diminutive(s)
["pej"] = list_param, --pejorative(s)
["dem"] = list_param, --demonym(s)
["fdem"] = list_param, --female demonym(s)
["meta"] = boolean_param, -- metaphonic
["nometa"] = boolean_param, -- explicitly not metaphonic
}
end
pos_functions["နာမ်"] = {
params = get_noun_params(),
func = do_noun,
}
pos_functions["နာမ်မကိတ်ညဳ"] = {
params = get_noun_params("is proper"),
func = function(args, data)
do_noun(args, data, "is proper noun")
end,
}
-----------------------------------------------------------------------------------------
-- Pronouns --
-----------------------------------------------------------------------------------------
local function do_pronoun(args, data)
local lemma = data.pagename
validate_genders(args[1])
data.genders = args[1]
local function do_inflection(field, label, accel)
parse_and_insert_inflection(data, args, field, label, accel)
end
do_inflection("m", "ပုလ္လိၚ်")
do_inflection("f", "ဣတ္တိလိၚ်")
do_inflection("sg", "ကိုန်ဨကဝုစ်")
do_inflection("pl", "ကိုန်ဗဟုဝစ်")
do_inflection("mpl", "ကိုန်ဗဟုဝစ်ပုလ္လိၚ်")
do_inflection("fpl", "ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်")
do_inflection("n", "နပုလ္လိၚ်")
end
local function get_pronoun_params()
local params = {
[1] = {list = "g", disallow_holes = true, type = "genders", flatten = true}, --gender(s)
["m"] = list_param, --masculine form(s)
["f"] = list_param, --feminine form(s)
["sg"] = list_param, --singular form(s)
["pl"] = list_param, --plural form(s)
["mpl"] = list_param, --masculine plural form(s)
["fpl"] = list_param, --feminine plural form(s)
["n"] = list_param, --neuter form(s)
}
return params
end
pos_functions["သဗ္ဗနာမ်"] = {
params = get_pronoun_params(),
func = do_pronoun,
}
-----------------------------------------------------------------------------------------
-- Adjectives --
-----------------------------------------------------------------------------------------
-- Handle comparatives and superlatives for adjectives and adverbs, including user-specified comparatives and
-- superlatives, default-requested comparatives/superlatives using '+', autogenerated comparatives/superlatives,
-- and hascomp=. Code is the same for adjectives and adverbs.
local function handle_adj_adv_comp(args, data, plpos, is_adv)
local lemma = data.pagename
local stem
if is_adv then
stem = com.rsub(lemma, "mente$", "")
else
stem = lemma
end
local function insert_inflection(terms, label, accel)
m_headword_utilities.insert_inflection {
headdata = data,
terms = terms,
label = label,
accel = accel and {form = accel} or nil,
}
end
local function make_absolute_superlative(special)
if is_adv then
return com.make_adverbial_absolute_superlative(stem, special)
else
return com.make_absolute_superlative(stem, special)
end
end
-- Maybe autogenerate default comparative/superlative.
local comp, sup
if args.comp and args.sup then-- comp= and sup= were given as options to the user
-- If no comp, but a non-default sup given, then add the default comparative/superlative.
-- This is useful when an absolute superlative is given.
comp = m_headword_utilities.parse_term_list_with_modifiers {
paramname = "တုဲဒှ်",
forms = args.comp,
splitchar = ",",
}
sup = m_headword_utilities.parse_term_list_with_modifiers {
paramname = "ညိည",
forms = args.sup,
splitchar = ",",
}
local saw_sup_plus = false
if not comp[1] and sup[1] then
for _, supval in ipairs(sup) do
if supval.term == "+" then
saw_sup_plus = true
end
end
if not saw_sup_plus then
comp = {{term = "+"}}
insert(sup, 1, {term = "+"})
end
end
-- If comp=+, use default comparative 'mais ...', and set a default superlative if unspecified.
local saw_comp_plus = false
for _, compval in ipairs(comp) do
if compval.term == "+" then
saw_comp_plus = true
compval.term = "[[mais]] [[" .. lemma .. "]]"
end
end
if saw_comp_plus and not sup[1] then
sup = {{term = "+"}}
end
-- If sup=+ (possibly from comp=+), use default superlative 'o mais ...'. Also handle absolute superlatives.
for _, supval in ipairs(sup) do
if supval.term == "+" then
supval.term = "[[o]] [[mais]] [[" .. lemma .. "]]"
elseif supval.term == "+abs" then
supval.term = make_absolute_superlative()
elseif rfind(supval.term, "^%+abs:") then
local sp = rmatch(supval.term, "^%+abs:(.*)$")
supval.term = make_absolute_superlative(sp)
end
end
end
if args.hascomp then
if args.hascomp == "both" then
insert(data.inflections, {label = "မတော်မာန်" .. glossary_link("အရာမွဲမွဲသာ်")})
insert(data.categories, category_plpos .. langname .. "မတော်ဂွံဂမၠိုၚ်")
insert(data.categories, category_plpos .. langname .. "မတော်ဟွံဂွံဂမၠိုၚ်")
else
local hascomp = require("Module:yesno")(args.hascomp)
if hascomp == true then
insert(data.inflections, {label = glossary_link("မတော်မာန်")})
insert(data.categories, category_plpos .. langname .. "မတော်ဂွံဂမၠိုၚ်")
elseif hascomp == false then
insert(data.inflections, {label = "မတော်မာန်" .. glossary_link("ဟွံသေၚ်")})
insert(data.categories, category_plpos .. langname .. "မတော်ဟွံဂွံဂမၠိုၚ်")
else
error("Unrecognized value for hascomp=: " .. args.hascomp)
end
end
elseif comp and comp[1] or sup and sup[1] then
insert(data.inflections, {label = glossary_link("ပတဝ်ပတုပ်ရံၚ်")})
insert(data.categories, category_plpos .. langname .. "ပွမပတဝ်ပတုပ်ရံၚ်ဂမၠိုၚ်")
end
insert_inflection(comp, "ပတဝ်ပတုပ်ရံၚ်")
insert_inflection(sup, "သဒ္ဒာ")
end
local function do_adjective(args, data, is_superlative)
local feminines = {}
local masculine_plurals = {}
local feminine_plurals = {}
-- Use "participle" not "past participle" for categories such as 'invariable participles'
local category_plpos = data.checkredlinks
if category_plpos == true then
category_plpos = data.pos_category
end
local category_pos = m_en_utilities.singularize(category_plpos)
if args.sp then
local romut = require(romut_module)
if not romut.allowed_special_indicators[args.sp] then
local indicators = {}
for indic, _ in pairs(romut.allowed_special_indicators) do
insert(indicators, "'" .. indic .. "'")
end
table.sort(indicators)
error("Special inflection indicator beginning can only be " ..
mw.text.listToText(indicators) .. ": " .. args.sp)
end
end
local lemma = data.pagename
local function fetch_inflections(field)
local retval = m_headword_utilities.parse_term_list_with_modifiers {
paramname = field,
forms = args[field],
splitchar = ",",
}
if not retval[1] then
return {{term = "+"}}
end
return retval
end
local function insert_inflection(terms, label, accel)
m_headword_utilities.insert_inflection {
headdata = data,
terms = terms,
label = label,
accel = accel and {form = accel} or nil,
}
end
if args.short then
insert(data.inflections, {label = "[[:en:Appendix:Portuguese verbs#Participles|လုပ်ကၠောန်စွံလဝ်ဓမၠေံ]]"})
end
if args.inv then
-- invariable adjective
insert(data.inflections, {label = glossary_link("ပြံၚ်လှာဲဟွံမာန်")})
insert(data.categories, category_plpos .. langname .. "မပါ်ပါဲထောံဟွံဂွံဂမၠိုၚ်")
if args.sp or args.f[1] or args.pl[1] or args.mpl[1] or args.fpl[1] then
error("Can't specify inflections with an invariable " .. category_pos)
end
elseif args.fonly then
-- feminine-only
if args.f[1] then
error("Can't specify explicit feminines with feminine-only " .. category_pos)
end
if args.pl[1] then
error("Can't specify explicit plurals with feminine-only " .. category_pos .. ", use fpl=")
end
if args.mpl[1] then
error("Can't specify explicit masculine plurals with feminine-only " .. category_pos)
end
local argsfpl = fetch_inflections("fpl")
for _, fpl in ipairs(argsfpl) do
if fpl.term == "+" then
fpl.term = make_plural(lemma, args.sp)
else
fpl.term = replace_hash_with_lemma(fpl.term, lemma)
end
insert(feminine_plurals, fpl)
end
insert(data.inflections, {label = "ပါဲနူ-ဣတ္တိလိ"})
insert_inflection(feminine_plurals, "ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်", "f|p")
else
-- Gather feminines.
for _, f in ipairs(fetch_inflections("f")) do
if f.term == "+" then
-- Generate default feminine.
f.term = com.make_feminine(lemma, args.sp)
else
f.term = replace_hash_with_lemma(f.term, lemma)
end
insert(feminines, f)
end
local fem_like_lemma = #feminines == 1 and feminines[1].term == lemma and
not m_headword_utilities.termobj_has_qualifiers_or_labels(feminines[1])
if fem_like_lemma then
-- insert(data.categories, langname .. " epicene " .. category_plpos)
end
local mpl_field = "mpl"
local fpl_field = "fpl"
if args.pl[1] then
if args.mpl[1] or args.fpl[1] then
error("Can't specify both pl= and mpl=/fpl=")
end
mpl_field = "pl"
fpl_field = "pl"
end
local argsmpl = fetch_inflections(mpl_field)
local argsfpl = fetch_inflections(fpl_field)
for _, mpl in ipairs(argsmpl) do
if mpl.term == "+" then
-- Generate default masculine plural.
mpl.term = make_plural(lemma, args.sp)
else
mpl.term = replace_hash_with_lemma(mpl.term, lemma)
end
insert(masculine_plurals, mpl)
end
for _, fpl in ipairs(argsfpl) do
if fpl.term == "+" then
for _, f in ipairs(feminines) do
-- Generate default feminine plural; f is a table.
local fplobj = m_table.shallowCopy(fpl)
fplobj.term = make_plural(f.term, args.sp)
m_headword_utilities.combine_termobj_qualifiers_labels(fplobj, f)
insert(feminine_plurals, fplobj)
end
else
fpl.term = replace_hash_with_lemma(fpl.term, lemma)
insert(feminine_plurals, fpl)
end
end
local fem_pl_like_masc_pl = masculine_plurals[1] and feminine_plurals[1] and
m_table.deepEquals(masculine_plurals, feminine_plurals)
local masc_pl_like_lemma = #masculine_plurals == 1 and masculine_plurals[1].term == lemma and
not m_headword_utilities.termobj_has_qualifiers_or_labels(masculine_plurals[1])
if fem_like_lemma and fem_pl_like_masc_pl and masc_pl_like_lemma then
-- actually invariable
insert(data.inflections, {label = glossary_link("ပြံၚ်လှာဲဟွံမာန်")})
insert(data.categories, plpos .. langname .. "နကဵုပါ်ပါဲထောံဟွံမာန်ဂမၠိုၚ်")
else
-- Make sure there are feminines given and not same as lemma.
if not fem_like_lemma then
insert_inflection(feminines, "ဣတ္တိလိၚ်", "f|s")
elseif args.gneut then
data.genders = {"gneut"}
else
data.genders = {"mf"}
end
if fem_pl_like_masc_pl then
if args.gneut then
insert_inflection(masculine_plurals, "ကိုန်ဗဟုဝစ်", "p")
else
-- This is how the Spanish module works.
-- insert_inflection(masculine_plurals, "ဣတ္တိလိၚ် ကဵု ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်", "p")
insert_inflection(masculine_plurals, "ကိုန်ဗဟုဝစ်", "p")
end
else
insert_inflection(masculine_plurals, "ကိုန်ဗဟုဝစ်ပုလ္လိၚ်", "m|p")
insert_inflection(feminine_plurals, "ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်", "f|p")
end
end
end
local function parse_and_insert_adj_inflection(field, label, accel, frob)
parse_and_insert_inflection(data, args, field, label, accel, frob)
end
parse_and_insert_adj_inflection("n", "နပုလ္လိၚ်")
handle_adj_adv_comp(args, data, category_plpos, false)
parse_and_insert_adj_inflection("dim", "လဟုတ်စှ်ေ", nil, function(term)
if term == "+" then
term = com.make_diminutive(lemma)
elseif term:find("^%+") then
term = require(romut_module).get_special_indicator(term)
term = com.make_diminutive(lemma, term)
end
return term
end)
parse_and_insert_adj_inflection("aug", "ပရေၚ်ဇၞော်မောဝ်တိုန်", nil, function(term)
if term == "+" then
term = com.make_augmentative(lemma)
elseif term:find("^%+") then
term = require(romut_module).get_special_indicator(term)
term = com.make_augmentative(lemma, term)
end
return term
end)
if is_metaphonic(args, lemma) then
insert(data.inflections, {label = metaphonic_label})
-- insert(data.categories, langname .. " " .. category_plpos .. " with metaphony")
end
if args.irreg and is_superlative then
-- insert(data.categories, langname .. " irregular superlative " .. category_plpos)
end
end
local function get_adjective_params(adjtype)
local params = {
["inv"] = boolean_param, --invariable
["sp"] = true, -- special indicator: "first", "first-last", etc.
["f"] = list_param, --feminine form(s)
["pl"] = list_param, --plural override(s)
["mpl"] = list_param, --masculine plural override(s)
["fpl"] = list_param, --feminine plural override(s)
["meta"] = boolean_param, -- metaphonic
["nometa"] = boolean_param, -- explicitly not metaphonic
}
if adjtype == "base" then
params["comp"] = list_param --comparative(s)
params["sup"] = list_param --superlative(s)
params["dim"] = list_param --diminutive(s)
params["aug"] = list_param --augmentative(s)
params["fonly"] = boolean_param -- feminine only
params["gneut"] = boolean_param -- gender-neutral adjective e.g. [[latine]] (FIXME: do these exist in Portuguese?)
params["hascomp"] = true -- has comparative
end
if adjtype == "part" then
params["short"] = boolean_param -- short participle
end
if adjtype == "sup" then
params["irreg"] = boolean_param
end
if adjtype == "pron" or adjtype == "contr" then
params["n"] = list_param --neuter form(s)
end
return params
end
pos_functions["နာမဝိသေသန"] = {
params = get_adjective_params("base"),
func = do_adjective,
}
pos_functions["နာမဝိသေသနပတုပ်ရံၚ်"] = {
params = get_adjective_params("comp"),
func = do_adjective,
pos_category = "နာမဝိသေသန",
}
pos_functions["သဒ္ဒာနာမဝိသေသန"] = {
params = get_adjective_params("sup"),
func = function(args, data)
do_adjective(args, data, "is superlative")
end,
pos_category = "နာမဝိသေသန",
}
pos_functions["လုပ်ကၠောန်စွံလဝ်နကဵုအတိက်"] = {
params = get_adjective_params("part"),
func = do_adjective,
redlink_pos = "လုပ်ကၠောန်စွံလဝ်",
}
pos_functions["ဖျေံလဝ်သန္နိဋ္ဌာန်"] = {
params = get_adjective_params("det"),
func = do_adjective,
}
pos_functions["adjective-like pronouns"] = {
params = get_adjective_params("pron"),
func = do_adjective,
pos_category = "သဗ္ဗနာမ်",
}
pos_functions["adjective-like contractions"] = {
params = get_adjective_params("contr"),
func = do_adjective,
pos_category = "သမ္ဗန္ဓ",
}
-----------------------------------------------------------------------------------------
-- Adverbs --
-----------------------------------------------------------------------------------------
local function do_adverb(args, data)
handle_adj_adv_comp(args, data, "ကြိယာဝိသေသန", "is adv")
end
local function get_adverb_params(advtype)
local params = {}
if advtype == "base" then
params["တုဲဒှ်"] = list_param --comparative(s)
params["ညိည"] = list_param --superlative(s)
params["hascomp"] = true -- has comparative
end
return params
end
pos_functions["ကြိယာဝိသေသန"] = {
params = get_adverb_params("base"),
func = do_adverb,
}
pos_functions["ကြိယာဝိသေသနပတုပ်ရံၚ်"] = {
params = get_adverb_params("comp"),
func = do_adverb,
pos_category = "adverbs",
}
pos_functions["သဒ္ဒာကြိယာဝိသေသန"] = {
params = get_adverb_params("sup"),
func = do_adverb,
pos_category = "adverbs",
}
-----------------------------------------------------------------------------------------
-- Verbs --
-----------------------------------------------------------------------------------------
pos_functions["ကြိယာ"] = {
params = {
[1] = true,
["pres"] = list_param, --present
["pres_qual"] = {list = "pres\1_qual", allow_holes = true},
["pres3s"] = list_param, --third-singular present
["pres3s_qual"] = {list = "pres3s\1_qual", allow_holes = true},
["pret"] = list_param, --preterite
["pret_qual"] = {list = "pret\1_qual", allow_holes = true},
["part"] = list_param, --participle
["part_qual"] = {list = "part\1_qual", allow_holes = true},
["short_part"] = list_param, --short participle
["short_part_qual"] = {list = "short_part\1_qual", allow_holes = true},
["noautolinktext"] = boolean_param,
["noautolinkverb"] = boolean_param,
["attn"] = boolean_param,
},
func = function(args, data, frame)
local preses, preses_3s, prets, parts, short_parts
if args.attn then
-- insert(data.categories, "Requests for attention concerning " .. langname)
return
end
local pt_verb = require(pt_verb_module)
local alternant_multiword_spec = pt_verb.do_generate_forms(args, "pt-verb", data.heads[1])
local specforms = alternant_multiword_spec.forms
local function slot_exists(slot)
return specforms[slot] and #specforms[slot] > 0
end
local function do_finite(slot_tense, label_tense)
-- Use pres_3s if it exists and pres_1s doesn't exist (e.g. impersonal verbs); similarly for pres_3p
-- (only3p verbs); but fall back to pres_1s if neither pres_1s nor pres_3s nor pres_3p exist (e.g.
-- [[empedernir]]).
local has_1s = slot_exists(slot_tense .. "_1s")
local has_3s = slot_exists(slot_tense .. "_3s")
local has_3p = slot_exists(slot_tense .. "_3p")
if has_1s or (not has_3s and not has_3p) then
return {
slot = slot_tense .. "_1s",
label = ("ကိုန်ဨကဝုစ်ပူဂဵုပထမ %s"):format(label_tense),
}, true
elseif has_3s then
return {
slot = slot_tense .. "_3s",
label = ("ကိုန်ဨကဝုစ်ပူဂဵုတတိယ %s"):format(label_tense),
}, false
else
return {
slot = slot_tense .. "_3p",
label = ("ကိုန်ဗဟုဝစ်ပူဂဵုတတိယ %s"):format(label_tense),
}, false
end
end
local did_pres_1s
preses, did_pres_1s = do_finite("pres", "ပစ္စုပ္ပန်")
preses_3s = {
slot = "pres_3s",
label = "ကိုန်ဨကဝုစ်ပစ္စုပ္ပန်ပူဂဵုတတိယ",
}
prets = do_finite("pret", "မပြဟ်လောန်")
parts = {
slot = "pp_ms",
label = "လုပ်ကၠောန်စွံလဝ်နကဵုအတိက်",
}
short_parts = {
slot = "short_pp_ms",
label = "လုပ်ကၠောန်စွံလဝ်နကဵုအတိက်ဓမၠေံ",
}
if args.pres[1] or args.pres3s[1] or args.pret[1] or args.part[1] or args.short_part[1] then
track("verb-old-multiarg")
end
local function strip_brackets(qualifiers)
if not qualifiers then
return nil
end
local stripped_qualifiers = {}
for _, qualifier in ipairs(qualifiers) do
local stripped_qualifier = qualifier:match("^%[(.*)%]$")
if not stripped_qualifier then
error("Internal error: Qualifier should be surrounded by brackets at this stage: " .. qualifier)
end
insert(stripped_qualifiers, stripped_qualifier)
end
return stripped_qualifiers
end
local function do_verb_form(args, qualifiers, slot_desc, skip_if_empty)
local forms
local to_insert
if #args == 0 then
forms = specforms[slot_desc.slot]
if not forms or #forms == 0 then
if skip_if_empty then
return
end
forms = {{form = "-"}}
end
elseif #args == 1 and args[1] == "-" then
forms = {{form = "-"}}
else
forms = {}
for i, arg in ipairs(args) do
local qual = qualifiers[i]
if qual then
-- FIXME: It's annoying we have to add brackets and strip them out later. The inflection
-- code adds all footnotes with brackets around them; we should change this.
qual = {"[" .. qual .. "]"}
end
local form = arg
if not args.noautolinkverb then
-- [[Module:inflection utilities]] already loaded by [[Module:pt-verb]]
form = require(inflection_utilities_module).add_links(form)
end
insert(forms, {form = form, footnotes = qual})
end
end
if forms[1].form == "-" then
to_insert = {label = "no " .. slot_desc.label}
else
local into_table = {label = slot_desc.label}
for _, form in ipairs(forms) do
local qualifiers = strip_brackets(form.footnotes)
-- Strip redundant brackets surrounding entire form. These may get generated e.g.
-- if we use the angle bracket notation with a single word.
local stripped_form = rmatch(form.form, "^%[%[([^%[%]]*)%]%]$") or form.form
stripped_form = pt_verb.remove_variant_codes(stripped_form)
-- Don't include accelerators if brackets remain in form, as the result will be wrong.
-- FIXME: For now, don't include accelerators. We should use the new {{pt-verb form of}} once
-- implemented.
-- local this_accel = not stripped_form:find("%[%[") and accel or nil
local this_accel = nil
insert(into_table, {term = stripped_form, q = qualifiers, accel = this_accel})
end
to_insert = into_table
end
insert(data.inflections, to_insert)
end
local skip_pres_if_empty
if alternant_multiword_spec.no_pres1_and_sub then
insert(data.inflections, {label = "ကိုန်ဨကဝုစ်ပစ္စုပ္ပန်ပူဂဵုပထမဟွံသေၚ်"})
insert(data.inflections, {label = "အရေဝ်နိဒါန်ပစ္စုပ္ပန်ဟွံသေၚ်"})
end
if alternant_multiword_spec.no_pres_stressed then
insert(data.inflections, {label = "မသ္ပစၞောန်ပစ္စုပ္ပန်ကဆံၚ်ဇြိုဟ်နက်ဟွံသေၚ် ဝါ အရေဝ်နိဒါန်"})
skip_pres_if_empty = true
end
if alternant_multiword_spec.only3s then
insert(data.inflections, {label = glossary_link("ဟၟဲကဵုပစ္စဲပူဂဵု")})
elseif alternant_multiword_spec.only3sp then
insert(data.inflections, {label = "ပါဲနူပူဂဵုတတိယ"})
elseif alternant_multiword_spec.only3p then
insert(data.inflections, {label = "ပါဲနူကိုန်ဗဟုဝစ်ပူဂဵုတတိယ"})
end
local has_vowel_alt
if alternant_multiword_spec.vowel_alt then
for _, vowel_alt in ipairs(alternant_multiword_spec.vowel_alt) do
if vowel_alt ~= "+" and vowel_alt ~= "í" and vowel_alt ~= "ú" then
has_vowel_alt = true
break
end
end
end
do_verb_form(args.pres, args.pres_qual, preses, skip_pres_if_empty)
-- We want to include both the pres_1s and pres_3s if there is a vowel alternation in the present singular. But
-- we don't want to redundantly include the pres_3s if we already included it.
if did_pres_1s and has_vowel_alt then
do_verb_form(args.pres3s, args.pres3s_qual, preses_3s, skip_pres_if_empty)
end
do_verb_form(args.pret, args.pret_qual, prets)
do_verb_form(args.part, args.part_qual, parts)
do_verb_form(args.short_part, args.short_part_qual, short_parts, "skip if empty")
-- Add categories.
for _, cat in ipairs(alternant_multiword_spec.categories) do
insert(data.categories, cat)
end
-- If the user didn't explicitly specify head=, or specified exactly one head (not 2+) and we were able to
-- incorporate any links in that head into the 1= specification, use the infinitive generated by
-- [[Module:pt-verb]] in place of the user-specified or auto-generated head. This was copied from
-- [[Module:it-headword]], where doing this gets accents marked on the verb(s). We don't have accents marked on
-- the verb but by doing this we do get any footnotes on the infinitive propagated here. Don't do this if the
-- user gave multiple heads or gave a head with a multiword-linked verbal expression such as Italian
-- '[[dare esca]] [[al]] [[fuoco]]' (FIXME: give Portuguese equivalent).
if #data.user_specified_heads == 0 or (
#data.user_specified_heads == 1 and alternant_multiword_spec.incorporated_headword_head_into_lemma
) then
data.heads = {}
for _, lemma_obj in ipairs(alternant_multiword_spec.forms.infinitive_linked) do
local quals, refs = require(inflection_utilities_module).
convert_footnotes_to_qualifiers_and_references(lemma_obj.footnotes)
insert(data.heads, {term = lemma_obj.form, q = quals, refs = refs})
end
end
end
}
-----------------------------------------------------------------------------------------
-- Suffix forms --
-----------------------------------------------------------------------------------------
pos_functions["ဗီုပြၚ်အဆက်လက္ကရဴ"] = {
params = {
[1] = {required = true, list = true, disallow_holes = true},
["g"] = {list = true, disallow_holes = true, type = "genders", flatten = true},
},
func = function(args, data)
validate_genders(args.g)
data.genders = args.g
local suffix_type = {}
for _, typ in ipairs(args[1]) do
insert(suffix_type, typ .. "-forming suffix")
end
insert(data.inflections, {label = "non-lemma form of " .. m_table.serialCommaJoin(suffix_type, {conj = "or"})})
end,
}
return export
9xm519d9xbulo4cvom7ojpu6flymsz0
397382
397377
2026-06-22T07:41:57Z
咽頭べさ
33
397382
Scribunto
text/plain
-- This module contains code for Portuguese headword templates.
-- Templates covered are:
-- * {{pt-noun}}, {{pt-proper noun}};
-- * {{pt-verb}};
-- * {{pt-adj}}, {{pt-adj-comp}}, {{pt-adj-sup}};
-- * {{pt-det}};
-- * {{pt-pron-adj}};
-- * {{pt-contr-adj}};
-- * {{pt-pp}};
-- * {{pt-cardinal}};
-- * {{pt-adv}}.
-- See [[Module:pt-verb]] for Portuguese conjugation templates.
local export = {}
local pos_functions = {}
local force_cat = false -- for testing; if true, categories appear in non-mainspace pages
local m_strutils = require("Module:string utilities")
local require_when_needed = require("Module:require when needed")
local m_table = require("Module:table")
local com = require("Module:pt-common")
local en_utilities_module = "Module:en-utilities"
local headword_utilities_module = "Module:headword utilities"
local inflection_utilities_module = "Module:inflection utilities"
local romut_module = "Module:romance utilities"
local pt_verb_module = "Module:pt-verb"
local lang = require("Module:languages").getByCode("pt")
local langname = lang:getCanonicalName()
local m_en_utilities = require_when_needed(en_utilities_module)
local m_headword_utilities = require_when_needed(headword_utilities_module)
local glossary_link = require_when_needed(headword_utilities_module, "glossary_link")
local insert = table.insert
local rfind = m_strutils.find
local rmatch = m_strutils.match
local ulower = m_strutils.lower
local usub = m_strutils.sub
local uupper = m_strutils.upper
-- When followed by a hyphen in a hyphenated compound, the hyphen will be included with the prefix when linked.
local include_hyphen_prefixes = m_table.listToSet {
"ab",
"afro",
"anarco",
"anglo",
"ântero",
"anti",
"auto",
"contra",
"ex",
"franco",
"hiper",
"infra",
"inter",
"intra",
"macro",
"micro",
"neo",
"pan",
"pós",
"pré",
"pró",
"proto",
"sobre",
"sub",
"super",
"vice",
}
-----------------------------------------------------------------------------------------
-- Utility functions --
-----------------------------------------------------------------------------------------
local function track(page)
require("Module:debug/track")("pt-headword/" .. page)
return true
end
local list_param = {list = true, disallow_holes = true}
local boolean_param = {type = "boolean"}
local metaphonic_label = "[[:en:Appendix:Portuguese pronunciation#Metaphony|မေတ်တာဖဝ်နေတ်]]"
local function make_plural(sg, special)
local pl = com.make_plural(sg, special)
if not pl then
error(("Internal error: Unable to generate default plural of '%s'"):format(sg))
end
return pl
end
-- Parse and insert an inflection not requiring additional processing into `data.inflections`. The raw arguments come
-- from `args[field]`, which is parsed for inline modifiers. `label` is the label that the inflections are given;
-- `plpos` is the plural part of speech, used in [[Category:LANGNAME PLPOS with red links in their headword lines]].
-- `accel` is the accelerator form, or nil.
local function parse_and_insert_inflection(data, args, field, label, accel, frob)
m_headword_utilities.parse_and_insert_inflection {
headdata = data,
forms = args[field],
paramname = field,
splitchar = ",",
include_mods = {"g"},
label = label,
accel = accel and {form = accel} or nil,
frob = frob,
}
end
-- The main entry point.
-- This is the only function that can be invoked from a template.
function export.show(frame)
local poscat = frame.args[1] or error("Part of speech has not been specified. Please pass parameter 1 to the module invocation.")
local parargs = frame:getParent().args
local params = {
["head"] = list_param,
["id"] = true,
["json"] = boolean_param,
["splithyph"] = boolean_param,
["nolinkhead"] = boolean_param,
["nolink"] = {type = "boolean", alias_of = "nolinkhead"},
["abbr"] = list_param,
["pagename"] = true, -- for testing
}
if pos_functions[poscat] then
for key, val in pairs(pos_functions[poscat].params) do
params[key] = val
end
end
local args = require("Module:parameters").process(parargs, params)
local pagename = args.pagename or mw.loadData("Module:headword/data").pagename
local user_specified_heads = args.head
local heads = user_specified_heads
if args.nolinkhead then
if #heads == 0 then
heads = {pagename}
end
else
local romut = require(romut_module)
local auto_linked_head = romut.add_links_to_multiword_term(pagename, args.splithyph, nil,
include_hyphen_prefixes)
if #heads == 0 then
heads = {auto_linked_head}
else
for i, head in ipairs(heads) do
if head:find("^~") then
head = romut.apply_link_modifiers(auto_linked_head, usub(head, 2))
heads[i] = head
end
end
end
end
local data = {
lang = lang,
pos_category = pos_functions[poscat] and pos_functions[poscat].pos_category or poscat,
categories = {},
heads = heads,
user_specified_heads = user_specified_heads,
no_redundant_head_cat = #user_specified_heads == 0,
genders = {},
inflections = {},
pagename = pagename,
id = args.id,
force_cat_output = force_cat,
checkredlinks = pos_functions[poscat] and pos_functions[poscat].redlink_pos or true,
}
if pagename:find("^%-") and poscat ~= "ဗီုပြၚ်အဆက်လက္ကရဴ" then
data.is_suffix = true
data.pos_category = "အဆက်လက္ကရဴ"
data.checkredlinks = true
-- local singular_poscat = m_en_utilities.singularize(poscat)
-- insert(data.categories, langname .. " " .. singular_poscat .. "-forming suffixes")
-- insert(data.inflections, {label = singular_poscat .. "-forming suffix"})
end
local pagename_lower = ulower(pagename)
for _, ch in ipairs{"gü", "jh", "kh", "ph", "qü", "sh", "th", "tl", "ts", "tz", "wh", "zh"} do
if pagename_lower:find(ch) then
-- insert(data.categories, langname .. " terms spelled with " .. uupper(ch))
end
end
if pos_functions[poscat] then
pos_functions[poscat].func(args, data)
end
parse_and_insert_inflection(data, args, "abbr", "နဲကဲပွမဒမၠေံ")
if args.json then
return require("Module:JSON").toJSON(data)
end
return require("Module:headword").full_headword(data)
end
local function replace_hash_with_lemma(term, lemma)
-- If there is a % sign in the lemma, we have to replace it with %% so it doesn't get interpreted as a capture replace
-- expression.
lemma = lemma:gsub("%%", "%%%%")
return (term:gsub("#", lemma))
end
local function is_metaphonic(args, lemma)
if args.nometa then
return false
end
if args.meta then
return true
end
-- Anything in -oso with a preceding vowel (e.g. [[gostoso]], [[curioso]]) is normally metaphonic.
return rfind(lemma, com.V .. ".*oso$")
end
-----------------------------------------------------------------------------------------
-- Nouns --
-----------------------------------------------------------------------------------------
local allowed_genders = m_table.listToSet(
{"m", "f", "mf", "mfbysense", "mfequiv", "gneut", "n", "m-p", "f-p", "mf-p", "mfbysense-p", "mfequiv-p", "gneut-p", "n-p", "?", "?-p"}
)
local function validate_genders(genders)
for _, g in ipairs(genders) do
if type(g) == "table" then
g = g.spec
end
if not allowed_genders[g] then
error("Unrecognized gender: " .. g)
end
end
end
local function do_noun(args, data, is_proper)
local is_plurale_tantum = false
local has_singular = false
local category_plpos = data.checkredlinks
if category_plpos == true then
category_plpos = data.pos_category
end
local category_pos = m_en_utilities.singularize(category_plpos)
validate_genders(args[1])
data.genders = args[1]
local saw_m = false
local saw_f = false
local saw_gneut = false
local gender_for_irreg_ending
-- Check for specific genders and pluralia tantum.
for _, g in ipairs(args[1]) do
if type(g) == "table" then
g = g.spec
end
if g:find("-p$") then
is_plurale_tantum = true
else
has_singular = true
if g == "m" or g == "mf" or g == "mfbysense" then
saw_m = true
end
if g == "f" or g == "mf" or g == "mfbysense" then
saw_f = true
end
if g == "gneut" then
saw_gneut = true
end
end
end
if saw_m and saw_f then
gender_for_irreg_ending = "mf"
elseif saw_f then
gender_for_irreg_ending = "f"
else
gender_for_irreg_ending = "m"
end
local lemma = data.pagename
local plurals = {}
local function insert_noun_inflection(terms, label, accel)
m_headword_utilities.insert_inflection {
headdata = data,
terms = terms,
label = label,
accel = accel and {form = accel} or nil,
}
end
if is_plurale_tantum and not has_singular then
if args[2][1] then
error("Can't specify plurals of plurale tantum " .. category_pos)
end
insert(data.inflections, {label = glossary_link("ပါဲနူကိုန်ဗဟုဝစ်")})
else
plurals = m_headword_utilities.parse_term_list_with_modifiers {
paramname = {2, "pl"},
forms = args[2],
splitchar = ",",
}
-- Check for special plural signals
local mode = nil
local pl1 = plurals[1]
if pl1 and #pl1.term == 1 then
mode = pl1.term
if mode == "?" or mode == "!" or mode == "-" or mode == "~" then
pl1.term = nil
if next(pl1) then
error(("Can't specify inline modifiers with plural code '%s'"):format(mode))
end
table.remove(plurals, 1) -- Remove the mode parameter
elseif mode ~= "+" and mode ~= "#" then
error(("Unexpected plural code '%s'"):format(mode))
end
end
if is_plurale_tantum then
-- both singular and plural
insert(data.inflections, {label = "ပါဲနူကိုန်ဗဟုဝစ်" .. glossary_link("လ္ၚဵုလ္ၚဵု") .. ", in variation"})
end
if mode == "?" then
-- Plural is unknown
insert(data.categories, category_plpos .. langname .. "မနွံကဵုကိုန်ဗဟုဝစ်ဟွံတီကၠး ဝါ ဟွံချိုတ်ပၠိုတ်ဂမၠိုၚ်")
elseif mode == "!" then
-- Plural is not attested
insert(data.inflections, {label = "plural not attested"})
insert(data.categories, category_plpos .. langname .. "မနွံကဵုကိုန်ဗဟုဝစ်ဟွံဒးစုတ်စရၚ်စေဝ်စၞောန်ဂမၠိုၚ်")
if plurals[1] then
error("Can't specify any plurals along with unattested plural code '!'")
end
elseif mode == "-" then
-- Uncountable noun; may occasionally have a plural
insert(data.categories, category_plpos .. langname .. "မတော်ဟွံဂွံဂမၠိုၚ်")
-- If plural forms were given explicitly, then show "usually"
if plurals[1] then
insert(data.inflections, {label = "ဗွဲတၟေၚ်" .. glossary_link("မတော်ဟွံမာန်")})
insert(data.categories, category_plpos .. langname .. "မတော်ဂွံဂမၠိုၚ်")
else
insert(data.inflections, {label = glossary_link("မတော်ဟွံမာန်")})
end
else
-- Countable or mixed countable/uncountable
if not plurals[1] and not is_proper then
plurals[1] = {term = "+"}
end
if mode == "~" then
-- Mixed countable/uncountable noun, always has a plural
insert(data.inflections, {label = glossary_link("မတော်မာန်") .. " and " .. glossary_link("မတော်ဟွံမာန်")})
insert(data.categories, category_plpos .. langname .. "မတော်ဟွံဂွံဂမၠိုၚ်")
insert(data.categories, category_plpos .. langname .. "မတော်ဂွံဂမၠိုၚ်")
elseif plurals[1] then
-- Countable nouns
insert(data.categories, category_plpos .. langname .. "မတော်ဂွံဂမၠိုၚ်")
else
-- Uncountable nouns
insert(data.categories, category_plpos .. langname .. "မတော်ဟွံဂွံဂမၠိုၚ်")
end
end
-- Gather plurals, handling requests for default plurals.
local has_default_or_hash = false
for _, pl in ipairs(plurals) do
if pl.term:find("^%+") or pl.term:find("#") then
has_default_or_hash = true
break
end
end
if has_default_or_hash then
for _, pl in ipairs(plurals) do
if pl.term == "+" then
pl.term = make_plural(lemma)
elseif pl.term:find("^%+") then
pl.term = require(romut_module).get_special_indicator(pl.term)
pl.term = make_plural(lemma, pl.term)
else
pl.term = replace_hash_with_lemma(pl.term, lemma)
end
end
end
local pl1 = plurals[1]
if pl1 and not plurals[2] and pl1.term == lemma then
insert(data.inflections, {label = glossary_link("ပါ်ပါဲထောံဟွံမာန်"),
q = pl1.q, qq = pl1.qq, l = pl1.l, ll = pl1.ll, refs = pl1.refs
})
insert(data.categories, category_plpos .. langname .. "နကဵုပါ်ပါဲထောံဟွံမာန်ဂမၠိုၚ်")
else
insert_noun_inflection(plurals, "ကိုန်ဗဟုဝစ်", "p")
end
if plurals[2] then
insert(data.categories, category_plpos .. langname .. "မနွံမဂၠိုၚ်ကဵုကိုန်ဗဟုဝစ်ဂမၠိုၚ်")
end
end
-- Gather masculines/feminines. For each one, generate the corresponding plural. `field` is the name of the field
-- containing the masculine or feminine forms (normally "m" or "f"); `inflect` is a function of one or two arguments
-- to generate the default masculine or feminine from the lemma (the arguments are the lemma and optionally a
-- "special" flag to indicate how to handle multiword lemmas, and the function is normally make_feminine or
-- make_masculine from [[Module:pt-common]]); and `default_plurals` is a list into which the corresponding default
-- plurals of the gathered or generated masculine or feminine forms are stored.
local function handle_mf(field, inflect, default_plurals)
local mfs = m_headword_utilities.parse_term_list_with_modifiers {
paramname = field,
forms = args[field],
splitchar = ",",
frob = function(term)
if term == "+" then
-- Generate default masculine/feminine.
term = inflect(lemma)
else
term = replace_hash_with_lemma(term, lemma)
end
local special = require(romut_module).get_special_indicator(term)
if special then
term = inflect(lemma, special)
end
return term
end
}
for _, mf in ipairs(mfs) do
local plobj = m_table.shallowCopy(mf)
plobj.term = make_plural(mf.term, special)
-- Add an accelerator for each masculine/feminine plural whose lemma is the corresponding singular, so that
-- the accelerated entry that is generated has a definition that looks like
-- # {{plural of|pt|MFSING}}
plobj.accel = {form = "p", lemma = mf.term}
insert(default_plurals, plobj)
end
return mfs
end
local feminine_plurals = {}
local feminines = handle_mf("f", com.make_feminine, feminine_plurals)
local masculine_plurals = {}
local masculines = handle_mf("m", com.make_masculine, masculine_plurals)
local function handle_mf_plural(mfplfield, default_plurals, singulars)
local mfpl = m_headword_utilities.parse_term_list_with_modifiers {
paramname = mfplfield,
forms = args[mfplfield],
splitchar = ",",
}
if is_plurale_tantum then
return mfpl
end
local new_mfpls = {}
local saw_plus
for i, mfpl in ipairs(mfpl) do
local accel
if #mfpl == #singulars then
-- If same number of overriding masculine/feminine plurals as singulars, assume each plural goes with
-- the corresponding singular and use each corresponding singular as the lemma in the accelerator. The
-- generated entry will have
-- # {{plural of|pt|SINGULAR}}
-- as the definition.
accel = {form = "p", lemma = singulars[i].term}
else
accel = nil
end
if mfpl.term == "+" then
-- We should never see + twice. If we do, it will lead to problems since we overwrite the values of
-- default_plurals the first time around.
if saw_plus then
error(("Saw + twice when handling %s="):format(mfplfield))
end
saw_plus = true
if not default_plurals[1] then
-- FIXME: Can this happen? Not in corresponding Spanish code and the old Portuguese code tried to
-- handle this condition by generating the default plural from the lemma.
error("Internal error: Something wrong, no generated default m/f plurals at this stage")
end
for _, defpl in ipairs(default_plurals) do
-- defpl is already a table and has an accel field
m_headword_utilities.combine_termobj_qualifiers_labels(defpl, mfpl)
insert(new_mfpls, defpl)
end
elseif mfpl.term:find("^%+") then
mfpl.term = require(romut_module).get_special_indicator(mfpl.term)
for _, mf in ipairs(singulars) do
local mfplobj = m_table.shallowCopy(mfpl)
mfplobj.term = make_plural(mf.term, mfpl.term)
mfplobj.accel = accel
m_headword_utilities.combine_termobj_qualifiers_labels(mfplobj, mf)
insert(new_mfpls, mfplobj)
end
else
mfpl.accel = accel
mfpl.term = replace_hash_with_lemma(mfpl.term, lemma)
insert(new_mfpls, mfpl)
end
end
return new_mfpls
end
if args.fpl[1] then
-- Override any existing feminine plurals.
feminine_plurals = handle_mf_plural("fpl", feminine_plurals, feminines)
end
if args.mpl[1] then
-- Override any existing masculine plurals.
masculine_plurals = handle_mf_plural("mpl", masculine_plurals, masculines)
end
local function parse_and_insert_noun_inflection(field, label, accel)
parse_and_insert_inflection(data, args, field, label, accel)
end
insert_noun_inflection(feminines, "ဣတ္တိလိၚ်", "f")
insert_noun_inflection(feminine_plurals, "ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်")
insert_noun_inflection(masculines, "ပုလ္လိၚ်")
insert_noun_inflection(masculine_plurals, "ကိုန်ဗဟုဝစ်ပုလ္လိၚ်")
if is_metaphonic(args, lemma) then
insert(data.inflections, {label = metaphonic_label})
-- insert(data.categories, langname .. " " .. category_plpos .. " with metaphony")
end
parse_and_insert_noun_inflection("dim", "လဟုတ်စှ်ေ")
parse_and_insert_noun_inflection("aug", "ပရေၚ်မဖပေၚ်တိုန်")
parse_and_insert_noun_inflection("pej", "စမ်ၜတ်ရံၚ်")
parse_and_insert_noun_inflection("dem", "အပၠေံရုပ်ရာ")
parse_and_insert_noun_inflection("fdem", "အပၠေံရုပ်ရာဣတ္တိလိၚ်")
-- Maybe add category 'Portuguese nouns with irregular gender' (or similar)
local irreg_gender_lemma = com.rsub(lemma, " .*", "") -- only look at first word
if (rfind(irreg_gender_lemma, "[^ã]o$") and (gender_for_irreg_ending == "f" or gender_for_irreg_ending == "mf")) or
(irreg_gender_lemma:find("a$") and (gender_for_irreg_ending == "m" or gender_for_irreg_ending == "mf")) then
insert(data.categories, langname .. " " .. category_plpos .. " with irregular gender")
end
end
local function get_noun_params(is_proper)
return {
[1] = {list = "g", disallow_holes = true, required = not is_proper, default = "?", type = "genders",
flatten = true},
[2] = {list = "pl", disallow_holes = true},
["m"] = list_param,
["f"] = list_param,
["mpl"] = list_param,
["fpl"] = list_param,
["dim"] = list_param, --diminutive(s)
["aug"] = list_param, --diminutive(s)
["pej"] = list_param, --pejorative(s)
["dem"] = list_param, --demonym(s)
["fdem"] = list_param, --female demonym(s)
["meta"] = boolean_param, -- metaphonic
["nometa"] = boolean_param, -- explicitly not metaphonic
}
end
pos_functions["နာမ်"] = {
params = get_noun_params(),
func = do_noun,
}
pos_functions["နာမ်မကိတ်ညဳ"] = {
params = get_noun_params("is proper"),
func = function(args, data)
do_noun(args, data, "is proper noun")
end,
}
-----------------------------------------------------------------------------------------
-- Pronouns --
-----------------------------------------------------------------------------------------
local function do_pronoun(args, data)
local lemma = data.pagename
validate_genders(args[1])
data.genders = args[1]
local function do_inflection(field, label, accel)
parse_and_insert_inflection(data, args, field, label, accel)
end
do_inflection("m", "ပုလ္လိၚ်")
do_inflection("f", "ဣတ္တိလိၚ်")
do_inflection("sg", "ကိုန်ဨကဝုစ်")
do_inflection("pl", "ကိုန်ဗဟုဝစ်")
do_inflection("mpl", "ကိုန်ဗဟုဝစ်ပုလ္လိၚ်")
do_inflection("fpl", "ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်")
do_inflection("n", "နပုလ္လိၚ်")
end
local function get_pronoun_params()
local params = {
[1] = {list = "g", disallow_holes = true, type = "genders", flatten = true}, --gender(s)
["m"] = list_param, --masculine form(s)
["f"] = list_param, --feminine form(s)
["sg"] = list_param, --singular form(s)
["pl"] = list_param, --plural form(s)
["mpl"] = list_param, --masculine plural form(s)
["fpl"] = list_param, --feminine plural form(s)
["n"] = list_param, --neuter form(s)
}
return params
end
pos_functions["သဗ္ဗနာမ်"] = {
params = get_pronoun_params(),
func = do_pronoun,
}
-----------------------------------------------------------------------------------------
-- Adjectives --
-----------------------------------------------------------------------------------------
-- Handle comparatives and superlatives for adjectives and adverbs, including user-specified comparatives and
-- superlatives, default-requested comparatives/superlatives using '+', autogenerated comparatives/superlatives,
-- and hascomp=. Code is the same for adjectives and adverbs.
local function handle_adj_adv_comp(args, data, plpos, is_adv)
local lemma = data.pagename
local stem
if is_adv then
stem = com.rsub(lemma, "mente$", "")
else
stem = lemma
end
local function insert_inflection(terms, label, accel)
m_headword_utilities.insert_inflection {
headdata = data,
terms = terms,
label = label,
accel = accel and {form = accel} or nil,
}
end
local function make_absolute_superlative(special)
if is_adv then
return com.make_adverbial_absolute_superlative(stem, special)
else
return com.make_absolute_superlative(stem, special)
end
end
-- Maybe autogenerate default comparative/superlative.
local comp, sup
if args.comp and args.sup then-- comp= and sup= were given as options to the user
-- If no comp, but a non-default sup given, then add the default comparative/superlative.
-- This is useful when an absolute superlative is given.
comp = m_headword_utilities.parse_term_list_with_modifiers {
paramname = "တုဲဒှ်",
forms = args.comp,
splitchar = ",",
}
sup = m_headword_utilities.parse_term_list_with_modifiers {
paramname = "ညိည",
forms = args.sup,
splitchar = ",",
}
local saw_sup_plus = false
if not comp[1] and sup[1] then
for _, supval in ipairs(sup) do
if supval.term == "+" then
saw_sup_plus = true
end
end
if not saw_sup_plus then
comp = {{term = "+"}}
insert(sup, 1, {term = "+"})
end
end
-- If comp=+, use default comparative 'mais ...', and set a default superlative if unspecified.
local saw_comp_plus = false
for _, compval in ipairs(comp) do
if compval.term == "+" then
saw_comp_plus = true
compval.term = "[[mais]] [[" .. lemma .. "]]"
end
end
if saw_comp_plus and not sup[1] then
sup = {{term = "+"}}
end
-- If sup=+ (possibly from comp=+), use default superlative 'o mais ...'. Also handle absolute superlatives.
for _, supval in ipairs(sup) do
if supval.term == "+" then
supval.term = "[[o]] [[mais]] [[" .. lemma .. "]]"
elseif supval.term == "+abs" then
supval.term = make_absolute_superlative()
elseif rfind(supval.term, "^%+abs:") then
local sp = rmatch(supval.term, "^%+abs:(.*)$")
supval.term = make_absolute_superlative(sp)
end
end
end
if args.hascomp then
if args.hascomp == "both" then
insert(data.inflections, {label = "မတော်မာန်" .. glossary_link("အရာမွဲမွဲသာ်")})
insert(data.categories, category_plpos .. langname .. "မတော်ဂွံဂမၠိုၚ်")
insert(data.categories, category_plpos .. langname .. "မတော်ဟွံဂွံဂမၠိုၚ်")
else
local hascomp = require("Module:yesno")(args.hascomp)
if hascomp == true then
insert(data.inflections, {label = glossary_link("မတော်မာန်")})
insert(data.categories, category_plpos .. langname .. "မတော်ဂွံဂမၠိုၚ်")
elseif hascomp == false then
insert(data.inflections, {label = "မတော်မာန်" .. glossary_link("ဟွံသေၚ်")})
insert(data.categories, category_plpos .. langname .. "မတော်ဟွံဂွံဂမၠိုၚ်")
else
error("Unrecognized value for hascomp=: " .. args.hascomp)
end
end
elseif comp and comp[1] or sup and sup[1] then
insert(data.inflections, {label = glossary_link("ပတဝ်ပတုပ်ရံၚ်")})
insert(data.categories, category_plpos .. langname .. "ပွမပတဝ်ပတုပ်ရံၚ်ဂမၠိုၚ်")
end
insert_inflection(comp, "ပတဝ်ပတုပ်ရံၚ်")
insert_inflection(sup, "သဒ္ဒာ")
end
local function do_adjective(args, data, is_superlative)
local feminines = {}
local masculine_plurals = {}
local feminine_plurals = {}
-- Use "participle" not "past participle" for categories such as 'invariable participles'
local category_plpos = data.checkredlinks
if category_plpos == true then
category_plpos = data.pos_category
end
local category_pos = m_en_utilities.singularize(category_plpos)
if args.sp then
local romut = require(romut_module)
if not romut.allowed_special_indicators[args.sp] then
local indicators = {}
for indic, _ in pairs(romut.allowed_special_indicators) do
insert(indicators, "'" .. indic .. "'")
end
table.sort(indicators)
error("Special inflection indicator beginning can only be " ..
mw.text.listToText(indicators) .. ": " .. args.sp)
end
end
local lemma = data.pagename
local function fetch_inflections(field)
local retval = m_headword_utilities.parse_term_list_with_modifiers {
paramname = field,
forms = args[field],
splitchar = ",",
}
if not retval[1] then
return {{term = "+"}}
end
return retval
end
local function insert_inflection(terms, label, accel)
m_headword_utilities.insert_inflection {
headdata = data,
terms = terms,
label = label,
accel = accel and {form = accel} or nil,
}
end
if args.short then
insert(data.inflections, {label = "[[:en:Appendix:Portuguese verbs#Participles|လုပ်ကၠောန်စွံလဝ်ဓမၠေံ]]"})
end
if args.inv then
-- invariable adjective
insert(data.inflections, {label = glossary_link("ပြံၚ်လှာဲဟွံမာန်")})
insert(data.categories, category_plpos .. langname .. "မပါ်ပါဲထောံဟွံဂွံဂမၠိုၚ်")
if args.sp or args.f[1] or args.pl[1] or args.mpl[1] or args.fpl[1] then
error("Can't specify inflections with an invariable " .. category_pos)
end
elseif args.fonly then
-- feminine-only
if args.f[1] then
error("Can't specify explicit feminines with feminine-only " .. category_pos)
end
if args.pl[1] then
error("Can't specify explicit plurals with feminine-only " .. category_pos .. ", use fpl=")
end
if args.mpl[1] then
error("Can't specify explicit masculine plurals with feminine-only " .. category_pos)
end
local argsfpl = fetch_inflections("fpl")
for _, fpl in ipairs(argsfpl) do
if fpl.term == "+" then
fpl.term = make_plural(lemma, args.sp)
else
fpl.term = replace_hash_with_lemma(fpl.term, lemma)
end
insert(feminine_plurals, fpl)
end
insert(data.inflections, {label = "ပါဲနူ-ဣတ္တိလိ"})
insert_inflection(feminine_plurals, "ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်", "f|p")
else
-- Gather feminines.
for _, f in ipairs(fetch_inflections("f")) do
if f.term == "+" then
-- Generate default feminine.
f.term = com.make_feminine(lemma, args.sp)
else
f.term = replace_hash_with_lemma(f.term, lemma)
end
insert(feminines, f)
end
local fem_like_lemma = #feminines == 1 and feminines[1].term == lemma and
not m_headword_utilities.termobj_has_qualifiers_or_labels(feminines[1])
if fem_like_lemma then
-- insert(data.categories, langname .. " epicene " .. category_plpos)
end
local mpl_field = "mpl"
local fpl_field = "fpl"
if args.pl[1] then
if args.mpl[1] or args.fpl[1] then
error("Can't specify both pl= and mpl=/fpl=")
end
mpl_field = "pl"
fpl_field = "pl"
end
local argsmpl = fetch_inflections(mpl_field)
local argsfpl = fetch_inflections(fpl_field)
for _, mpl in ipairs(argsmpl) do
if mpl.term == "+" then
-- Generate default masculine plural.
mpl.term = make_plural(lemma, args.sp)
else
mpl.term = replace_hash_with_lemma(mpl.term, lemma)
end
insert(masculine_plurals, mpl)
end
for _, fpl in ipairs(argsfpl) do
if fpl.term == "+" then
for _, f in ipairs(feminines) do
-- Generate default feminine plural; f is a table.
local fplobj = m_table.shallowCopy(fpl)
fplobj.term = make_plural(f.term, args.sp)
m_headword_utilities.combine_termobj_qualifiers_labels(fplobj, f)
insert(feminine_plurals, fplobj)
end
else
fpl.term = replace_hash_with_lemma(fpl.term, lemma)
insert(feminine_plurals, fpl)
end
end
local fem_pl_like_masc_pl = masculine_plurals[1] and feminine_plurals[1] and
m_table.deepEquals(masculine_plurals, feminine_plurals)
local masc_pl_like_lemma = #masculine_plurals == 1 and masculine_plurals[1].term == lemma and
not m_headword_utilities.termobj_has_qualifiers_or_labels(masculine_plurals[1])
if fem_like_lemma and fem_pl_like_masc_pl and masc_pl_like_lemma then
-- actually invariable
insert(data.inflections, {label = glossary_link("ပြံၚ်လှာဲဟွံမာန်")})
insert(data.categories, category_plpos .. langname .. "နကဵုပါ်ပါဲထောံဟွံမာန်ဂမၠိုၚ်")
else
-- Make sure there are feminines given and not same as lemma.
if not fem_like_lemma then
insert_inflection(feminines, "ဣတ္တိလိၚ်", "f|s")
elseif args.gneut then
data.genders = {"gneut"}
else
data.genders = {"mf"}
end
if fem_pl_like_masc_pl then
if args.gneut then
insert_inflection(masculine_plurals, "ကိုန်ဗဟုဝစ်", "p")
else
-- This is how the Spanish module works.
-- insert_inflection(masculine_plurals, "ဣတ္တိလိၚ် ကဵု ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်", "p")
insert_inflection(masculine_plurals, "ကိုန်ဗဟုဝစ်", "p")
end
else
insert_inflection(masculine_plurals, "ကိုန်ဗဟုဝစ်ပုလ္လိၚ်", "m|p")
insert_inflection(feminine_plurals, "ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်", "f|p")
end
end
end
local function parse_and_insert_adj_inflection(field, label, accel, frob)
parse_and_insert_inflection(data, args, field, label, accel, frob)
end
parse_and_insert_adj_inflection("n", "နပုလ္လိၚ်")
handle_adj_adv_comp(args, data, category_plpos, false)
parse_and_insert_adj_inflection("dim", "လဟုတ်စှ်ေ", nil, function(term)
if term == "+" then
term = com.make_diminutive(lemma)
elseif term:find("^%+") then
term = require(romut_module).get_special_indicator(term)
term = com.make_diminutive(lemma, term)
end
return term
end)
parse_and_insert_adj_inflection("aug", "ပရေၚ်ဇၞော်မောဝ်တိုန်", nil, function(term)
if term == "+" then
term = com.make_augmentative(lemma)
elseif term:find("^%+") then
term = require(romut_module).get_special_indicator(term)
term = com.make_augmentative(lemma, term)
end
return term
end)
if is_metaphonic(args, lemma) then
insert(data.inflections, {label = metaphonic_label})
-- insert(data.categories, langname .. " " .. category_plpos .. " with metaphony")
end
if args.irreg and is_superlative then
-- insert(data.categories, langname .. " irregular superlative " .. category_plpos)
end
end
local function get_adjective_params(adjtype)
local params = {
["inv"] = boolean_param, --invariable
["sp"] = true, -- special indicator: "first", "first-last", etc.
["f"] = list_param, --feminine form(s)
["pl"] = list_param, --plural override(s)
["mpl"] = list_param, --masculine plural override(s)
["fpl"] = list_param, --feminine plural override(s)
["meta"] = boolean_param, -- metaphonic
["nometa"] = boolean_param, -- explicitly not metaphonic
}
if adjtype == "base" then
params["comp"] = list_param --comparative(s)
params["sup"] = list_param --superlative(s)
params["dim"] = list_param --diminutive(s)
params["aug"] = list_param --augmentative(s)
params["fonly"] = boolean_param -- feminine only
params["gneut"] = boolean_param -- gender-neutral adjective e.g. [[latine]] (FIXME: do these exist in Portuguese?)
params["hascomp"] = true -- has comparative
end
if adjtype == "part" then
params["short"] = boolean_param -- short participle
end
if adjtype == "sup" then
params["irreg"] = boolean_param
end
if adjtype == "pron" or adjtype == "contr" then
params["n"] = list_param --neuter form(s)
end
return params
end
pos_functions["နာမဝိသေသန"] = {
params = get_adjective_params("base"),
func = do_adjective,
}
pos_functions["နာမဝိသေသနပတုပ်ရံၚ်"] = {
params = get_adjective_params("comp"),
func = do_adjective,
pos_category = "နာမဝိသေသန",
}
pos_functions["သဒ္ဒာနာမဝိသေသန"] = {
params = get_adjective_params("sup"),
func = function(args, data)
do_adjective(args, data, "is superlative")
end,
pos_category = "နာမဝိသေသန",
}
pos_functions["လုပ်ကၠောန်စွံလဝ်နကဵုအတိက်"] = {
params = get_adjective_params("part"),
func = do_adjective,
redlink_pos = "လုပ်ကၠောန်စွံလဝ်",
}
pos_functions["ဖျေံလဝ်သန္နိဋ္ဌာန်"] = {
params = get_adjective_params("det"),
func = do_adjective,
}
pos_functions["adjective-like pronouns"] = {
params = get_adjective_params("pron"),
func = do_adjective,
pos_category = "သဗ္ဗနာမ်",
}
pos_functions["adjective-like contractions"] = {
params = get_adjective_params("contr"),
func = do_adjective,
pos_category = "သမ္ဗန္ဓ",
}
-----------------------------------------------------------------------------------------
-- Adverbs --
-----------------------------------------------------------------------------------------
local function do_adverb(args, data)
handle_adj_adv_comp(args, data, "ကြိယာဝိသေသန", "is adv")
end
local function get_adverb_params(advtype)
local params = {}
if advtype == "base" then
params["တုဲဒှ်"] = list_param --comparative(s)
params["ညိည"] = list_param --superlative(s)
params["hascomp"] = true -- has comparative
end
return params
end
pos_functions["ကြိယာဝိသေသန"] = {
params = get_adverb_params("base"),
func = do_adverb,
}
pos_functions["ကြိယာဝိသေသနပတုပ်ရံၚ်"] = {
params = get_adverb_params("comp"),
func = do_adverb,
pos_category = "adverbs",
}
pos_functions["သဒ္ဒာကြိယာဝိသေသန"] = {
params = get_adverb_params("sup"),
func = do_adverb,
pos_category = "adverbs",
}
-----------------------------------------------------------------------------------------
-- Verbs --
-----------------------------------------------------------------------------------------
pos_functions["ကြိယာ"] = {
params = {
[1] = true,
["pres"] = list_param, --present
["pres_qual"] = {list = "pres\1_qual", allow_holes = true},
["pres3s"] = list_param, --third-singular present
["pres3s_qual"] = {list = "pres3s\1_qual", allow_holes = true},
["pret"] = list_param, --preterite
["pret_qual"] = {list = "pret\1_qual", allow_holes = true},
["part"] = list_param, --participle
["part_qual"] = {list = "part\1_qual", allow_holes = true},
["short_part"] = list_param, --short participle
["short_part_qual"] = {list = "short_part\1_qual", allow_holes = true},
["noautolinktext"] = boolean_param,
["noautolinkverb"] = boolean_param,
["attn"] = boolean_param,
},
func = function(args, data, frame)
local preses, preses_3s, prets, parts, short_parts
if args.attn then
-- insert(data.categories, "Requests for attention concerning " .. langname)
return
end
local pt_verb = require(pt_verb_module)
local alternant_multiword_spec = pt_verb.do_generate_forms(args, "pt-verb", data.heads[1])
local specforms = alternant_multiword_spec.forms
local function slot_exists(slot)
return specforms[slot] and #specforms[slot] > 0
end
local function do_finite(slot_tense, label_tense)
-- Use pres_3s if it exists and pres_1s doesn't exist (e.g. impersonal verbs); similarly for pres_3p
-- (only3p verbs); but fall back to pres_1s if neither pres_1s nor pres_3s nor pres_3p exist (e.g.
-- [[empedernir]]).
local has_1s = slot_exists(slot_tense .. "_1s")
local has_3s = slot_exists(slot_tense .. "_3s")
local has_3p = slot_exists(slot_tense .. "_3p")
if has_1s or (not has_3s and not has_3p) then
return {
slot = slot_tense .. "_1s",
label = ("ကိုန်ဨကဝုစ်ပူဂဵုပထမ %s"):format(label_tense),
}, true
elseif has_3s then
return {
slot = slot_tense .. "_3s",
label = ("ကိုန်ဨကဝုစ်ပူဂဵုတတိယ %s"):format(label_tense),
}, false
else
return {
slot = slot_tense .. "_3p",
label = ("ကိုန်ဗဟုဝစ်ပူဂဵုတတိယ %s"):format(label_tense),
}, false
end
end
local did_pres_1s
preses, did_pres_1s = do_finite("pres", "ပစ္စုပ္ပန်")
preses_3s = {
slot = "pres_3s",
label = "ကိုန်ဨကဝုစ်ပစ္စုပ္ပန်ပူဂဵုတတိယ",
}
prets = do_finite("pret", "မပြဟ်လောန်")
parts = {
slot = "pp_ms",
label = "လုပ်ကၠောန်စွံလဝ်နကဵုအတိက်",
}
short_parts = {
slot = "short_pp_ms",
label = "လုပ်ကၠောန်စွံလဝ်နကဵုအတိက်ဓမၠေံ",
}
if args.pres[1] or args.pres3s[1] or args.pret[1] or args.part[1] or args.short_part[1] then
track("verb-old-multiarg")
end
local function strip_brackets(qualifiers)
if not qualifiers then
return nil
end
local stripped_qualifiers = {}
for _, qualifier in ipairs(qualifiers) do
local stripped_qualifier = qualifier:match("^%[(.*)%]$")
if not stripped_qualifier then
error("Internal error: Qualifier should be surrounded by brackets at this stage: " .. qualifier)
end
insert(stripped_qualifiers, stripped_qualifier)
end
return stripped_qualifiers
end
local function do_verb_form(args, qualifiers, slot_desc, skip_if_empty)
local forms
local to_insert
if #args == 0 then
forms = specforms[slot_desc.slot]
if not forms or #forms == 0 then
if skip_if_empty then
return
end
forms = {{form = "-"}}
end
elseif #args == 1 and args[1] == "-" then
forms = {{form = "-"}}
else
forms = {}
for i, arg in ipairs(args) do
local qual = qualifiers[i]
if qual then
-- FIXME: It's annoying we have to add brackets and strip them out later. The inflection
-- code adds all footnotes with brackets around them; we should change this.
qual = {"[" .. qual .. "]"}
end
local form = arg
if not args.noautolinkverb then
-- [[Module:inflection utilities]] already loaded by [[Module:pt-verb]]
form = require(inflection_utilities_module).add_links(form)
end
insert(forms, {form = form, footnotes = qual})
end
end
if forms[1].form == "-" then
to_insert = {label = "no " .. slot_desc.label}
else
local into_table = {label = slot_desc.label}
for _, form in ipairs(forms) do
local qualifiers = strip_brackets(form.footnotes)
-- Strip redundant brackets surrounding entire form. These may get generated e.g.
-- if we use the angle bracket notation with a single word.
local stripped_form = rmatch(form.form, "^%[%[([^%[%]]*)%]%]$") or form.form
stripped_form = pt_verb.remove_variant_codes(stripped_form)
-- Don't include accelerators if brackets remain in form, as the result will be wrong.
-- FIXME: For now, don't include accelerators. We should use the new {{pt-verb form of}} once
-- implemented.
-- local this_accel = not stripped_form:find("%[%[") and accel or nil
local this_accel = nil
insert(into_table, {term = stripped_form, q = qualifiers, accel = this_accel})
end
to_insert = into_table
end
insert(data.inflections, to_insert)
end
local skip_pres_if_empty
if alternant_multiword_spec.no_pres1_and_sub then
insert(data.inflections, {label = "ကိုန်ဨကဝုစ်ပစ္စုပ္ပန်ပူဂဵုပထမဟွံသေၚ်"})
insert(data.inflections, {label = "အရေဝ်နိဒါန်ပစ္စုပ္ပန်ဟွံသေၚ်"})
end
if alternant_multiword_spec.no_pres_stressed then
insert(data.inflections, {label = "မသ္ပစၞောန်ပစ္စုပ္ပန်ကဆံၚ်ဇြိုဟ်နက်ဟွံသေၚ် ဝါ အရေဝ်နိဒါန်"})
skip_pres_if_empty = true
end
if alternant_multiword_spec.only3s then
insert(data.inflections, {label = glossary_link("ဟၟဲကဵုပစ္စဲပူဂဵု")})
elseif alternant_multiword_spec.only3sp then
insert(data.inflections, {label = "ပါဲနူပူဂဵုတတိယ"})
elseif alternant_multiword_spec.only3p then
insert(data.inflections, {label = "ပါဲနူကိုန်ဗဟုဝစ်ပူဂဵုတတိယ"})
end
local has_vowel_alt
if alternant_multiword_spec.vowel_alt then
for _, vowel_alt in ipairs(alternant_multiword_spec.vowel_alt) do
if vowel_alt ~= "+" and vowel_alt ~= "í" and vowel_alt ~= "ú" then
has_vowel_alt = true
break
end
end
end
do_verb_form(args.pres, args.pres_qual, preses, skip_pres_if_empty)
-- We want to include both the pres_1s and pres_3s if there is a vowel alternation in the present singular. But
-- we don't want to redundantly include the pres_3s if we already included it.
if did_pres_1s and has_vowel_alt then
do_verb_form(args.pres3s, args.pres3s_qual, preses_3s, skip_pres_if_empty)
end
do_verb_form(args.pret, args.pret_qual, prets)
do_verb_form(args.part, args.part_qual, parts)
do_verb_form(args.short_part, args.short_part_qual, short_parts, "skip if empty")
-- Add categories.
for _, cat in ipairs(alternant_multiword_spec.categories) do
insert(data.categories, cat)
end
-- If the user didn't explicitly specify head=, or specified exactly one head (not 2+) and we were able to
-- incorporate any links in that head into the 1= specification, use the infinitive generated by
-- [[Module:pt-verb]] in place of the user-specified or auto-generated head. This was copied from
-- [[Module:it-headword]], where doing this gets accents marked on the verb(s). We don't have accents marked on
-- the verb but by doing this we do get any footnotes on the infinitive propagated here. Don't do this if the
-- user gave multiple heads or gave a head with a multiword-linked verbal expression such as Italian
-- '[[dare esca]] [[al]] [[fuoco]]' (FIXME: give Portuguese equivalent).
if #data.user_specified_heads == 0 or (
#data.user_specified_heads == 1 and alternant_multiword_spec.incorporated_headword_head_into_lemma
) then
data.heads = {}
for _, lemma_obj in ipairs(alternant_multiword_spec.forms.infinitive_linked) do
local quals, refs = require(inflection_utilities_module).
convert_footnotes_to_qualifiers_and_references(lemma_obj.footnotes)
insert(data.heads, {term = lemma_obj.form, q = quals, refs = refs})
end
end
end
}
-----------------------------------------------------------------------------------------
-- Suffix forms --
-----------------------------------------------------------------------------------------
pos_functions["ဗီုပြၚ်အဆက်လက္ကရဴ"] = {
params = {
[1] = {required = true, list = true, disallow_holes = true},
["g"] = {list = true, disallow_holes = true, type = "genders", flatten = true},
},
func = function(args, data)
validate_genders(args.g)
data.genders = args.g
local suffix_type = {}
for _, typ in ipairs(args[1]) do
insert(suffix_type, typ .. "-forming suffix")
end
insert(data.inflections, {label = "non-lemma form of " .. m_table.serialCommaJoin(suffix_type, {conj = "or"})})
end,
}
return export
itd262wxu5lnesvlvel1twsihocd9so
ကဏ္ဍ:နာမဝိသေသနဂရိအဳတာလျေတ်ဂမၠိုၚ်
14
38171
397358
51053
2026-06-22T04:17:19Z
咽頭べさ
33
咽頭べさ ပြံင်ပဆုဲလဝ် မုက်လိက် [[ကဏ္ဍ:နာမဝိသေသန ဂရိအဳတာလျေတ်]] ဇရေင် [[ကဏ္ဍ:နာမဝိသေသနဂရိအဳတာလျေတ်ဂမၠိုၚ်]] သီုကဵု ဟွံဂွံ ဂိုင်စွံလဝ် မကလေင်ပညုင်
51053
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာဂရိအဳတာလျေတ်]]
51ase10m4azmxnj9f1icluupuqoul1f
ကဏ္ဍ:ဝေါဟာအဓိကဂရိအဳတာလျေတ်ဂမၠိုၚ်
14
38173
397359
170356
2026-06-22T04:18:02Z
咽頭べさ
33
咽頭べさ ပြံင်ပဆုဲလဝ် မုက်လိက် [[ကဏ္ဍ:ဝေါဟာဂရိအဳတာလျေတ်နွံပ္ဍဲအဘိဓာန်ဂမၠိုၚ်]] ဇရေင် [[ကဏ္ဍ:ဝေါဟာအဓိကဂရိအဳတာလျေတ်ဂမၠိုၚ်]] သီုကဵု ဟွံဂွံ ဂိုင်စွံလဝ် မကလေင်ပညုင်
51055
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာဂရိအဳတာလျေတ်]]
51ase10m4azmxnj9f1icluupuqoul1f
γραμματικός
0
296144
397319
2026-06-21T14:39:39Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "==ဂရေတ်တြေံ== ===ဗွဟ်ရမ္သာၚ်=== {{grc-IPA|γρᾰμμᾰτῐκός}} ====နာမဝိသေသန==== {{grc-adj-1&2|head=γρᾰμμᾰτῐκός|γρᾰμμᾰτῐκή|γρᾰμμᾰτῐκόν}} # အက္ခရ်မွဲမပွမတီ၊ ဆေၚ်စပ်ကဵုပရေၚ်မကတ်လ္ၚတ်ခိုဟ်မွဲသာ်။ # ဒကုတ..."
397319
wikitext
text/x-wiki
==ဂရေတ်တြေံ==
===ဗွဟ်ရမ္သာၚ်===
{{grc-IPA|γρᾰμμᾰτῐκός}}
====နာမဝိသေသန====
{{grc-adj-1&2|head=γρᾰμμᾰτῐκός|γρᾰμμᾰτῐκή|γρᾰμμᾰτῐκόν}}
# အက္ခရ်မွဲမပွမတီ၊ ဆေၚ်စပ်ကဵုပရေၚ်မကတ်လ္ၚတ်ခိုဟ်မွဲသာ်။
# ဒကုတ်ပုတ်ဂၠတ်ကြာလဝ်မၞုံကဵုဗျန် ဝါ အပ္ဍဲလိက်ဇြေဟ်။
# ဆက်စပ်လဝ်မၞုံကဵုပရေၚ်မပါ်ပါဲဆေၚ်စပ်ကဵုလိက်။
# မဆေၚ်စပ်ကဵုကွတ်သဒ္ဒါ ဝါ ကွတ်၊ သဒ္ဒါ။
====ပရေၚ်ကၠောံ====
{{grc-adecl|γρᾰμμᾰτῐκός|ή}}
====မဒုၚ်လွဳစ====
* {{desc|el|γραμματικός}}<!-- adjective -->
===နာမ်===
{{grc-noun|head=γρᾰμμᾰτῐκός|γρᾰμμᾰτῐκοῦ|m|second}}
# အ္စာမဆေၚ်စပ်ကဵုကဆံၚ်ပထမ။
# ညးမကေတ်လဝ်ဒၞာဲအရၚ်ဇကုမၞုံလိက်ပတ်၊ တၠပညာသဒ္ဒါ၊ ကွတ်ပညာ။
====ပရေၚ်ကၠောံ====
{{grc-decl|γρᾰμμᾰτῐκός|οῦ}}
====မဒုၚ်လွဳစ====
* {{desc|el|γραμματικός}}<!-- noun -->
==ဂရေတ်==
===နိရုတ်===
ဝေါဟာကၠုၚ်နူ {{inh|el|grc|γραμματικός}}
====နာမဝိသေသန====
{{el-adj|f=γραμματική|n=γραμματικό}}
# {{lb|el|grammar}} မဆေၚ်စပ်ကဵုသဒ္ဒါ။
# {{lb|el|grammar}} မဆေၚ်စပ်ကဵုတၠပညာသဒ္ဒါ။
====လဟုတ်စှ်ေ====
{{el-decl-adj|dec=ός-ή-ό|stem=γραμματικ|nopio=1}}
===နာမ်===
{{el-noun|m|γραμματικοί}}
# တၠပညာသဒ္ဒါ။
# အ္စာကၞေဟ်၊ ညးမရၚ်တၠုၚ်ဖဵု။
====လဟုတ်စှ်ေ====
{{el-nM-ος-οι-1|γραμματικ}}
53vmdejjpsavnt70y6irwzqpo57j81z
ထာမ်ပလိက်:el-decl-adj
10
296145
397320
2026-06-21T14:42:22Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "<onlyinclude>{{#invoke:checkparams|warn}}<!-- Validate template parameters -->{{el-decl-adj-a |form={{#if: {{{long|}}} | -long | }} |dec={{{dec|}}} |stem={{{stem|}}} |stem2={{{stem2|}}} |posnote={{{posnote|}}} |compstem={{{compstem|}}} |compstem2={{{compstem2|}}} |abstem={{{abstem|}}} |abstem2={{{abstem2|}}} |docnote={{{docnote|}}} |lemma={{{lemma|}}} |nopio={{{nopio|}}} |part={{{part|}}} |nocat={{{nocat|}}} }}<!-- --..."
397320
wikitext
text/x-wiki
<onlyinclude>{{#invoke:checkparams|warn}}<!-- Validate template parameters
-->{{el-decl-adj-a
|form={{#if: {{{long|}}} | -long | }}
|dec={{{dec|}}}
|stem={{{stem|}}}
|stem2={{{stem2|}}}
|posnote={{{posnote|}}}
|compstem={{{compstem|}}}
|compstem2={{{compstem2|}}}
|abstem={{{abstem|}}}
|abstem2={{{abstem2|}}}
|docnote={{{docnote|}}}
|lemma={{{lemma|}}}
|nopio={{{nopio|}}}
|part={{{part|}}}
|nocat={{{nocat|}}}
}}<!--
--></onlyinclude><noinclude>{{documentation}}</noinclude>
oe8ht4ifr2p0uj54g1le8xzxua11nv6
ထာမ်ပလိက်:el-decl-adj/documentation
10
296146
397321
2026-06-21T14:44:57Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{documentation subpage}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE --> ===Use=== * Template to display declension tables for Greek adjectives, including as requested positive, comparative, relative superlative and absolute superlative forms. * {{temp|el-decl-adj}} uses a number of templates which should only be accessed via this one. * Example: <tt><nowiki>{{el-decl-adj|stem=μητρικ|de..."
397321
wikitext
text/x-wiki
{{documentation subpage}}
<!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE -->
===Use===
* Template to display declension tables for Greek adjectives, including as requested positive, comparative, relative superlative and absolute superlative forms.
* {{temp|el-decl-adj}} uses a number of templates which should only be accessed via this one.
* Example:
<tt><nowiki>{{el-decl-adj|stem=μητρικ|dec=ός-ή-ό}}</nowiki></tt> which gives:
{{el-decl-adj|stem=μητρικ|dec=ός-ή-ό}}
===Syntax===
{|style="border: 1px solid var(--wikt-palette-grey-blue-8,SteelBlue); border-collapse:collapse" cellpadding="2" rules="all"
|-
| style="background-color:var(--wikt-palette-cyan-5,LightSkyBlue);" | '''Variable'''
| style="background-color:var(--wikt-palette-cyan-5,LightSkyBlue);" | '''Description'''
| style="background-color:var(--wikt-palette-cyan-5,LightSkyBlue);" | '''Example'''
| style="background-color:var(--wikt-palette-cyan-5,LightSkyBlue);" | '''Notes'''
|-
| colspan="4" style="background-color:var(--wikt-palette-cyan-4,LightBlue);" | '''Positive inflections and [[Appendix:Glossary#periphrastic|periphrastic]] derivations ([[πιο]] forms)'''
|-
| style="vertical-align:top;" | '''dec'''
| The appropriate declension '''ID''', for example {{el-box|ός-ή-ό}}.<br> To be found at '''[[Wiktionary:Greek adjective inflection-table templates]]'''
| style="vertical-align:top;" | dec=ός-ή-ό
| style="vertical-align:top;" | '''Obligatory'''
|-
| '''stem'''
| The stem for positive forms (ie the lemma form without ending)
| stem=αύξ
| '''Obligatory'''
|-
| stem2
| The stem with altered stress (where relevant)
| stem2=αυξ
| Optional
|-
| part
| For participles - ensures the correct declension category
| part=1
| As appopriate
|-
| nopio
| Any value supresses output of '''πιο''' forms
| nopio=1
| optional
|-
| posnote
| Any necessary notes for positive forms
| posnote=Vocative forms are rare
| optional
|-
| colspan="4" style="background-color:var(--wikt-palette-cyan-4,LightBlue);" | '''Comparative, relative superlative and absolute superlative'''
|-
| compstem
| Use of this variable flags output of comparative and relative superlatives
| compstem=πονηρότερ
| optional
|-
| abstem
| Use of this variable flags output of absolute superlative
| abstem=πονηρότατ
| optional
|-
| docnote
| Any necessary notes for these DoCs (degrees of comparison)
| docnote=the absolute forms are rare
| optional
|-
| colspan="4" style="background-color:var(--wikt-palette-cyan-4,LightBlue);" | '''Exceptionally'''
|-
| lemma
| replaces PAGENAME in the table header
|
|
|}
===Operation===
Although a number of templates are used to produce these tables, they are all accessed though {{temp|el-decl-adj}}, only this one should be used.
The table below attempts to show its operation:
{| style="border:0; border-collapse:collapse; margin-left: 8em; " cellpadding="4"
|-style="background-color:var(--wikt-palette-yellow-4,#eee8aa);"
|colspan="7" | [[template:el-decl-adj|el-decl-adj]] ''with'' 'dec','stem',+ others
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-colo\r:#c0ffff;" colspan="6"<!--
-->|''call'' [[template:el-decl-adj-positive|el-decl-adj-positive]] ''with'' 'dec','stem',+others<br><!--
--> '''print table outline for positive forms'''<br><!--
--> '''selects declension template to match 'dec''''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-cyan-5,#c0ffff)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb);" colspan="5" | ''in this case dec='ος-η-ο', therefore:''<br><!--
-->''call'' [[template:el-decl-adj-ος-η-ο|el-decl-adj-ος-η-ο]] ''with'' stem,+others<br><!--
--> '''sets appropriate numbered arguments for:'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-cyan-5,#c0ffff)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb)" |
|style="background-color:var(--wikt-palette-green-6,#90ee90);" colspan="4" |''call'' [[template:el-decl-adj-table|el-decl-adj-table]] ''with'' numbered arguments<br><!--
--> '''print values in appropriate cells'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-cyan-5,#c0ffff);" colspan="6"<!--
-->| '''print footers'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8);" colspan="6" | ''if 'compstem' ''<br><!--
-->''call'' [[template:el-decl-adj-degrees|el-decl-adj-degrees]] ''with'' 'compstem','abstem','note'<br><!--
--> '''print degrees of comparison table(s) outline'''<br><!--
--> '''nb''' 'ος-η-ο' is the standard paradigm for these forms
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb);" colspan="5" |''call'' [[template:el-decl-adj-ος-η-ο|el-decl-adj-ος-η-ο]] ''with'' 'compstem'<br><!--
--> '''sets appropriate numbered arguments for:'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb)" |
|style="background-color:var(--wikt-palette-green-6,#90ee90);" colspan="4" |''call'' [[template:el-decl-adj-table|el-decl-adj-table]] ''with'' numbered arguments<br><!--
--> '''print values in appropriate cells'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb);" colspan="5" | ''if 'abstem' ''<br><!--
-->''call'' [[template:el-decl-adj-ος-η-ο|el-decl-adj-ος-η-ο]] ''with'' 'abstem'<br><!--
--> '''sets appropriate numbered arguments for:'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb)" |
|style="background-color:var(--wikt-palette-green-6,#90ee90);" colspan="4" |''call'' [[template:el-decl-adj-table|el-decl-adj-table]] ''with'' numbered arguments<br><!--
--> '''print values in appropriate cells'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8);" colspan="6" | '''print footer'''
|}
<includeonly>
[[ကဏ္ဍ:ထာမ်ပလိက်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဂရေတ်ဂမၠိုၚ်|*]]
</includeonly>
224g8rd0qotv333xf9au8v097vhx3ox
397328
397321
2026-06-21T15:15:08Z
咽頭べさ
33
397328
wikitext
text/x-wiki
{{documentation subpage}}
<!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE -->
===Use===
* Template to display declension tables for Greek adjectives, including as requested positive, comparative, relative superlative and absolute superlative forms.
* {{temp|el-decl-adj}} uses a number of templates which should only be accessed via this one.
* Example:
<tt><nowiki>{{el-decl-adj|stem=μητρικ|dec=ός-ή-ό}}</nowiki></tt> which gives:
{{el-decl-adj|stem=μητρικ|dec=ός-ή-ό}}
===Syntax===
{|style="border: 1px solid var(--wikt-palette-grey-blue-8,SteelBlue); border-collapse:collapse" cellpadding="2" rules="all"
|-
| style="background-color:var(--wikt-palette-cyan-5,LightSkyBlue);" | '''Variable'''
| style="background-color:var(--wikt-palette-cyan-5,LightSkyBlue);" | '''Description'''
| style="background-color:var(--wikt-palette-cyan-5,LightSkyBlue);" | '''Example'''
| style="background-color:var(--wikt-palette-cyan-5,LightSkyBlue);" | '''Notes'''
|-
| colspan="4" style="background-color:var(--wikt-palette-cyan-4,LightBlue);" | '''Positive inflections and [[Appendix:Glossary#periphrastic|periphrastic]] derivations ([[πιο]] forms)'''
|-
| style="vertical-align:top;" | '''dec'''
| The appropriate declension '''ID''', for example {{el-box|ός-ή-ό}}.<br> To be found at '''[[Wiktionary:Greek adjective inflection-table templates]]'''
| style="vertical-align:top;" | dec=ός-ή-ό
| style="vertical-align:top;" | '''Obligatory'''
|-
| '''stem'''
| The stem for positive forms (ie the lemma form without ending)
| stem=αύξ
| '''Obligatory'''
|-
| stem2
| The stem with altered stress (where relevant)
| stem2=αυξ
| Optional
|-
| part
| For participles - ensures the correct declension category
| part=1
| As appopriate
|-
| nopio
| Any value supresses output of '''πιο''' forms
| nopio=1
| optional
|-
| posnote
| Any necessary notes for positive forms
| posnote=Vocative forms are rare
| optional
|-
| colspan="4" style="background-color:var(--wikt-palette-cyan-4,LightBlue);" | '''Comparative, relative superlative and absolute superlative'''
|-
| compstem
| Use of this variable flags output of comparative and relative superlatives
| compstem=πονηρότερ
| optional
|-
| abstem
| Use of this variable flags output of absolute superlative
| abstem=πονηρότατ
| optional
|-
| docnote
| Any necessary notes for these DoCs (degrees of comparison)
| docnote=the absolute forms are rare
| optional
|-
| colspan="4" style="background-color:var(--wikt-palette-cyan-4,LightBlue);" | '''Exceptionally'''
|-
| lemma
| replaces PAGENAME in the table header
|
|
|}
===Operation===
Although a number of templates are used to produce these tables, they are all accessed though {{temp|el-decl-adj}}, only this one should be used.
The table below attempts to show its operation:
{| style="border:0; border-collapse:collapse; margin-left: 8em; " cellpadding="4"
|-style="background-color:var(--wikt-palette-yellow-4,#eee8aa);"
|colspan="7" | [[template:el-decl-adj|el-decl-adj]] ''with'' 'dec','stem',+ others
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-colo\r:#c0ffff;" colspan="6"<!--
-->|''call'' [[template:el-decl-adj-positive|el-decl-adj-positive]] ''with'' 'dec','stem',+others<br><!--
--> '''print table outline for positive forms'''<br><!--
--> '''selects declension template to match 'dec''''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-cyan-5,#c0ffff)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb);" colspan="5" | ''in this case dec='ος-η-ο', therefore:''<br><!--
-->''call'' [[template:el-decl-adj-ος-η-ο|el-decl-adj-ος-η-ο]] ''with'' stem,+others<br><!--
--> '''sets appropriate numbered arguments for:'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-cyan-5,#c0ffff)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb)" |
|style="background-color:var(--wikt-palette-green-6,#90ee90);" colspan="4" |''call'' [[template:el-decl-adj-table|el-decl-adj-table]] ''with'' numbered arguments<br><!--
--> '''print values in appropriate cells'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-cyan-5,#c0ffff);" colspan="6"<!--
-->| '''print footers'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8);" colspan="6" | ''if 'compstem' ''<br><!--
-->''call'' [[template:el-decl-adj-degrees|el-decl-adj-degrees]] ''with'' 'compstem','abstem','note'<br><!--
--> '''print degrees of comparison table(s) outline'''<br><!--
--> '''nb''' 'ος-η-ο' is the standard paradigm for these forms
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb);" colspan="5" |''call'' [[template:el-decl-adj-ος-η-ο|el-decl-adj-ος-η-ο]] ''with'' 'compstem'<br><!--
--> '''sets appropriate numbered arguments for:'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb)" |
|style="background-color:var(--wikt-palette-green-6,#90ee90);" colspan="4" |''call'' [[template:el-decl-adj-table|el-decl-adj-table]] ''with'' numbered arguments<br><!--
--> '''print values in appropriate cells'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb);" colspan="5" | ''if 'abstem' ''<br><!--
-->''call'' [[template:el-decl-adj-ος-η-ο|el-decl-adj-ος-η-ο]] ''with'' 'abstem'<br><!--
--> '''sets appropriate numbered arguments for:'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb)" |
|style="background-color:var(--wikt-palette-green-6,#90ee90);" colspan="4" |''call'' [[template:el-decl-adj-table|el-decl-adj-table]] ''with'' numbered arguments<br><!--
--> '''print values in appropriate cells'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8);" colspan="6" | '''print footer'''
|}
<includeonly>
[[ကဏ္ဍ:ထာမ်ပလိက်ဂရေတ်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဂမၠိုၚ်|*]]
</includeonly>
e2yn4hsdycuvxjechbhurugc7lqhxl5
ကဏ္ဍ:ထာမ်ပလိက်ဂရေတ်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဂမၠိုၚ်
14
296147
397322
2026-06-21T14:46:03Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ထာမ်ပလိက်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏဂရေတ်ဂမၠိုၚ်]][[ကဏ္ဍ:ထာမ်ပလိက်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ဂ]]"
397322
wikitext
text/x-wiki
[[ကဏ္ဍ:ထာမ်ပလိက်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏဂရေတ်ဂမၠိုၚ်]][[ကဏ္ဍ:ထာမ်ပလိက်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ဂ]]
fq0t2wcztnsxc2cevwtpp0bu564wwd6
397329
397322
2026-06-21T15:16:28Z
咽頭べさ
33
咽頭べさ ပြံင်ပဆုဲလဝ် မုက်လိက် [[ကဏ္ဍ:ထာမ်ပလိက်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဂရေတ်ဂမၠိုၚ်]] ဇရေင် [[ကဏ္ဍ:ထာမ်ပလိက်ဂရေတ်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဂမၠိုၚ်]] သီုကဵု ဟွံဂွံ ဂိုင်စွံလဝ် မကလေင်ပညုင်
397322
wikitext
text/x-wiki
[[ကဏ္ဍ:ထာမ်ပလိက်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏဂရေတ်ဂမၠိုၚ်]][[ကဏ္ဍ:ထာမ်ပလိက်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ဂ]]
fq0t2wcztnsxc2cevwtpp0bu564wwd6
ထာမ်ပလိက်:el-decl-adj-a
10
296148
397323
2026-06-21T14:59:10Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{#invoke:checkparams|error|form}}<!-- Validate template parameters --><!-- el-decl-adj-a --><includeonly> {{el-decl-adj-positive<!-- -->|header=မလဟုတ်စှ်ေဆေၚ်စပ်ကဵု {{#if:{{{lemma|}}} |{{{lemma|}}} |{{pagename}} }}<!-- -->|dec={{{dec|}}}<!-- -->|stem={{{stem|}}}<!-- -->|stem2={{{stem2|}}}<!-- -->|note={{{posnote|}}}<!-- -->|pionote={{#if: {{{nopio|}}}| |[..."
397323
wikitext
text/x-wiki
{{#invoke:checkparams|error|form}}<!-- Validate template parameters
--><!-- el-decl-adj-a
--><includeonly>
{{el-decl-adj-positive<!--
-->|header=မလဟုတ်စှ်ေဆေၚ်စပ်ကဵု {{#if:{{{lemma|}}} |{{{lemma|}}} |{{pagename}} }}<!--
-->|dec={{{dec|}}}<!--
-->|stem={{{stem|}}}<!--
-->|stem2={{{stem2|}}}<!--
-->|note={{{posnote|}}}<!--
-->|pionote={{#if: {{{nopio|}}}| |[[:en:Wiktionary:Greek entry guidelines/Glossary#comparative|ပတဝ်ပတုပ်ရံၚ်]]: {{m|el|πιο|tr=-}} + <!--
-->ဗီုပြၚ်[[:en:Wiktionary:Greek entry guidelines/Glossary#positive|မချိုတ်ပၠိုတ်]] (ဥပမာ πιο {{#if:{{{lemma|}}} |{{{lemma|}}} |{{pagename}} }}, နကဵုအတိုၚ်ဥပမာဂှ်)<br> <!--
-->[[:en:Wiktionary:Greek entry guidelines/Glossary#relative superlative|သဒ္ဒာမဆက်စပ်]]: <!--
-->[[:en:Wiktionary:Greek entry guidelines/Glossary#definite article|ပစ္စဲမချိုတ်ပၠိုတ်]] + πιο + <!--
-->ဗီုပြၚ်[[:en:Wiktionary:Greek entry guidelines/Glossary#positive|မချိုတ်ပၠိုတ်]] (ဥပမာ ο πιο {{#if:{{{lemma|}}} |{{{lemma|}}} |{{pagename}} }}, နကဵုအတိုၚ်ဥပမာဂှ်) }}<!--
-->}}<!--
-->{{#if:{{{compstem|}}}|{{el-decl-adj-degrees<!--
-->|compstem={{{compstem|}}}<!--
-->|compstem2={{{compstem2|}}}<!--
-->|abstem={{{abstem|}}}<!--
-->|abstem2={{{abstem2|}}}<!--
-->|note={{{docnote|}}} }}<!--
-->}}<!--
-->{{#if:{{NAMESPACE}}{{{nocat|}}}<!--
-->|<!--
-->|{{#if: {{{dec|}}}<!--
-->|{{#if:{{{part|}}}<!--
-->|<!--
-->|<!--
-->}}<!--
-->}}<!--
-->}}<!--
--></includeonly><noinclude>{{documentation}}</noinclude>
k5chlf0ci94328s86z84rotphfivbye
ထာမ်ပလိက်:el-decl-adj-a/documentation
10
296149
397324
2026-06-21T15:04:31Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{documentation subpage}} * This template displays declension tables for Greek adjectives, including when requested positive, comparative, relative superlative and absolute superlative forms. * Please note that {{temp|el-decl-adj}} uses a number of other templates, but none of these should be used directly. ===Syntax=== <tt><nowiki>{{el-decl-adj|stem=όμορφ|dec=ος-η-ο}}</nowiki></tt> which gives: {{el-decl-a..."
397324
wikitext
text/x-wiki
{{documentation subpage}}
* This template displays declension tables for Greek adjectives, including when requested positive, comparative, relative superlative and absolute superlative forms.
* Please note that {{temp|el-decl-adj}} uses a number of other templates, but none of these should be used directly.
===Syntax===
<tt><nowiki>{{el-decl-adj|stem=όμορφ|dec=ος-η-ο}}</nowiki></tt> which gives:
{{el-decl-adj|stem=όμορφ|lemma=όμορφος|dec=ος-η-ο}}
{|style="border: 1px solid var(--wikt-palette-grey-blue-8,SteelBlue); border-collapse:collapse" cellpadding="2" rules="all"
|-
| style="background-color:var(--wikt-palette-cyan-5,LightSkyBlue);" | '''Variable'''
| style="background-color:var(--wikt-palette-cyan-5,LightSkyBlue);" | '''Description'''
| style="background-color:var(--wikt-palette-cyan-5,LightSkyBlue);" | '''Example'''
| style="background-color:var(--wikt-palette-cyan-5,LightSkyBlue);" | '''Notes'''
|-
| colspan="4" style="background-color:var(--wikt-palette-cyan-4,LightBlue);" | '''Positive inflections and [[Appendix:Glossary#periphrastic|periphrastic]] derivations ([[πιο]] forms)'''
|-
| style="vertical-align:top;" | '''dec'''
| The appropriate declension '''ID''', for example {{el-box|ός-ή-ό}}.<br> To be found at '''[[Wiktionary:Greek adjective inflection-table templates]]'''
| style="vertical-align:top;" | dec=ός-ή-ό
| style="vertical-align:top;" | '''Obligatory'''
|-
| '''stem'''
| The stem for positive forms (ie the lemma form without ending)
| stem=αύξ
| '''Obligatory'''
|-
| stem2
| The stem with altered stress (where relevant)
| stem2=αυξ
| Optional
|-
| part
| For participles - ensures the correct declension category
| part=1
| As appopriate
|-
| nopio
| Any value suppresses output of '''πιο''' forms
| nopio=1
| optional
|-
| nocat
| Any value suppresses categorisation by declension
| nocat=1
| optional
|-
| posnote
| Any necessary notes for positive forms
| posnote=Vocative forms are rare
| optional
|-
| colspan="4" style="background-color:var(--wikt-palette-cyan-4,LightBlue);" | '''Comparative, relative superlative and absolute superlative'''
|-
| compstem
| Use of this variable flags output of comparative and relative superlatives
| compstem=πονηρότερ
| optional
|-
| abstem
| Use of this variable flags output of absolute superlative
| abstem=πονηρότατ
| optional
|-
| docnote
| Any necessary notes for these DoCs (degrees of comparison)
| docnote=the absolute forms are rare
| optional
|-
| colspan="4" style="background-color:var(--wikt-palette-cyan-4,LightBlue);" | '''Exceptionally'''
|-
| lemma
| replaces PAGENAME in the table header
|
|
|}
===Operation===
Although a number of templates are used to produce these tables, they are all accessed though {{temp|el-decl-adj}}, only this one should be used.
The table below attempts to show its operation:
{| style="border:0; border-collapse:collapse; margin-left: 8em; " cellpadding="4"
|-style="background-color:var(--wikt-palette-yellow-4,#eee8aa);"
|colspan="7" | [[template:el-decl-adj|el-decl-adj]] ''with'' 'dec','stem',+ others
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-colo\r:#c0ffff;" colspan="6"<!--
-->|''call'' [[template:el-decl-adj-positive|el-decl-adj-positive]] ''with'' 'dec','stem',+others<br><!--
--> '''print table outline for positive forms'''<br><!--
--> '''selects declension template to match 'dec''''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-cyan-5,#c0ffff)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb);" colspan="5" | ''in this case dec='ος-η-ο', therefore:''<br><!--
-->''call'' [[template:el-decl-adj-ος-η-ο|el-decl-adj-ος-η-ο]] ''with'' stem,+others<br><!--
--> '''sets appropriate numbered arguments for:'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-cyan-5,#c0ffff)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb)" |
|style="background-color:var(--wikt-palette-green-6,#90ee90);" colspan="4" |''call'' [[template:el-decl-adj-table|el-decl-adj-table]] ''with'' numbered arguments<br><!--
--> '''print values in appropriate cells'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-cyan-5,#c0ffff);" colspan="6"<!--
-->| '''print footers'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8);" colspan="6" | ''if 'compstem' ''<br><!--
-->''call'' [[template:el-decl-adj-degrees|el-decl-adj-degrees]] ''with'' 'compstem','abstem','note'<br><!--
--> '''print degrees of comparison table(s) outline'''<br><!--
--> '''nb''' 'ος-η-ο' is the standard paradigm for these forms
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb);" colspan="5" |''call'' [[template:el-decl-adj-ος-η-ο|el-decl-adj-ος-η-ο]] ''with'' 'compstem'<br><!--
--> '''sets appropriate numbered arguments for:'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb)" |
|style="background-color:var(--wikt-palette-green-6,#90ee90);" colspan="4" |''call'' [[template:el-decl-adj-table|el-decl-adj-table]] ''with'' numbered arguments<br><!--
--> '''print values in appropriate cells'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb);" colspan="5" | ''if 'abstem' ''<br><!--
-->''call'' [[template:el-decl-adj-ος-η-ο|el-decl-adj-ος-η-ο]] ''with'' 'abstem'<br><!--
--> '''sets appropriate numbered arguments for:'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb)" |
|style="background-color:var(--wikt-palette-green-6,#90ee90);" colspan="4" |''call'' [[template:el-decl-adj-table|el-decl-adj-table]] ''with'' numbered arguments<br><!--
--> '''print values in appropriate cells'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8);" colspan="6" | '''print footer'''
|}
<includeonly>
[[ကဏ္ဍ:ထာမ်ပလိက်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဂရေတ်ဂမၠိုၚ်|*]]
</includeonly>
b0cwf6tby03w681qozllchzf0p4qrpy
397327
397324
2026-06-21T15:14:21Z
咽頭べさ
33
397327
wikitext
text/x-wiki
{{documentation subpage}}
* This template displays declension tables for Greek adjectives, including when requested positive, comparative, relative superlative and absolute superlative forms.
* Please note that {{temp|el-decl-adj}} uses a number of other templates, but none of these should be used directly.
===Syntax===
<tt><nowiki>{{el-decl-adj|stem=όμορφ|dec=ος-η-ο}}</nowiki></tt> which gives:
{{el-decl-adj|stem=όμορφ|lemma=όμορφος|dec=ος-η-ο}}
{|style="border: 1px solid var(--wikt-palette-grey-blue-8,SteelBlue); border-collapse:collapse" cellpadding="2" rules="all"
|-
| style="background-color:var(--wikt-palette-cyan-5,LightSkyBlue);" | '''Variable'''
| style="background-color:var(--wikt-palette-cyan-5,LightSkyBlue);" | '''Description'''
| style="background-color:var(--wikt-palette-cyan-5,LightSkyBlue);" | '''Example'''
| style="background-color:var(--wikt-palette-cyan-5,LightSkyBlue);" | '''Notes'''
|-
| colspan="4" style="background-color:var(--wikt-palette-cyan-4,LightBlue);" | '''Positive inflections and [[Appendix:Glossary#periphrastic|periphrastic]] derivations ([[πιο]] forms)'''
|-
| style="vertical-align:top;" | '''dec'''
| The appropriate declension '''ID''', for example {{el-box|ός-ή-ό}}.<br> To be found at '''[[Wiktionary:Greek adjective inflection-table templates]]'''
| style="vertical-align:top;" | dec=ός-ή-ό
| style="vertical-align:top;" | '''Obligatory'''
|-
| '''stem'''
| The stem for positive forms (ie the lemma form without ending)
| stem=αύξ
| '''Obligatory'''
|-
| stem2
| The stem with altered stress (where relevant)
| stem2=αυξ
| Optional
|-
| part
| For participles - ensures the correct declension category
| part=1
| As appopriate
|-
| nopio
| Any value suppresses output of '''πιο''' forms
| nopio=1
| optional
|-
| nocat
| Any value suppresses categorisation by declension
| nocat=1
| optional
|-
| posnote
| Any necessary notes for positive forms
| posnote=Vocative forms are rare
| optional
|-
| colspan="4" style="background-color:var(--wikt-palette-cyan-4,LightBlue);" | '''Comparative, relative superlative and absolute superlative'''
|-
| compstem
| Use of this variable flags output of comparative and relative superlatives
| compstem=πονηρότερ
| optional
|-
| abstem
| Use of this variable flags output of absolute superlative
| abstem=πονηρότατ
| optional
|-
| docnote
| Any necessary notes for these DoCs (degrees of comparison)
| docnote=the absolute forms are rare
| optional
|-
| colspan="4" style="background-color:var(--wikt-palette-cyan-4,LightBlue);" | '''Exceptionally'''
|-
| lemma
| replaces PAGENAME in the table header
|
|
|}
===Operation===
Although a number of templates are used to produce these tables, they are all accessed though {{temp|el-decl-adj}}, only this one should be used.
The table below attempts to show its operation:
{| style="border:0; border-collapse:collapse; margin-left: 8em; " cellpadding="4"
|-style="background-color:var(--wikt-palette-yellow-4,#eee8aa);"
|colspan="7" | [[template:el-decl-adj|el-decl-adj]] ''with'' 'dec','stem',+ others
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-colo\r:#c0ffff;" colspan="6"<!--
-->|''call'' [[template:el-decl-adj-positive|el-decl-adj-positive]] ''with'' 'dec','stem',+others<br><!--
--> '''print table outline for positive forms'''<br><!--
--> '''selects declension template to match 'dec''''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-cyan-5,#c0ffff)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb);" colspan="5" | ''in this case dec='ος-η-ο', therefore:''<br><!--
-->''call'' [[template:el-decl-adj-ος-η-ο|el-decl-adj-ος-η-ο]] ''with'' stem,+others<br><!--
--> '''sets appropriate numbered arguments for:'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-cyan-5,#c0ffff)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb)" |
|style="background-color:var(--wikt-palette-green-6,#90ee90);" colspan="4" |''call'' [[template:el-decl-adj-table|el-decl-adj-table]] ''with'' numbered arguments<br><!--
--> '''print values in appropriate cells'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-cyan-5,#c0ffff);" colspan="6"<!--
-->| '''print footers'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8);" colspan="6" | ''if 'compstem' ''<br><!--
-->''call'' [[template:el-decl-adj-degrees|el-decl-adj-degrees]] ''with'' 'compstem','abstem','note'<br><!--
--> '''print degrees of comparison table(s) outline'''<br><!--
--> '''nb''' 'ος-η-ο' is the standard paradigm for these forms
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb);" colspan="5" |''call'' [[template:el-decl-adj-ος-η-ο|el-decl-adj-ος-η-ο]] ''with'' 'compstem'<br><!--
--> '''sets appropriate numbered arguments for:'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb)" |
|style="background-color:var(--wikt-palette-green-6,#90ee90);" colspan="4" |''call'' [[template:el-decl-adj-table|el-decl-adj-table]] ''with'' numbered arguments<br><!--
--> '''print values in appropriate cells'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb);" colspan="5" | ''if 'abstem' ''<br><!--
-->''call'' [[template:el-decl-adj-ος-η-ο|el-decl-adj-ος-η-ο]] ''with'' 'abstem'<br><!--
--> '''sets appropriate numbered arguments for:'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8)" |
|style="background-color:var(--wikt-palette-grey-red-5,#ffc0cb)" |
|style="background-color:var(--wikt-palette-green-6,#90ee90);" colspan="4" |''call'' [[template:el-decl-adj-table|el-decl-adj-table]] ''with'' numbered arguments<br><!--
--> '''print values in appropriate cells'''
|-
|style="background-color:var(--wikt-palette-yellow-4,#eee8aa)" |
|style="background-color:var(--wikt-palette-grey-4,#d8d8d8);" colspan="6" | '''print footer'''
|}
<includeonly>
[[ကဏ္ဍ:ထာမ်ပလိက်ဂရေတ်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဂမၠိုၚ်|*]]
</includeonly>
d2vy0vqymyt5ef447daxtjttri1pr24
ထာမ်ပလိက်:el-box
10
296150
397325
2026-06-21T15:06:34Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "<span style="font-family: monospace; white-space:nowrap; font-weight:bold; font-size:125%; background:var(--wikt-palette-lightindigo,#E6E6FA); "> {{{1|}}} </span><noinclude>[[ကဏ္ဍ:ထာမ်ပလိက်ဂရေတ်ဂမၠိုၚ်|B]]</noinclude>"
397325
wikitext
text/x-wiki
<span style="font-family: monospace; white-space:nowrap; font-weight:bold; font-size:125%; background:var(--wikt-palette-lightindigo,#E6E6FA); "> {{{1|}}} </span><noinclude>[[ကဏ္ဍ:ထာမ်ပလိက်ဂရေတ်ဂမၠိုၚ်|B]]</noinclude>
5y6bw7glwv6txuv5shdtggx0u7sh6kd
ထာမ်ပလိက်:el-decl-adj-positive
10
296151
397326
2026-06-21T15:12:06Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{#invoke:checkparams|error}}<!-- Validate template parameters --><noinclude><!-- el-decl-adj-positive Creates the main (landscape positive) section --> {{el-decl-adj-doc}}<!-- display warning box --> </noinclude><includeonly>{{inflection-table-top|palette=blue|title={{{header|}}}|class=translit-on-own-line|tall=yes}} ! rowspan="2" | ! colspan="3" | ကိုန်ဨကဝုစ် ! rowspan="999" class="sepa..."
397326
wikitext
text/x-wiki
{{#invoke:checkparams|error}}<!-- Validate template parameters
--><noinclude><!-- el-decl-adj-positive Creates the main (landscape positive) section -->
{{el-decl-adj-doc}}<!-- display warning box -->
</noinclude><includeonly>{{inflection-table-top|palette=blue|title={{{header|}}}|class=translit-on-own-line|tall=yes}}
! rowspan="2" |
! colspan="3" | ကိုန်ဨကဝုစ်
! rowspan="999" class="separator" |
! colspan="3" | ကိုန်ဗဟုဝစ်
|-
! class="secondary" | ပုလ္လိၚ်
! class="secondary" | ဣတ္တိလိၚ်
! class="secondary" | နပုလ္လိၚ်
! class="secondary" | ပုလ္လိၚ်
! class="secondary" | ဣတ္တိလိၚ်
! class="secondary" | နပုလ္လိၚ်
|-
{{el-decl-adj-{{{dec|}}}<!-- produces "el-decl-adj" + dec -->
|form={{{form|}}}
|stem={{{stem|}}}
|stem2={{{stem2|}}} }}
{{inflection-table-bottom|notes={{#if:{{{note|}}}|'''စၟတ်သမ္တီ:''' {{{note}}}{{#if:{{{pionote|}}}|<br>}}}}{{#if:{{{pionote|}}}|'''မဂွံလဝ်အာဲကၟာဲ:'''<br>{{{pionote}}}}}}}</includeonly><noinclude>
{{tcat|adecl:*}}
</noinclude>
geb35ebk4yl1vxzck73au1n9kuxjqro
ထာမ်ပလိက်:el-decl-adj-notice
10
296152
397330
2026-06-21T15:32:52Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{| style="background-color:var(--wikt-palette-cyan-3,#cfeefc); margin:1em auto;" |- | style="text-align:center;" |'''ထာမ်ပလိက်တဏအ်ဝွံမဒှ်မာန်ဂၠိုၚ်တဴဟွံသေၚ်မရပ်စပ်ဟွံလံ''' |- | style="text-align:center;" |ဣတဏအ်မလုပ်အဝေါၚ်ဂွံမာန်နူကဵုပွမရပ်စပ်ဆ..."
397330
wikitext
text/x-wiki
{| style="background-color:var(--wikt-palette-cyan-3,#cfeefc); margin:1em auto;"
|-
| style="text-align:center;" |'''ထာမ်ပလိက်တဏအ်ဝွံမဒှ်မာန်ဂၠိုၚ်တဴဟွံသေၚ်မရပ်စပ်ဟွံလံ'''
|-
| style="text-align:center;" |ဣတဏအ်မလုပ်အဝေါၚ်ဂွံမာန်နူကဵုပွမရပ်စပ်ဆေၚ်စပ်ကဵုမသောၚ်ထ္ၜးလဝ်ကဵုနဲဒက်ဝါကျပဵုနူမဍိုက်ပေၚ်တဴထာမ်ပလိက်အဓိက: '''[[Template:el-decl-adj|el-decl-adj]]'''.
|-
စရၚ်အၚ်|'''[[Wiktionary:Greek adjective inflection-table templates|ထာမ်ပလိက်ဂရေတ်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဂမၠိုၚ်]]'''မဆေၚ်စပ်ကဵုဗီုပြၚ်မရပ်ဟပ်စကာမာန်နကဵုမကၠောံဝေါဟာ။
|-
|ဗဵုရံၚ် '''[[Template:el-decl-adj-table]]''' ကဵု '''[[:ကဏ္ဍ:ထာမ်ပလိက်ဂရေတ်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဂမၠိုၚ်]]တဏအ်ညိ'''။
|}<noinclude>
{{tcat|adecl:*}}[[ကဏ္ဍ:ထာမ်ပလိက်မသ္ပထၜာတ်လဝ်-အဝ်တဝ်နူကဵု SurjectionBot]]</noinclude>
cp6mbpt3qczvnpsluf8uyf0iwiofdjw
397331
397330
2026-06-21T15:33:42Z
咽頭べさ
33
咽頭べさ ပြံင်ပဆုဲလဝ် မုက်လိက် [[ထာမ်ပလိက်:el-decl-adj-doc]] ဇရေင် [[ထာမ်ပလိက်:el-decl-adj-notice]]
397330
wikitext
text/x-wiki
{| style="background-color:var(--wikt-palette-cyan-3,#cfeefc); margin:1em auto;"
|-
| style="text-align:center;" |'''ထာမ်ပလိက်တဏအ်ဝွံမဒှ်မာန်ဂၠိုၚ်တဴဟွံသေၚ်မရပ်စပ်ဟွံလံ'''
|-
| style="text-align:center;" |ဣတဏအ်မလုပ်အဝေါၚ်ဂွံမာန်နူကဵုပွမရပ်စပ်ဆေၚ်စပ်ကဵုမသောၚ်ထ္ၜးလဝ်ကဵုနဲဒက်ဝါကျပဵုနူမဍိုက်ပေၚ်တဴထာမ်ပလိက်အဓိက: '''[[Template:el-decl-adj|el-decl-adj]]'''.
|-
စရၚ်အၚ်|'''[[Wiktionary:Greek adjective inflection-table templates|ထာမ်ပလိက်ဂရေတ်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဂမၠိုၚ်]]'''မဆေၚ်စပ်ကဵုဗီုပြၚ်မရပ်ဟပ်စကာမာန်နကဵုမကၠောံဝေါဟာ။
|-
|ဗဵုရံၚ် '''[[Template:el-decl-adj-table]]''' ကဵု '''[[:ကဏ္ဍ:ထာမ်ပလိက်ဂရေတ်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဂမၠိုၚ်]]တဏအ်ညိ'''။
|}<noinclude>
{{tcat|adecl:*}}[[ကဏ္ဍ:ထာမ်ပလိက်မသ္ပထၜာတ်လဝ်-အဝ်တဝ်နူကဵု SurjectionBot]]</noinclude>
cp6mbpt3qczvnpsluf8uyf0iwiofdjw
ထာမ်ပလိက်:el-decl-adj-doc
10
296153
397332
2026-06-21T15:33:42Z
咽頭べさ
33
咽頭べさ ပြံင်ပဆုဲလဝ် မုက်လိက် [[ထာမ်ပလိက်:el-decl-adj-doc]] ဇရေင် [[ထာမ်ပလိက်:el-decl-adj-notice]]
397332
wikitext
text/x-wiki
#REDIRECT [[ထာမ်ပလိက်:el-decl-adj-notice]]
8yyqwaou4wmepeqemni4pvvayubq6am
ထာမ်ပလိက်:el-decl-adj-table
10
296154
397333
2026-06-21T15:36:03Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "<noinclude><!-- el-decl-adj-table adds forms to landscape table --> </noinclude><includeonly> ! မဒုၚ်ယၟု | data-accel-col=1 | {{#if: {{{1c|}}} |{{{1a}}}<br>{{{1b}}}<br>{{{1c}}}<!-- -->|{{#if: {{{1b|}}} |{{{1a}}}<br>{{{1b}}}<!-- -->|{{{1|—}}} }} }} | data-accel-col=2 | {{#if: {{{2c|}}} |{{{2a}}}<br>{{{2b}}}<br>{{{2c}}}<!-- -->|{{#if: {{{2b|}}} |{{{2a}}}<br>{{{2b}}}<!-- -->|{{..."
397333
wikitext
text/x-wiki
<noinclude><!-- el-decl-adj-table adds forms to landscape table -->
</noinclude><includeonly>
! မဒုၚ်ယၟု
| data-accel-col=1 | {{#if: {{{1c|}}} |{{{1a}}}<br>{{{1b}}}<br>{{{1c}}}<!--
-->|{{#if: {{{1b|}}} |{{{1a}}}<br>{{{1b}}}<!--
-->|{{{1|—}}} }} }}
| data-accel-col=2 | {{#if: {{{2c|}}} |{{{2a}}}<br>{{{2b}}}<br>{{{2c}}}<!--
-->|{{#if: {{{2b|}}} |{{{2a}}}<br>{{{2b}}}<!--
-->|{{{2|—}}} }} }}
| data-accel-col=3 | {{#if: {{{3c|}}} |{{{3a}}}<br>{{{3b}}}<br>{{{3c}}}<!--
-->|{{#if: {{{3b|}}} |{{{3a}}}<br>{{{3b}}}<!--
-->|{{{3|—}}} }} }}
| data-accel-col=4 | {{#if: {{{4c|}}} |{{{4a}}}<br>{{{4b}}}<br>{{{4c}}}<!--
-->|{{#if: {{{4b|}}} |{{{4a}}}<br>{{{4b}}}<!--
-->|{{{4|—}}} }} }}
| data-accel-col=5 | {{#if: {{{5c|}}} |{{{5a}}}<br>{{{5b}}}<br>{{{5c}}}<!--
-->|{{#if: {{{5b|}}} |{{{5a}}}<br>{{{5b}}}<!--
-->|{{{5|—}}} }} }}
| data-accel-col=6 | {{#if: {{{6c|}}} |{{{6a}}}<br>{{{6b}}}<br>{{{6c}}}<!--
-->|{{#if: {{{6b|}}} |{{{6a}}}<br>{{{6b}}}<!--
-->|{{{6|—}}} }} }}
|-
! ဗဳဇဂကူ
| data-accel-col=1 | {{#if: {{{7c|}}} |{{{7a}}}<br>{{{7b}}}<br>{{{7c}}}<!--
-->|{{#if: {{{7b|}}} |{{{7a}}}<br>{{{7b}}}<!--
-->|{{{7|—}}} }} }}
| data-accel-col=2 | {{#if: {{{8c|}}} |{{{8a}}}<br>{{{8b}}}<br>{{{8c}}}<!--
-->|{{#if: {{{8b|}}} |{{{8a}}}<br>{{{8b}}}<!--
-->|{{{8|—}}} }} }}
| data-accel-col=3 | {{#if: {{{9c|}}} |{{{9a}}}<br>{{{9b}}}<br>{{{9c}}}<!--
-->|{{#if: {{{9b|}}} |{{{9a}}}<br>{{{9b}}}<!--
-->|{{{9|—}}} }} }}
| data-accel-col=4 | {{#if: {{{10c|}}} |{{{10a}}}<br>{{{10b}}}<br>{{{10c}}}<!--
-->|{{#if: {{{10b|}}} |{{{10a}}}<br>{{{10b}}}<!--
-->|{{{10|—}}} }} }}
| data-accel-col=5 | {{#if: {{{11c|}}} |{{{11a}}}<br>{{{11b}}}<br>{{{11c}}}<!--
-->|{{#if: {{{11b|}}} |{{{11a}}}<br>{{{11b}}}<!--
-->|{{{11|—}}} }} }}
| data-accel-col=6 | {{#if: {{{12c|}}} |{{{12a}}}<br>{{{12b}}}<br>{{{12c}}}<!--
-->|{{#if: {{{12b|}}} |{{{12a}}}<br>{{{12b}}}<!--
-->|{{{12|—}}} }} }}
|-
! ကမ္မကာရက
| data-accel-col=1 | {{#if: {{{13c|}}} |{{{13a}}}<br>{{{13b}}}<br>{{{13c}}}<!--
-->|{{#if: {{{13b|}}} |{{{13a}}}<br>{{{13b}}}<!--
-->|{{{13|—}}} }} }}
| data-accel-col=2 | {{#if: {{{14c|}}} |{{{14a}}}<br>{{{14b}}}<br>{{{14c}}}<!--
-->|{{#if: {{{14b|}}} |{{{14a}}}<br>{{{14b}}}<!--
-->|{{{14|—}}} }} }}
| data-accel-col=3 | {{#if: {{{15c|}}} |{{{15a}}}<br>{{{15b}}}<br>{{{15c}}}<!--
-->|{{#if: {{{15b|}}} |{{{15a}}}<br>{{{15b}}}<!--
-->|{{{15|—}}} }} }}
| data-accel-col=4 | {{#if: {{{16c|}}} |{{{16a}}}<br>{{{16b}}}<br>{{{16c}}}<!--
-->|{{#if: {{{16b|}}} |{{{16a}}}<br>{{{16b}}}<!--
-->|{{{16|—}}} }} }}
| data-accel-col=5 | {{#if: {{{17c|}}} |{{{17a}}}<br>{{{17b}}}<br>{{{17c}}}<!--
-->|{{#if: {{{17b|}}} |{{{17a}}}<br>{{{17b}}}<!--
-->|{{{17|—}}} }} }}
| data-accel-col=6 | {{#if: {{{18c|}}} |{{{18a}}}<br>{{{18b}}}<br>{{{18c}}}<!--
-->|{{#if: {{{18b|}}} |{{{18a}}}<br>{{{18b}}}<!--
-->|{{{18|—}}} }} }}
|-
! ပရေၚ်ဂယိုၚ်လမျီု
| data-accel-col=1 | {{#if: {{{19c|}}} |{{{19a}}}<br>{{{19b}}}<br>{{{19c}}}<!--
-->|{{#if: {{{19b|}}} |{{{19a}}}<br>{{{19b}}}<!--
-->|{{{19|—}}} }} }}
| data-accel-col=2 | {{#if: {{{20c|}}} |{{{20a}}}<br>{{{20b}}}<br>{{{20c}}}<!--
-->|{{#if: {{{20b|}}} |{{{20a}}}<br>{{{20b}}}<!--
-->|{{{20|—}}} }} }}
| data-accel-col=3 | {{#if: {{{21c|}}} |{{{21a}}}<br>{{{21b}}}<br>{{{21c}}}<!--
-->|{{#if: {{{21b|}}} |{{{21a}}}<br>{{{21b}}}<!--
-->|{{{21|—}}} }} }}
| data-accel-col=4 | {{#if: {{{22c|}}} |{{{22a}}}<br>{{{22b}}}<br>{{{22c}}}<!--
-->|{{#if: {{{22b|}}} |{{{22a}}}<br>{{{22b}}}<!--
-->|{{{22|—}}} }} }}
| data-accel-col=5 | {{#if: {{{23c|}}} |{{{23a}}}<br>{{{23b}}}<br>{{{23c}}}<!--
-->|{{#if: {{{23b|}}} |{{{23a}}}<br>{{{23b}}}<!--
-->|{{{23|—}}} }} }}
| data-accel-col=6 | {{#if: {{{24c|}}} |{{{24a}}}<br>{{{24b}}}<br>{{{24c}}}<!--
-->|{{#if: {{{24b|}}} |{{{24a}}}<br>{{{24b}}}<!--
-->|{{{24|—}}} }} }}</includeonly><noinclude>
{{tcat|adecl:*}}
</noinclude>
rv06w693c3zt1ygkluf08eg0wens2eb
ထာမ်ပလိက်:el-decl-adj-ός-ή-ό
10
296155
397334
2026-06-21T15:40:04Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "<includeonly> {{el-decl-adj-table{{{form|}}} |1={{l-self|el|{{{stem}}}ός}} |2={{l-self|el|{{{stem}}}ή}} |3={{l-self|el|{{{stem}}}ό}} |4={{l-self|el|{{{stem}}}οί}} |5={{l-self|el|{{{stem}}}ές}} |6={{l-self|el|{{{stem}}}ά}} |7={{l-self|el|{{{stem}}}ού}} |8={{l-self|el|{{{stem}}}ής}} |9={{l-self|el|{{{stem}}}ού}} |10={{l-self|el|{{{stem}}}ών}} |11={{l-self|el|{{{stem}}}ών}} |12={{l-self|el|{{{stem}}}..."
397334
wikitext
text/x-wiki
<includeonly>
{{el-decl-adj-table{{{form|}}}
|1={{l-self|el|{{{stem}}}ός}}
|2={{l-self|el|{{{stem}}}ή}}
|3={{l-self|el|{{{stem}}}ό}}
|4={{l-self|el|{{{stem}}}οί}}
|5={{l-self|el|{{{stem}}}ές}}
|6={{l-self|el|{{{stem}}}ά}}
|7={{l-self|el|{{{stem}}}ού}}
|8={{l-self|el|{{{stem}}}ής}}
|9={{l-self|el|{{{stem}}}ού}}
|10={{l-self|el|{{{stem}}}ών}}
|11={{l-self|el|{{{stem}}}ών}}
|12={{l-self|el|{{{stem}}}ών}}
|13={{l-self|el|{{{stem}}}ό}}
|14={{l-self|el|{{{stem}}}ή}}
|15={{l-self|el|{{{stem}}}ό}}
|16={{l-self|el|{{{stem}}}ούς}}
|17={{l-self|el|{{{stem}}}ές}}
|18={{l-self|el|{{{stem}}}ά}}
|19={{l-self|el|{{{stem}}}έ}}
|20={{l-self|el|{{{stem}}}ή}}
|21={{l-self|el|{{{stem}}}ό}}
|22={{l-self|el|{{{stem}}}οί}}
|23={{l-self|el|{{{stem}}}ές}}
|24={{l-self|el|{{{stem}}}ά}}
}}</includeonly><noinclude>{{documentation}}</noinclude>
sdrqu4sbg86nkb19ldf9i7cuckts1x9
ထာမ်ပလိက်:el-decl-adj-ός-ή-ό/documentation
10
296156
397335
2026-06-21T15:41:25Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{el-decl-adj-notice}} ;For adjectives with the inflections shown : {{el-adj-paradigm-1 |ID=ός-ή-ό |descrip=oxytone |ός|ή|ό |οί|ές|ά |ού|ής|ού |ών|ών|ών |ό|ή|ό |ούς|ές|ά |έ|ή|ό |οί|ές|ά |en=καλός |el=καλός }} ===References=== * DSMG [https://www.greek-language.gr/greekLang/modern_greek/tools/lexica/onomatiko/adjectives.html Adjectives]:§E1 {{m|el|καλός}} * Ho..."
397335
wikitext
text/x-wiki
{{el-decl-adj-notice}}
;For adjectives with the inflections shown :
{{el-adj-paradigm-1
|ID=ός-ή-ό
|descrip=oxytone
|ός|ή|ό
|οί|ές|ά
|ού|ής|ού
|ών|ών|ών
|ό|ή|ό
|ούς|ές|ά
|έ|ή|ό
|οί|ές|ά
|en=καλός
|el=καλός
}}
===References===
* DSMG [https://www.greek-language.gr/greekLang/modern_greek/tools/lexica/onomatiko/adjectives.html Adjectives]:§E1 {{m|el|καλός}}
* Holton D, Mackridge P & Phiippaki-Warburton I, ''Greek - A Comprehensive Grammar of the Modern Langage'' (2004):§3.1 {{m|el|ακριβός}}
* Stavropoulos DN, ''Oxford Greek-English Learner's Dictionary'' (2008):§25A {{m|el|καλός}}
* Triandaphyllidis MA, ''trans.'' Burke JB, ''Concise Modern greek Grammar'' (2004):§458 {{m|el|καλός}}
* Tsiotsiou-Moore M, ''A Basic Grammar of Modern Greek'' (2002):p.44 {{m|el|καλός}}
* Warburton [http://ebooks.edu.gr/ebooks/v/html/8547/2009/Grammatiki_E-ST-Dimotikou_html-apli/index_C7a1.html e-books]:{{m|el|}}
===Syntax===
Output for {{l|el|καλός}}:
:<tt><nowiki>{{el-decl-adj|dec=ός-ή-ό|stem=καλ|compstem=καλύτερ|abstem=άριστ|docnote=There is an alternative, less common absolute form [[κάλλιστος]]}}</nowiki></tt>
{{el-decl-adj|dec=ός-ή-ό|lemma=καλός|stem=καλ|compstem=καλύτερ|abstem=άριστ|docnote=There is an alternative, less common absolute form [[κάλλιστος]]}}
===See also===
* {{temp|el-decl-adj-ος-η-ο}}
* [[:Category:Greek adjectives in declension ός-ή-ό]]
* [[:Category:Greek adjectives in declension ος-η-ο]]
* [[Wiktionary:Greek adjective inflection-table templates]]
{{documentation subpage}}
<includeonly>
[[ကဏ္ဍ:ထာမ်ပလိက်ဂရေတ်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဂမၠိုၚ်|ο]]
</includeonly>
cxxmn0v3985sjjjbi3oa6rfw8wzmlze
ထာမ်ပလိက်:el-adj-paradigm-1
10
296157
397336
2026-06-21T15:45:24Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{|style="border:1px solid var(--wikt-palette-grey-blue-8,SteelBlue);background:var(--wikt-palette-grey-0,#ffffff);border-collapse:collapse;width:72%;margin-left:3%;text-align:center;" cellpadding="1" rules="all" |- |style="width:33%; text-align:left"|<span style="font-weight:bold; font-size:120%; color:var(--wikt-palette-deepred,red);">ID: {{{ID|}}}</span><!-- --> :en:Category:Greek adjectives in declensi..."
397336
wikitext
text/x-wiki
{|style="border:1px solid var(--wikt-palette-grey-blue-8,SteelBlue);background:var(--wikt-palette-grey-0,#ffffff);border-collapse:collapse;width:72%;margin-left:3%;text-align:center;" cellpadding="1" rules="all"
|-
|style="width:33%; text-align:left"|<span style="font-weight:bold; font-size:120%; color:var(--wikt-palette-deepred,red);">ID: {{{ID|}}}</span><!--
--> [[:en:Category:Greek adjectives in declension {{{ID|}}}|ကဏ္ဍ]]
|style="background:var(--wikt-palette-blue-3,#cce4fc);border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue); width:33%" colspan="3"|singular
|style="background:var(--wikt-palette-blue-3,#cce4fc);border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);" colspan="3"|plural
|- style="background:var(--wikt-palette-blue-3,#cce4fc)"
|style="background:var(--wikt-palette-grey-0,#ffffff); text-align:left"<!--
-->| {{#if:{{{en|}}}|eg: [[{{{en|}}}]]}} {{#if:{{{descrip|}}}|({{{descrip|}}})}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{g|m}}
|{{g|f}}
|{{g|n}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{g|m}}
|{{g|f}}
|{{g|n}}
|-
|style="background:var(--wikt-palette-blue-3,#cce4fc)"|မဒုၚ်ယၟု
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{1|—}}}|{{{1hi|}}}}}
|{{el-adj-para-hilite|{{{2|—}}}|{{{2hi|}}}}}
|{{el-adj-para-hilite|{{{3|—}}}|{{{3hi|}}}}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{4|—}}}|{{{4hi|}}}}}
|{{el-adj-para-hilite|{{{5|—}}}|{{{5hi|}}}}}
|{{el-adj-para-hilite|{{{6|—}}}|{{{6hi|}}}}}
|-
|style="background:var(--wikt-palette-blue-3,#cce4fc)"|ဗဳဇဂကူ
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{7|—}}}|{{{7hi|}}}}}
|{{el-adj-para-hilite|{{{8|—}}}|{{{8hi|}}}}}
|{{el-adj-para-hilite|{{{9|—}}}|{{{9hi|}}}}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{10|—}}}|{{{10hi|}}}}}
|{{el-adj-para-hilite|{{{11|—}}}|{{{11hi|}}}}}
|{{el-adj-para-hilite|{{{12|—}}}|{{{12hi|}}}}}
|-
|style="background:var(--wikt-palette-blue-3,#cce4fc)"|ကမ္မကာရက
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{13|—}}}|{{{13hi|}}}}}
|{{el-adj-para-hilite|{{{14|—}}}|{{{14hi|}}}}}
|{{el-adj-para-hilite|{{{15|—}}}|{{{15hi|}}}}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{16|—}}}|{{{16hi|}}}}}
|{{el-adj-para-hilite|{{{17|—}}}|{{{17hi|}}}}}
|{{el-adj-para-hilite|{{{18|—}}}|{{{18hi|}}}}}
|-
|style="background:var(--wikt-palette-blue-3,#cce4fc)"|ပရေၚ်ဂယိုၚ်လမျီု
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{19|—}}}|{{{19hi|}}}}}
|{{el-adj-para-hilite|{{{20|—}}}|{{{20hi|}}}}}
|{{el-adj-para-hilite|{{{21|—}}}|{{{21hi|}}}}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{22|—}}}|{{{22hi|}}}}}
|{{el-adj-para-hilite|{{{23|—}}}|{{{23hi|}}}}}
|{{el-adj-para-hilite|{{{24|—}}}|{{{24hi|}}}}}
|-
|style="background:var(--wikt-palette-grey-0,#ffffff); text-align:left" colspan="7"|<!--
-->{{#if:{{{el|}}}<!--
-->|'''Βικιλεξικό''': [[:el:{{{el|}}}|{{{el|}}}]],<!--
--> [[:el:Κατηγορία:Επίθετα που κλίνονται όπως το '{{{el|}}}' (νέα ελληνικά)|<!--
-->Κατηγορία:Επίθετα που κλίνονται όπως το '{{{el|}}}' (νέα ελληνικά)]]<!--
-->}}<!--
-->{{#if:{{{note|}}}|<br>{{{note|}}}}}
|}<!--
--><noinclude>{{documentation}}[[ကဏ္ဍ:ထာမ်ပလိက်မသ္ပထၜာတ်လဝ်-အဝ်တဝ်နူကဵု SurjectionBot]]</noinclude>
47hssi806jdu2g1zpx4l7sd8ymc2b1m
397343
397336
2026-06-21T16:01:50Z
咽頭べさ
33
397343
wikitext
text/x-wiki
{|style="border:1px solid var(--wikt-palette-grey-blue-8,SteelBlue);background:var(--wikt-palette-grey-0,#ffffff);border-collapse:collapse;width:72%;margin-left:3%;text-align:center;" cellpadding="1" rules="all"
|-
|style="width:33%; text-align:left"|<span style="font-weight:bold; font-size:120%; color:var(--wikt-palette-deepred,red);">ID: {{{ID|}}}</span><!--
--> [[:en:Category:Greek adjectives in declension {{{ID|}}}|ကဏ္ဍ]]
|style="background:var(--wikt-palette-blue-3,#cce4fc);border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue); width:33%" colspan="3"|ကိုန်ဨကဝုစ်
|style="background:var(--wikt-palette-blue-3,#cce4fc);border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);" colspan="3"|ကိုန်ဗဟုဝစ်
|- style="background:var(--wikt-palette-blue-3,#cce4fc)"
|style="background:var(--wikt-palette-grey-0,#ffffff); text-align:left"<!--
-->| {{#if:{{{en|}}}|eg: [[{{{en|}}}]]}} {{#if:{{{descrip|}}}|({{{descrip|}}})}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{g|m}}
|{{g|f}}
|{{g|n}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{g|m}}
|{{g|f}}
|{{g|n}}
|-
|style="background:var(--wikt-palette-blue-3,#cce4fc)"|မဒုၚ်ယၟု
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{1|—}}}|{{{1hi|}}}}}
|{{el-adj-para-hilite|{{{2|—}}}|{{{2hi|}}}}}
|{{el-adj-para-hilite|{{{3|—}}}|{{{3hi|}}}}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{4|—}}}|{{{4hi|}}}}}
|{{el-adj-para-hilite|{{{5|—}}}|{{{5hi|}}}}}
|{{el-adj-para-hilite|{{{6|—}}}|{{{6hi|}}}}}
|-
|style="background:var(--wikt-palette-blue-3,#cce4fc)"|ဗဳဇဂကူ
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{7|—}}}|{{{7hi|}}}}}
|{{el-adj-para-hilite|{{{8|—}}}|{{{8hi|}}}}}
|{{el-adj-para-hilite|{{{9|—}}}|{{{9hi|}}}}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{10|—}}}|{{{10hi|}}}}}
|{{el-adj-para-hilite|{{{11|—}}}|{{{11hi|}}}}}
|{{el-adj-para-hilite|{{{12|—}}}|{{{12hi|}}}}}
|-
|style="background:var(--wikt-palette-blue-3,#cce4fc)"|ကမ္မကာရက
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{13|—}}}|{{{13hi|}}}}}
|{{el-adj-para-hilite|{{{14|—}}}|{{{14hi|}}}}}
|{{el-adj-para-hilite|{{{15|—}}}|{{{15hi|}}}}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{16|—}}}|{{{16hi|}}}}}
|{{el-adj-para-hilite|{{{17|—}}}|{{{17hi|}}}}}
|{{el-adj-para-hilite|{{{18|—}}}|{{{18hi|}}}}}
|-
|style="background:var(--wikt-palette-blue-3,#cce4fc)"|ပရေၚ်ဂယိုၚ်လမျီု
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{19|—}}}|{{{19hi|}}}}}
|{{el-adj-para-hilite|{{{20|—}}}|{{{20hi|}}}}}
|{{el-adj-para-hilite|{{{21|—}}}|{{{21hi|}}}}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{22|—}}}|{{{22hi|}}}}}
|{{el-adj-para-hilite|{{{23|—}}}|{{{23hi|}}}}}
|{{el-adj-para-hilite|{{{24|—}}}|{{{24hi|}}}}}
|-
|style="background:var(--wikt-palette-grey-0,#ffffff); text-align:left" colspan="7"|<!--
-->{{#if:{{{el|}}}<!--
-->|'''Βικιλεξικό''': [[:el:{{{el|}}}|{{{el|}}}]],<!--
--> [[:el:Κατηγορία:Επίθετα που κλίνονται όπως το '{{{el|}}}' (νέα ελληνικά)|<!--
-->Κατηγορία:Επίθετα που κλίνονται όπως το '{{{el|}}}' (νέα ελληνικά)]]<!--
-->}}<!--
-->{{#if:{{{note|}}}|<br>{{{note|}}}}}
|}<!--
--><noinclude>{{documentation}}[[ကဏ္ဍ:ထာမ်ပလိက်မသ္ပထၜာတ်လဝ်-အဝ်တဝ်နူကဵု SurjectionBot]]</noinclude>
29hcco5qvovj7l42r92pw2cglhvfnrh
ထာမ်ပလိက်:el-adj-paradigm-1/documentation
10
296158
397337
2026-06-21T15:46:44Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{documentation subpage}} ; A template to display a table of adjective inflection endings. ;Parameters: * '''ID''': the identifying string for the required paradigm (eg {{el-box|ος-η-ο}}). * '''en''': the prototype for this paradigm used in [[en:|'''Wiktionary''']] * '''el''': the prototype for this paradigm used in [[:el:|'''το Βικιλεξικό''']] * '''descrip''': oxytone (fo..."
397337
wikitext
text/x-wiki
{{documentation subpage}}
; A template to display a table of adjective inflection endings.
;Parameters:
* '''ID''': the identifying string for the required paradigm (eg {{el-box|ος-η-ο}}).
* '''en''': the prototype for this paradigm used in [[en:|'''Wiktionary''']]
* '''el''': the prototype for this paradigm used in [[:el:|'''το Βικιλεξικό''']]
* '''descrip''': oxytone (for example)
* '''note''': optional
* The endings to be displayed are entered in '''numbered parameters''', ordered from top left to bottom right.
;See also:
* {{temp|el-adj-paradigm-1a}}
* {{temp|el-adj-paradigm-2}}
<includeonly>
[[ကဏ္ဍ:ထာမ်ပလိက်ဂရေတ်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဂမၠိုၚ်|A-en]]
</includeonly>
7yvfjf77hr7grqb640z29p8ilwc7k1q
ထာမ်ပလိက်:el-adj-para-hilite
10
296159
397338
2026-06-21T15:48:11Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{#if:{{{2|}}}<!-- -->|<span style="font-weight:bold; color:var(--wikt-palette-deepred,red);">{{{1|}}}</span><!-- -->|{{{1|}}}<!-- -->}}<!-- --><noinclude>{{documentation}}[[ကဏ္ဍ:ထာမ်ပလိက်မသ္ပထၜာတ်လဝ်-အဝ်တဝ်နူကဵု SurjectionBot]]</noinclude>"
397338
wikitext
text/x-wiki
{{#if:{{{2|}}}<!--
-->|<span style="font-weight:bold; color:var(--wikt-palette-deepred,red);">{{{1|}}}</span><!--
-->|{{{1|}}}<!--
-->}}<!--
--><noinclude>{{documentation}}[[ကဏ္ဍ:ထာမ်ပလိက်မသ္ပထၜာတ်လဝ်-အဝ်တဝ်နူကဵု SurjectionBot]]</noinclude>
b79cp0zmfnj1si34spl8rkjacrsbp3r
ထာမ်ပလိက်:el-adj-para-hilite/documentation
10
296160
397339
2026-06-21T15:49:22Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{documentation subpage}} ; Used only by {{temp|el-adj-paradigm-1}} and {{temp|el-adj-paradigm-2}} <includeonly> [[ကဏ္ဍ:ထာမ်ပလိက်ဂရေတ်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဂမၠိုၚ်|A]] </includeonly>"
397339
wikitext
text/x-wiki
{{documentation subpage}}
; Used only by {{temp|el-adj-paradigm-1}} and {{temp|el-adj-paradigm-2}}
<includeonly>
[[ကဏ္ဍ:ထာမ်ပလိက်ဂရေတ်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဂမၠိုၚ်|A]]
</includeonly>
dzb8f2gukr8i0xu512rpldkzs7cz5bh
ထာမ်ပလိက်:el-adj-paradigm-2
10
296161
397340
2026-06-21T15:57:59Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{#invoke:checkparams|error}}<!-- Validate template parameters --> {|style="border:1px solid var(--wikt-palette-grey-blue-8,SteelBlue);background:var(--wikt-palette-white,#ffffff);border-collapse:collapse;width:72%;margin-left:3%;text-align:center;" cellpadding="1" rules="all" |-{{#if:{{{colour|}}}|style="border-top:3px solid {{{colour|}}};"|style="border-top:1px solid var(--wikt-palette-grey-blue-8,steelblue);"}} |st..."
397340
wikitext
text/x-wiki
{{#invoke:checkparams|error}}<!-- Validate template parameters -->
{|style="border:1px solid var(--wikt-palette-grey-blue-8,SteelBlue);background:var(--wikt-palette-white,#ffffff);border-collapse:collapse;width:72%;margin-left:3%;text-align:center;" cellpadding="1" rules="all"
|-{{#if:{{{colour|}}}|style="border-top:3px solid {{{colour|}}};"|style="border-top:1px solid var(--wikt-palette-grey-blue-8,steelblue);"}}
|style="width:33%; text-align:left"|<span style="font-weight:bold; font-size:120%; color:var(--wikt-palette-deepred,red);"><!--
-->ID: {{{ID|}}} [[Template:el-decl-adj-{{{ID|}}}|<small><sup>Temp</sup></small>]]</span><!--
--> ({{PAGESINCAT:Greek adjectives in declension {{{ID|}}}}}<!--
--> [[:en:Category:Greek adjectives in declension {{{ID|}}}|<sup>ကဏ္ဍ</sup>]])
|style="background:var(--wikt-palette-lightblue,#cce4fc);border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue); width:33%" colspan="3"|singular
|style="background:var(--wikt-palette-lightblue,#cce4fc);border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);" colspan="3"|plural
|- style="background:var(--wikt-palette-lightblue,#cce4fc)"
|style="background:var(--wikt-palette-white,#ffffff); text-align:left"<!--
-->| {{#if:{{{en|}}}|eg: [[{{{en|}}}]]}} {{#if:{{{descrip|}}}|({{{descrip|}}})}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{g|m}}
|{{g|f}}
|{{g|n}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{g|m}}
|{{g|f}}
|{{g|n}}
|-
|style="background:var(--wikt-palette-lightblue,#cce4fc)"|မဒုၚ်ယၟု
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{1|—}}}|{{{1hi|}}}}}
|{{el-adj-para-hilite|{{{2|—}}}|{{{2hi|}}}}}
|{{el-adj-para-hilite|{{{3|—}}}|{{{3hi|}}}}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{4|—}}}|{{{4hi|}}}}}
|{{el-adj-para-hilite|{{{5|—}}}|{{{5hi|}}}}}
|{{el-adj-para-hilite|{{{6|—}}}|{{{6hi|}}}}}
|-\
|style="background:var(--wikt-palette-lightblue,#cce4fc)"|ဗဳဇဂကူ
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{7|—}}}|{{{7hi|}}}}}
|{{el-adj-para-hilite|{{{8|—}}}|{{{8hi|}}}}}
|{{el-adj-para-hilite|{{{9|—}}}|{{{9hi|}}}}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{10|—}}}|{{{10hi|}}}}}
|{{el-adj-para-hilite|{{{11|—}}}|{{{11hi|}}}}}
|{{el-adj-para-hilite|{{{12|—}}}|{{{12hi|}}}}}
|-
|style="background:var(--wikt-palette-lightblue,#cce4fc)"|ကမ္မကာရက
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{13|—}}}|{{{13hi|}}}}}
|{{el-adj-para-hilite|{{{14|—}}}|{{{14hi|}}}}}
|{{el-adj-para-hilite|{{{15|—}}}|{{{15hi|}}}}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{16|—}}}|{{{16hi|}}}}}
|{{el-adj-para-hilite|{{{17|—}}}|{{{17hi|}}}}}
|{{el-adj-para-hilite|{{{18|—}}}|{{{18hi|}}}}}
|-
|style="background:var(--wikt-palette-lightblue,#cce4fc)"|ပရေၚ်ဂယိုၚ်လမျီု
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{19|—}}}|{{{19hi|}}}}}
|{{el-adj-para-hilite|{{{20|—}}}|{{{20hi|}}}}}
|{{el-adj-para-hilite|{{{21|—}}}|{{{21hi|}}}}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{22|—}}}|{{{22hi|}}}}}
|{{el-adj-para-hilite|{{{23|—}}}|{{{23hi|}}}}}
|{{el-adj-para-hilite|{{{24|—}}}|{{{24hi|}}}}}
|-
|style="background:var(--wikt-palette-white,#ffffff); text-align:left" colspan="7"|<!--
-->{{#if:{{{el|}}}<!--
-->|'''Βικι: [[:el:{{{el|}}}|{{{el|}}}]]'''<!--
-->[[:el:Κατηγορία:Επίθετα που κλίνονται όπως το '{{{el|}}}' (νέα ελληνικά)|<sup>Cat</sup>]]<!--
-->{{#if:{{{ref|}}}<!--
-->|,<!--
-->}}<!--
-->}}<!--
--><span style="font-size:90%;text-align:left"> {{{ref|}}}</span><!--
-->{{#if:{{{note|}}}<!--
-->|<br>{{{note|}}}<!--
-->}}
|}<!--
--><noinclude>{{documentation}}</noinclude>
oqkv02racl800t14wtfpsyb6c0eaw80
397342
397340
2026-06-21T16:00:05Z
咽頭べさ
33
397342
wikitext
text/x-wiki
{{#invoke:checkparams|error}}<!-- Validate template parameters -->
{|style="border:1px solid var(--wikt-palette-grey-blue-8,SteelBlue);background:var(--wikt-palette-white,#ffffff);border-collapse:collapse;width:72%;margin-left:3%;text-align:center;" cellpadding="1" rules="all"
|-{{#if:{{{colour|}}}|style="border-top:3px solid {{{colour|}}};"|style="border-top:1px solid var(--wikt-palette-grey-blue-8,steelblue);"}}
|style="width:33%; text-align:left"|<span style="font-weight:bold; font-size:120%; color:var(--wikt-palette-deepred,red);"><!--
-->ID: {{{ID|}}} [[Template:el-decl-adj-{{{ID|}}}|<small><sup>Temp</sup></small>]]</span><!--
--> ({{PAGESINCAT:Greek adjectives in declension {{{ID|}}}}}<!--
--> [[:en:Category:Greek adjectives in declension {{{ID|}}}|<sup>ကဏ္ဍ</sup>]])
|style="background:var(--wikt-palette-lightblue,#cce4fc);border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue); width:33%" colspan="3"|ကိုန်ဨကဝုစ်
|style="background:var(--wikt-palette-lightblue,#cce4fc);border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);" colspan="3"|ကိုန်ဗဟုဝစ်
|- style="background:var(--wikt-palette-lightblue,#cce4fc)"
|style="background:var(--wikt-palette-white,#ffffff); text-align:left"<!--
-->| {{#if:{{{en|}}}|eg: [[{{{en|}}}]]}} {{#if:{{{descrip|}}}|({{{descrip|}}})}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{g|m}}
|{{g|f}}
|{{g|n}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{g|m}}
|{{g|f}}
|{{g|n}}
|-
|style="background:var(--wikt-palette-lightblue,#cce4fc)"|မဒုၚ်ယၟု
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{1|—}}}|{{{1hi|}}}}}
|{{el-adj-para-hilite|{{{2|—}}}|{{{2hi|}}}}}
|{{el-adj-para-hilite|{{{3|—}}}|{{{3hi|}}}}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{4|—}}}|{{{4hi|}}}}}
|{{el-adj-para-hilite|{{{5|—}}}|{{{5hi|}}}}}
|{{el-adj-para-hilite|{{{6|—}}}|{{{6hi|}}}}}
|-\
|style="background:var(--wikt-palette-lightblue,#cce4fc)"|ဗဳဇဂကူ
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{7|—}}}|{{{7hi|}}}}}
|{{el-adj-para-hilite|{{{8|—}}}|{{{8hi|}}}}}
|{{el-adj-para-hilite|{{{9|—}}}|{{{9hi|}}}}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{10|—}}}|{{{10hi|}}}}}
|{{el-adj-para-hilite|{{{11|—}}}|{{{11hi|}}}}}
|{{el-adj-para-hilite|{{{12|—}}}|{{{12hi|}}}}}
|-
|style="background:var(--wikt-palette-lightblue,#cce4fc)"|ကမ္မကာရက
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{13|—}}}|{{{13hi|}}}}}
|{{el-adj-para-hilite|{{{14|—}}}|{{{14hi|}}}}}
|{{el-adj-para-hilite|{{{15|—}}}|{{{15hi|}}}}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{16|—}}}|{{{16hi|}}}}}
|{{el-adj-para-hilite|{{{17|—}}}|{{{17hi|}}}}}
|{{el-adj-para-hilite|{{{18|—}}}|{{{18hi|}}}}}
|-
|style="background:var(--wikt-palette-lightblue,#cce4fc)"|ပရေၚ်ဂယိုၚ်လမျီု
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{19|—}}}|{{{19hi|}}}}}
|{{el-adj-para-hilite|{{{20|—}}}|{{{20hi|}}}}}
|{{el-adj-para-hilite|{{{21|—}}}|{{{21hi|}}}}}
|style="border-left:2px solid var(--wikt-palette-grey-blue-8,SteelBlue);"|{{el-adj-para-hilite|{{{22|—}}}|{{{22hi|}}}}}
|{{el-adj-para-hilite|{{{23|—}}}|{{{23hi|}}}}}
|{{el-adj-para-hilite|{{{24|—}}}|{{{24hi|}}}}}
|-
|style="background:var(--wikt-palette-white,#ffffff); text-align:left" colspan="7"|<!--
-->{{#if:{{{el|}}}<!--
-->|'''Βικι: [[:el:{{{el|}}}|{{{el|}}}]]'''<!--
-->[[:el:Κατηγορία:Επίθετα που κλίνονται όπως το '{{{el|}}}' (νέα ελληνικά)|<sup>Cat</sup>]]<!--
-->{{#if:{{{ref|}}}<!--
-->|,<!--
-->}}<!--
-->}}<!--
--><span style="font-size:90%;text-align:left"> {{{ref|}}}</span><!--
-->{{#if:{{{note|}}}<!--
-->|<br>{{{note|}}}<!--
-->}}
|}<!--
--><noinclude>{{documentation}}</noinclude>
ks9bcogryqtbfvz8ppqojl1h72xhk9c
ထာမ်ပလိက်:el-adj-paradigm-2/documentation
10
296162
397341
2026-06-21T15:59:17Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{documentation subpage}} ; A template to display a table of adjective inflection endings. ;Parameters: * '''ID''': the identifying string for the required paradigm (eg {{el-box|ος-η-ο}}). * '''colour''' (optional): the colour of the table's top border. * '''ref''': paradigm sources, the text and links to be displayed (eg {{el-box|<nowiki>Holton:#3.1 ([[όμορφος]]</nowiki>}}). * '''en'..."
397341
wikitext
text/x-wiki
{{documentation subpage}}
; A template to display a table of adjective inflection endings.
;Parameters:
* '''ID''': the identifying string for the required paradigm (eg {{el-box|ος-η-ο}}).
* '''colour''' (optional): the colour of the table's top border.
* '''ref''': paradigm sources, the text and links to be displayed (eg {{el-box|<nowiki>Holton:#3.1 ([[όμορφος]]</nowiki>}}).
* '''en''': the prototype for this paradigm used in [[en:|'''Wiktionary''']]
* '''el''': the prototype for this paradigm used in [[:el:|'''το Βικιλεξικό''']]
* '''descrip''': oxytone (for example)
* '''note''': optional
* The endings to be displayed are entered in '''numbered parameters''', ordered from top left to bottom right.
;See also:
* {{temp|el-adj-paradigm-1}}
* {{temp|el-adj-paradigm-1a}}
<includeonly>
[[ကဏ္ဍ:ထာမ်ပလိက်ဂရေတ်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဂမၠိုၚ်|A-en]]
</includeonly>
qnazv64yhjsfx099og2g57euzqhgorl
ထာမ်ပလိက်:el-decl-adj-degrees
10
296163
397344
2026-06-21T16:09:03Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{#invoke:checkparams|error}}<!-- Validate template parameters --><noinclude><!-- el-decl-adj-degrees Creates the degrees of comparison (landscape positive) section --> {{el-decl-adj-doc}} </noinclude><includeonly>{{inflection-box-top|title=မဂွံလဝ်အာဲကၟာဲဆေၚ်စပ်ကဵုပတဝ်ပတုပ်နူအဆက်လက္ကရဴ|flow=vertical}} {{inflection-table-t..."
397344
wikitext
text/x-wiki
{{#invoke:checkparams|error}}<!-- Validate template parameters
--><noinclude><!-- el-decl-adj-degrees Creates the degrees of comparison (landscape positive) section -->
{{el-decl-adj-doc}}
</noinclude><includeonly>{{inflection-box-top|title=မဂွံလဝ်အာဲကၟာဲဆေၚ်စပ်ကဵုပတဝ်ပတုပ်နူအဆက်လက္ကရဴ|flow=vertical}}
{{inflection-table-top|palette=blue|title=-|class=translit-on-own-line}}
! rowspan="2" | comparative [[:en:Wiktionary:Greek entry guidelines/Glossary#comparative|(?)]] <!-- main "comparative" text is not linked due to non-compliant contrast between link blue and background blue -->
! colspan="3" | ကိုန်ဨကဝုစ်
! rowspan="999" class="separator" |
! colspan="3" | ကိုန်ဗဟုဝစ်
|- class="secondary"
! ပုလ္လိၚ်
! ဣတ္တိလိၚ်
! နပုလ္လိၚ်
! ပုလ္လိၚ်
! ဣတ္တိလိၚ်
! နပုလ္လိၚ်
|-
{{el-decl-adj-ος-η-ο-degrees|stem={{{compstem|}}} |stem2={{{compstem2|}}} }}
{{inflection-table-bottom|notes='''မဂွံလဝ်အာဲကၟာဲ:''' relative superlative: {{lang|el|ο}} + ဗီုပြၚ်မတဝ်ပတုပ်: ဥပမာ {{m|el||ο {{{compstem|}}}ος}}, {{#if:{{{compstem2|}}}|{{m|el||ο {{{compstem2|}}}ος}}, }}etc.{{#if:{{{abstem|}}}||{{#if:{{{note|}}}|<br>'''စၟတ်သမ္တီ:''' {{{note}}} }} }} }}
{{#if:{{{abstem|}}}|
{{inflection-table-top|palette=blue|title=-|class=translit-on-own-line}}
! rowspan="2" {{!}} absolute<br>superlative [[:en:Wiktionary:Greek entry guidelines/Glossary#absolute superlative|(?)]] <!-- main "superlative" text is not linked due to non-compliant contrast between link blue and background blue -->
! colspan="3" {{!}} ကိုန်ဨကဝုစ်
! rowspan="999" class="separator" {{!}}
! colspan="3" {{!}} ကိုန်ဗဟုဝစ်
{{!-}} class="secondary"
! ပုလ္လိၚ်
! ဣတ္တိလိၚ်
! နပုလ္လိၚ်
! ပုလ္လိၚ်
! ဣတ္တိလိၚ်
! နပုလ္လိၚ်
{{!-}}
{{el-decl-adj-ος-η-ο-degrees|stem={{{abstem|}}} |stem2={{{abstem2|}}} }}
{{inflection-table-bottom|notes={{#if:{{{note|}}}|'''စၟတ်သမ္တီ:''' {{{note}}}}}}}}}
{{inflection-box-bottom}}</includeonly><noinclude>
{{tcat|adecl:*}}
</noinclude>
5nva3rdaub5jkw2t67zk63tmwz6ooz3
ထာမ်ပလိက်:el-nM-ος-οι-1
10
296164
397345
2026-06-21T16:12:25Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "<includeonly>{{el-decl-noun |1={{{1}}}ός |2={{{1}}}οί |3={{{1}}}ού |4={{{1}}}ών |5={{{1}}}ό |6={{{1}}}ούς |7={{{1}}}έ |8={{{1}}}οί |note={{{note|}}} }}{{#if:{{NAMESPACE}}||}}</includeonly><noinclude> The inflection-table template for Greek nouns declining like '''{{m|el|αδελφός}}'''. Other examples may be found in the [[:Category:Greek nouns declining like 'αδελφός']]. The syntax <code><n..."
397345
wikitext
text/x-wiki
<includeonly>{{el-decl-noun
|1={{{1}}}ός
|2={{{1}}}οί
|3={{{1}}}ού
|4={{{1}}}ών
|5={{{1}}}ό
|6={{{1}}}ούς
|7={{{1}}}έ
|8={{{1}}}οί
|note={{{note|}}}
}}{{#if:{{NAMESPACE}}||}}</includeonly><noinclude>
The inflection-table template for Greek nouns declining like '''{{m|el|αδελφός}}'''. Other examples may be found in the [[:Category:Greek nouns declining like 'αδελφός']].
The syntax <code><nowiki>{{el-nM-ος-οι-1|αδελφ}}</nowiki></code> produces the table:
{{el-nM-ος-οι-1|αδελφ}}
A full list of other declension-table templates with a brief indication of use can be found at '''[[Wiktionary:Greek noun inflection-table templates]]'''.
{{tcat|ndecl}}
</noinclude>
95p8zbwxpu5t3pwwlbg957p0m6ae6i4
ထာမ်ပလိက်:el-decl-noun
10
296165
397346
2026-06-21T16:15:43Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{#invoke:checkparams|error}}<!-- Validate template parameters --><noinclude>{{documentation}}</noinclude><!-- Show table (omit |tall=yes) note0 is used at Templates as standard for all category note is used by editors at pages It calls Template:inflection-table-top Colours (check all blues) at Wiktionary:Palette#Table Template:inflection-table-bottom --><includeonly>{{inflection-table-top|title={{#if:{{{title|}..."
397346
wikitext
text/x-wiki
{{#invoke:checkparams|error}}<!-- Validate template parameters
--><noinclude>{{documentation}}</noinclude><!--
Show table (omit |tall=yes)
note0 is used at Templates as standard for all category
note is used by editors at pages
It calls Template:inflection-table-top
Colours (check all blues) at Wiktionary:Palette#Table
Template:inflection-table-bottom
--><includeonly>{{inflection-table-top|title={{#if:{{{title|}}}|{{{title|}}}|မလဟုတ်စှ်ေဆေၚ်စပ်ကဵု {{m-self|el|{{{1}}}|tr=-}}}}|palette=blue}}
!
! ကိုန်ဨကဝုစ်
! ကိုန်ဗဟုဝစ်
|-
! မဒုၚ်ယၟု
| data-accel-col=1 | {{#if:{{{ns-v|}}}<!--
-->|{{{ns-v|}}}<!--
-->|{{#switch:{{{1|}}}|-|—=—|{{l-self|el|{{{1|}}}}}{{#if:{{{ns|}}}|<br>{{l-self|el|{{{ns|}}}}}}}}}<!--
-->}}
| data-accel-col=2 | {{#if:{{{np-v|}}}<!--
-->|{{{np-v|}}}<!--
-->|{{#switch:{{{2|}}}|-|—=—|{{l-self|el|{{{2|}}}}}{{#if:{{{np|}}}|<br>{{l-self|el|{{{np|}}}}}}}}}<!--
-->}}
|-
! ဗဳဇဂကူ
| data-accel-col=1 | {{#if:{{{gs-v|}}}<!--
-->|{{{gs-v|}}}<!--
-->|{{#switch:{{{3|}}}|-|—=—|{{l-self|el|{{{3|}}}}}{{#if:{{{gs|}}}|<br>{{l-self|el|{{{gs|}}}}}}}}}<!--
-->}}
| data-accel-col=2 | {{#if:{{{gp-v|}}}<!--
-->|{{{gp-v|}}}<!--
-->|{{#switch:{{{4|}}}|-|—=—|{{l-self|el|{{{4|}}}}}{{#if:{{{gp|}}}|<br>{{l-self|el|{{{gp|}}}}}}}}}<!--
-->}}
|-
! ကမ္မကာရက
| data-accel-col=1 | {{#if:{{{as-v|}}}<!--
-->|{{{as-v|}}}<!--
-->|{{#switch:{{{5|}}}|-|—=—|{{l-self|el|{{{5|}}}}}{{#if:{{{as|}}}|<br>{{l-self|el|{{{as|}}}}}}}}}<!--
-->}}
| data-accel-col=2 | {{#if:{{{ap-v|}}}<!--
-->|{{{ap-v|}}}<!--
-->|{{#switch:{{{6|}}}|-|—=—|{{l-self|el|{{{6|}}}}}{{#if:{{{ap|}}}|<br>{{l-self|el|{{{ap|}}}}}}}}}<!--
-->}}
|-
! ပရေၚ်ဂယိုၚ်လမျီု
| data-accel-col=1 | {{#if:{{{vs-v|}}}<!--
-->|{{{vs-v|}}}<!--
-->|{{#switch:{{{7|}}}|-|—=—|{{l-self|el|{{{7|}}}}}{{#if:{{{vs|}}}|<br>{{l-self|el|{{{vs|}}}}}}}}}<!--
-->}}
| data-accel-col=2 | {{#if:{{{vp-v|}}}<!--
-->|{{{vp-v|}}}<!--
-->|{{#switch:{{{8|}}}|-|—=—|{{l-self|el|{{{8|}}}}}{{#if:{{{vp|}}}|<br>{{l-self|el|{{{vp|}}}}}}}}}<!--
-->}}
{{inflection-table-bottom|notes=
{{#if:{{{note0|}}}
| {{{note0|}}}}} {{#if:{{{note|}}}| <br>{{{note|}}}
|
{{#if:{{{note|}}}|
{{!}}-
{{!}} colspan="4" align="left" style="font-size:small; var(--wikt-palette-grey-blue-1, #ecf2fc)" {{!}} {{{note|}}}}} }}}}</includeonly>
<!-- check note0 at δύναμη, note0 and note at ωρίμανση Template:el-nF-η-εις-3b Only note at μέτοικος (as though in fem) Template:el-nM-ος-οι-3b -->
o2bqfui5t9oijg3ut9s1v12ne09hug2
ထာမ်ပလိက်:el-decl-noun/documentation
10
296166
397347
2026-06-21T16:20:40Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{documentation subpage}} {|style="background-color:var(--wikt-palette-grey-blue-4,#bfdfff); margin:2em auto;" |- | |- | style="text-align:center; color:var(--wikt-palette-deepred,red); font-weight:bold; font-size:120%;" |This template is not intended for direct use. |- | style="text-align:center; font-size:120%;" |  It provides the structure for [[:Category:Greek noun inflection-table templates]].  ..."
397347
wikitext
text/x-wiki
{{documentation subpage}}
{|style="background-color:var(--wikt-palette-grey-blue-4,#bfdfff); margin:2em auto;"
|-
|
|-
| style="text-align:center; color:var(--wikt-palette-deepred,red); font-weight:bold; font-size:120%;" |This template is not intended for direct use.
|-
| style="text-align:center; font-size:120%;" |  It provides the structure for [[:Category:Greek noun inflection-table templates]].  
|-
|
|}
===Usage===
# Numbered arguments provide the inflected forms. A hyphen/minus sign should be used for absent forms.
# Double character arguments provide an optional second form.
# Verbatim arguments enable parentheses, superscripts, etc to be used.
# '''All''' parameters needed should be copied to all daughter-templates. Especially |note and |note0 at all templates.
It calls
* [[Template:inflection-table-top]]
*: Show table (omit parameter |tall=yes)
*: Colours of backgournd (and fonts) are found at [[Wiktionary:Palette#Table]] (check all blues)
*:: collapsible title =
*:: subtitles_1 (singular, plural and all cases) =
*:: subtitles_2 are not needed (as in adjectives for genders)
*:: notes =
* [[Template:inflection-table-bottom]]
* [[Template:l-self]]
{| style="text-align:center; border:1px solid var(--border-color-base,#aaaaaa); background-color:var(--wikt-palette-white,#ffffff); margin:1em auto;" cellpadding="3" rules="all"
|- style="background-color:var(--wikt-palette-grey-blue-4,#bfdfff);"
|
|colspan="2"| singular
|colspan="2"| plural
|colspan="2"| verbatim (s & P)
|-
|width="14%"|Nominative
|width="14%"| 1
|width="14%"| ns
|width="14%"| 2
|width="14%"| np
|width="14%"| ns-v
|width="14%"| np-v
|-
|Genitive || 3 || gs || 4 || gp || gs-v || gp-v
|-
|Accusative|| 5 || as || 6 || ap || as-v || ap-v
|-
|Vocative || 7 || vs || 8 || vp || vs-v || vp-v
|}
===Example===
{{el-decl-noun|title=title{{=}}A different title. (''else:'' Declension of 'our PAGENAME')
|note0=note0{{=}}A note as in [[δύναμη]] and all [[:Category:Greek nouns declining like 'δύναμη']] (applied at [[Template:el-nF-η-εις-3b]]).
|note=note{{=}}Extra note used in specific pages (as in [[ωρίμανση]]). Or, only note by editor as in [[μέτοικος]] (as though in feminine [[Template:el-nM-ος-οι-3b]]).}}
===Problems===
* The numbered sequence should be vertical, not horizontal (a difficult change). nom.singular = 1, gen.singular = 2 etc
<includeonly>
[[ကဏ္ဍ:ထာမ်ပလိက်ဂရေတ်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမ်ဂမၠိုၚ်|*]]
</includeonly>
rnvux24sznt8gwsjp3ewsvw23ttpk2f
ကဏ္ဍ:ဝေါဟာသဒ္ဒာဂရေတ်ဂမၠိုၚ်
14
296167
397348
2026-06-21T16:21:39Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာဂရေတ်]]"
397348
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာဂရေတ်]]
lk4232qj9sdzkudlinj22ebn6hxn4jd
γραμματικόν
0
296169
397350
2026-06-21T16:29:56Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "==ဂရေတ်တြေံ== ===ဗွဟ်ရမ္သာၚ်=== {{grc-IPA|γρᾰμμᾰτῐκόν}} ===နာမ်=== {{grc-noun|head=γρᾰμμᾰτῐκόν|γρᾰμμᾰτῐκοῦ|n|second}} # မဗၠးၜးပရေၚ်သ္ဒးလေဲမွဲသာ်နကဵုညးမကေတ်ၚုဟ်လိၚ်ပ္ဍဲအဳဂျေပ်။ ====လဟုတ်စှ်ေ==== {{gr..."
397350
wikitext
text/x-wiki
==ဂရေတ်တြေံ==
===ဗွဟ်ရမ္သာၚ်===
{{grc-IPA|γρᾰμμᾰτῐκόν}}
===နာမ်===
{{grc-noun|head=γρᾰμμᾰτῐκόν|γρᾰμμᾰτῐκοῦ|n|second}}
# မဗၠးၜးပရေၚ်သ္ဒးလေဲမွဲသာ်နကဵုညးမကေတ်ၚုဟ်လိၚ်ပ္ဍဲအဳဂျေပ်။
====လဟုတ်စှ်ေ====
{{grc-decl|γρᾰμμᾰτῐκόν|γρᾰμμᾰτῐκοῦ}}
====နာမဝိသေသန====
{{head|grc|adjective form|head=γρᾰμμᾰτῐκόν}}
# {{inflection of|grc|γρᾰμμᾰτῐκός||nom|s|n}}
# {{inflection of|grc|γρᾰμμᾰτῐκός||acc|s|m}}
# {{inflection of|grc|γρᾰμμᾰτῐκός||acc|s|n}}
# {{inflection of|grc|γρᾰμμᾰτῐκός||voc|s|n}}
===နာမ်===
{{head|grc|noun form|head=γρᾰμμᾰτῐκόν|g=m}}
# {{inflection of|grc|γρᾰμμᾰτῐκός||acc|s}}
i7vfleg8j4taj5mbw7xck9bdjhck1j3
γραμματικοῦ
0
296170
397351
2026-06-21T16:32:00Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "==ဂရေတ်တြေံ== ===နာမ်=== {{head|grc|noun form|head=γρᾰμμᾰτῐκοῦ|g=m}} # {{inflection of|grc|γρᾰμμᾰτῐκόν||acc|s}}"
397351
wikitext
text/x-wiki
==ဂရေတ်တြေံ==
===နာမ်===
{{head|grc|noun form|head=γρᾰμμᾰτῐκοῦ|g=m}}
# {{inflection of|grc|γρᾰμμᾰτῐκόν||acc|s}}
a8oaodvvcr6lgixp03s4nkc2i2al7lg
γρᾰμμᾰτῐκοῦ
0
296171
397352
2026-06-21T16:32:24Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "==ဂရေတ်တြေံ== ===နာမ်=== {{head|grc|noun form|head=γρᾰμμᾰτῐκοῦ|g=m}} # {{inflection of|grc|γρᾰμμᾰτῐκόν||acc|s}}"
397352
wikitext
text/x-wiki
==ဂရေတ်တြေံ==
===နာမ်===
{{head|grc|noun form|head=γρᾰμμᾰτῐκοῦ|g=m}}
# {{inflection of|grc|γρᾰμμᾰτῐκόν||acc|s}}
a8oaodvvcr6lgixp03s4nkc2i2al7lg
grammatica
0
296172
397353
2026-06-21T16:48:07Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|Grammatica|grammàtica}} ==ဒါတ်== {{wp|nl:}} ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{der|nl|la|grammatica}}၊ နကဵုအဆက်နူ {{der|nl|grc|γραμματική}}၊ နကဵုမဆေၚ်စပ်ကဵုနူ {{m|grc|γράφω}}၊ နူအဆက်နကဵု {{der|nl|ine-pro|*gerebh-}} ===ဗွဟ်ရမ္သာၚ်=== * {{IPA|nl|/ˌɣrɑˈma..."
397353
wikitext
text/x-wiki
{{also|Grammatica|grammàtica}}
==ဒါတ်==
{{wp|nl:}}
===နိရုတ်===
ဝေါဟာကၠုၚ်နူ {{der|nl|la|grammatica}}၊ နကဵုအဆက်နူ {{der|nl|grc|γραμματική}}၊ နကဵုမဆေၚ်စပ်ကဵုနူ {{m|grc|γράφω}}၊ နူအဆက်နကဵု {{der|nl|ine-pro|*gerebh-}}
===ဗွဟ်ရမ္သာၚ်===
* {{IPA|nl|/ˌɣrɑˈmaː.ti.kaː/}}
* {{audio|nl|nl-grammatica.ogg}}
* {{hyphenation|nl|gram|ma|ti|ca}}
===နာမ်===
{{nl-noun|f|-'s|+}}
# သဒ္ဒါ။
# လိက်သ္ဇိုၚ်သ္ကံတဲမဆေၚ်စပ်ကဵုသဒ္ဒါ။
===မဒုၚ်လွဳစ===
* {{desc|id|bor=1|gramatika}}
* {{desc|dcr|grammatica}}
==အေန်တာလိၚ်္ဂဝ်==
===နာမ်===
{{ia-noun}}
# သဒ္ဒါ။
==အဳတလဳ==
{{wp|it:}}
===ဗွဟ်ရမ္သာၚ်===
{{it-pr}}
* {{audio|it|LL-Q652 (ita)-LangPao-grammatica.wav}}
====နာမဝိသေသန====
{{head|it|adjective form}}
# {{adj form of|it|grammatico||f|s}}
===နာမ်===
{{it-noun|f}}
# သဒ္ဒါ။
# {{female equivalent of|it|grammatico}}
==လပ်တေန်==
===ဗွဟ်ရမ္သာၚ်===
* {{la-IPA|ann=1}}
* {{la-IPA|grammaticā|ann=1}}
{{root|la|ine-pro|*gerbʰ-}}
===နာမ်===
{{la-noun|grammatica<1>}}<br />
{{la-noun|grammatica<2>}}
# သဒ္ဒါ၊ ကွတ်ဗေဒဘာသာ။
#: {{syn|la|grammaticē|g1=f}}
=====လဟုတ်စှ်ေ=====
{|
|valign="top"|{{la-ndecl|grammatica<1>}}
|valign="top"|{{la-ndecl|grammatica<2>}}
|}
===မဒုၚ်လွဳစ===
* {{desc|lmo|grammaia}}
* {{desc|fro|gramaire|alts=1}}
===နာမ်===
{{head|la|noun form|head=grammaticā}}
# {{inflection of|la|grammatica||abl|s}}
====နာမဝိသေသန====
{{head|la|adjective form}}
# {{inflection of|la|grammaticus||nom//voc|f|s|;|nom//acc//voc|n|p}}
====နာမဝိသေသန====
{{head|la|adjective form|head=grammaticā}}
# {{inflection of|la|grammaticus||abl|f|s}}
==ပဝ်တူဂြဳ==
===နာမ်===
{{pt-noun|f}}
# {{pt-pre-reform|gramática|br=43|pt=11}}
====နာမဝိသေသန====
{{head|pt|adjective form}}
# {{adj form of|pt|grammatico||f|s}}
===နာမ်===
{{pt-noun|f}}
# {{female equivalent of|pt|grammatico}}
==သ္ပုၚ်==
===ဗွဟ်ရမ္သာၚ်===
{{es-pr|grammática}}
===နာမ်===
{{es-noun|f}}
# {{obsolete spelling of|es|gramática}}
1xq188yakfs9t8azpjqzikr28bppj2m
ဗီုပြၚ်သိုၚ်တၟိ:လပ်တေန်/grammaria
118
296173
397354
2026-06-21T16:50:53Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "==လပ်တေန်== ===နာမ်=== {{head|la|နာမ်}} # {{alt form|la|grammaticā}}"
397354
wikitext
text/x-wiki
==လပ်တေန်==
===နာမ်===
{{head|la|နာမ်}}
# {{alt form|la|grammaticā}}
3y8dtgtg1s0s4bkdrjcz0rpnnyspl6y
Grammatica
0
296174
397355
2026-06-21T16:52:41Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|grammatica|grammàtica}} ==အဳတလဳ== ===နာမ်မကိတ်ညဳ=== {{it-proper noun|mfbysense}} # {{surname|it}}"
397355
wikitext
text/x-wiki
{{also|grammatica|grammàtica}}
==အဳတလဳ==
===နာမ်မကိတ်ညဳ===
{{it-proper noun|mfbysense}}
# {{surname|it}}
6mbmxc5ixr5fb0qlfhj4zj4ekca32ng
grammàtica
0
296175
397356
2026-06-21T16:54:03Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|grammatica|Grammatica}} ==သဳစဳလဳယာန်== ===နာမ်=== {{scn-noun|grammàtic|f|a}} # သဒ္ဒါ။"
397356
wikitext
text/x-wiki
{{also|grammatica|Grammatica}}
==သဳစဳလဳယာန်==
===နာမ်===
{{scn-noun|grammàtic|f|a}}
# သဒ္ဒါ။
lbmnsqdpvom0890yv3wawid58kupane
ဗီုပြၚ်သိုၚ်တၟိ:အိန်ဒဝ်-ယူရဝ်ပဳယာန်-အခိုက်ကၞာ/gerebh-
118
296176
397357
2026-06-21T16:56:02Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{reconstructed}} ==အိန်ဒဝ်-ယူရဝ်ပဳယာန်-အခိုက်ကၞာ== ===တံရိုဟ်=== {{head|ine-pro|တံရိုဟ်}} # သကဵုထောဲ။"
397357
wikitext
text/x-wiki
{{reconstructed}}
==အိန်ဒဝ်-ယူရဝ်ပဳယာန်-အခိုက်ကၞာ==
===တံရိုဟ်===
{{head|ine-pro|တံရိုဟ်}}
# သကဵုထောဲ။
3uw6kd18nvbv9de9nnralva1gy33zx0
γράφω
0
296177
397360
2026-06-22T04:19:21Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "==ဂရေတ်တြေံ== ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{inh|grc|grk-pro|*grə́pʰō}}၊ နူကဵုဝေါဟာ {{der|grc|ine-pro|*gerbʰ-}} ===ဗွဟ်ရမ္သာၚ်=== {{grc-IPA|γρά˘φω}} ===ကြိယာ=== {{grc-verb|γρᾰ́φω}} # သကဵုချူခွာတ်မဆဆဵု၊ မကုတ်ထပိုတ်ထောံအပ္..."
397360
wikitext
text/x-wiki
==ဂရေတ်တြေံ==
===နိရုတ်===
ဝေါဟာကၠုၚ်နူ {{inh|grc|grk-pro|*grə́pʰō}}၊ နူကဵုဝေါဟာ {{der|grc|ine-pro|*gerbʰ-}}
===ဗွဟ်ရမ္သာၚ်===
{{grc-IPA|γρά˘φω}}
===ကြိယာ===
{{grc-verb|γρᾰ́φω}}
# သကဵုချူခွာတ်မဆဆဵု၊ မကုတ်ထပိုတ်ထောံအပ္ဍဲတေံ။
# သကဵုဂြဲ၊ ဗွဲခမၞန်၊ ဒဇက်ရုပ်။
# သကဵုချူ။
# သကဵုချူဇန်စှ်ေ၊ ပ္တိုန်ဂလာန်ပရေၚ်သၞောဝ်။
# {{lb|grc|middle}}
## မချူဇန်စှ်ေသွက်ဖဵုဇကု၊ မစှ်ေစၟတ်သမ္တီ။
## သကဵုစၞောန်၊ မပ္တိုန်စောဲအမှု။
# မဒှ်ချူဇန်စှ်ေ၊ မဒှ်အပ္ဍဲဗီုပြၚ်မချူဇန်။
===မဒုၚ်လွဳစ===
* {{desc|el|γράφω}}
* {{desc|grk-mar|гра́фту|гра́фкум}}
* {{desc|it|graffire|bor=1}}
==ဂရေတ်==
===နိရုတ်===
ဝေါဟာကၠုၚ်နူ {{inh|el|grc|γράφω}}၊ နူကဵုဝေါဟာ {{inh|el|grk-pro|*grəpʰō}}၊ နကဵုမဆေၚ်စပ်ကဵုနူ {{der|el|ine-pro|*gerbʰ-}}
===ဗွဟ်ရမ္သာၚ်===
* {{IPA|el|/ˈɣra.fo/}}
* {{hyphenation|el|γρά|φω}}
===ကြိယာ===
{{el-verb|past=έγραψα|passive=γράφομαι}}
# သကဵုချူ၊ ချူကဵုတဝ်မှၚ်။
# သကဵုချူသမ္တီစရၚ်။
# သကဵုချူလလောၚ်တြး၊ မချူလိက်စၟတ်သမ္တီၚုဟ်မး။
==ဂရိအဳတာလျေတ်==
===နိရုတ်===
ဝေါဟာကၠုၚ်နူ {{inh|grk-ita|grc|γράφω}}၊ နူကဵုဝေါဟာ {{inh|grk-ita|grk-pro|*grəpʰō}}၊ နကဵုမဆေၚ်စပ်ကဵုနူ {{der|grk-ita|ine-pro|*gerbʰ-}}
===ဗွဟ်ရမ္သာၚ်===
* {{IPA|grk-ita|/ˈɡra.fo/}}
* {{hyphenation|grk-ita|γρά|φω}}
===ကြိယာ===
{{grk-ita-head|ကြိယာ|latn=grafo}}
# သကဵုချူ။
a1h6gkngas280foyq5vw9snavmv3k5l
ထာမ်ပလိက်:grk-ita-head
10
296178
397361
2026-06-22T04:22:45Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{#if: {{{1|}}}<!-- -->|<!-- -->{{#switch: {{{1}}}<!-- -->| noun = {{small|(သ္ပဂုန်တုဲမရပ်စပ် [[Template:grk-ita-noun]] သွက်နာမ်ဂမၠိုၚ်ညိအဴ)}}<!-- -->| {{head|grk-ita|{{{1}}}<!-- -->|<!-- -->{{#if: {{{latn|}}} | ခ္ဍံက်လိက်လပ်တေန် }}<!-- -->{{#if: {{{grek|}}} | ခ္..."
397361
wikitext
text/x-wiki
{{#if: {{{1|}}}<!--
-->|<!--
-->{{#switch: {{{1}}}<!--
-->| noun = {{small|(သ္ပဂုန်တုဲမရပ်စပ် [[Template:grk-ita-noun]] သွက်နာမ်ဂမၠိုၚ်ညိအဴ)}}<!--
-->| {{head|grk-ita|{{{1}}}<!--
-->|<!--
-->{{#if: {{{latn|}}} | ခ္ဍံက်လိက်လပ်တေန် }}<!--
-->{{#if: {{{grek|}}} | ခ္ဍံက်လိက်ဂရိ }}<!--
-->|{{{latn|}}}{{{grek|}}}<!--
-->|f1sc={{#if: {{{latn|}}} | Latn | Grek }}<!--
-->|tr={{#if: {{{latn|}}} | - }}<!--
-->|{{{2|}}}<!--
-->|{{{3|}}}<!--
-->|{{{4|}}}<!--
-->|{{{5|}}}<!--
-->|{{{6|}}}<!--
-->|{{{7|}}}<!--
-->|{{{8|}}}<!--
-->|{{{9|}}}<!--
-->}}<!--
-->}}<!--
-->| {{small|(Please specify a lexical category)}}
}}<noinclude>{{documentation}}</noinclude>
szkkgmjfr3d3cjpp6c1220q9ld5o99n
ထာမ်ပလိက်:grk-ita-head/documentation
10
296179
397362
2026-06-22T04:24:12Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{documentation subpage}} {{documentation needed}}<!-- Replace this with a short description of the purpose of the template, and how to use it. --> {{hwcat}}"
397362
wikitext
text/x-wiki
{{documentation subpage}}
{{documentation needed}}<!-- Replace this with a short description of the purpose of the template, and how to use it. -->
{{hwcat}}
f8u1ebax0fek1lf9jgky9pqli0yk03y
ကဏ္ဍ:ထာမ်ပလိက်လာၚ်က္ဍိုပ်မအရေဝ်ဂရိအဳတာလျေတ်ဂမၠိုၚ်
14
296180
397363
2026-06-22T04:25:21Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ထာမ်ပလိက်ဂရိအဳတာလျေတ်ဂမၠိုၚ်]][[ကဏ္ဍ:လာၚ်က္ဍိုပ်မအရေဝ်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ဂ]]"
397363
wikitext
text/x-wiki
[[ကဏ္ဍ:ထာမ်ပလိက်ဂရိအဳတာလျေတ်ဂမၠိုၚ်]][[ကဏ္ဍ:လာၚ်က္ဍိုပ်မအရေဝ်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ဂ]]
kcf1yfhuzahv9ybudfcxorixz7107w2
ကဏ္ဍ:ထာမ်ပလိက်ဂရိအဳတာလျေတ်ဂမၠိုၚ်
14
296181
397364
2026-06-22T04:27:16Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာဂရိအဳတာလျေတ်]][[ကဏ္ဍ:ထာမ်ပလိက်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ဂ]]"
397364
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာဂရိအဳတာလျေတ်]][[ကဏ္ဍ:ထာမ်ပလိက်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ဂ]]
8tgyf1dysnjnguf8bh3ia8s82g4n2nn
ထာမ်ပလိက်:grk-ita-noun
10
296182
397365
2026-06-22T04:36:35Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{head|grk-ita|နာမ်|head={{{head|}}}|sort={{{sort|}}}<!-- -->|g=<!-- -->{{#switch:{{{1}}}<!-- -->|m|f|n|m-f|m-p|f-p|n-p={{{1}}}<!-- -->|-=<!-- for nouns with no gender -->|#default=?<!-- -->}}<!-- -->|g2={{{g2|}}}<!-- -->|g3={{{g3|}}}<!-- -->|<!-- -->{{#if: {{{latn|}}} | ခ္ဍံက်လိက်လပ်တေန် }}<!-- -->{{#if: {{{grek|}}} | ခ္ဍံက်လိက်ဂရိ..."
397365
wikitext
text/x-wiki
{{head|grk-ita|နာမ်|head={{{head|}}}|sort={{{sort|}}}<!--
-->|g=<!--
-->{{#switch:{{{1}}}<!--
-->|m|f|n|m-f|m-p|f-p|n-p={{{1}}}<!--
-->|-=<!-- for nouns with no gender
-->|#default=?<!--
-->}}<!--
-->|g2={{{g2|}}}<!--
-->|g3={{{g3|}}}<!--
-->|<!--
-->{{#if: {{{latn|}}} | ခ္ဍံက်လိက်လပ်တေန် }}<!--
-->{{#if: {{{grek|}}} | ခ္ဍံက်လိက်ဂရိ }}<!--
-->|{{{latn|}}}{{{grek|}}}<!--
-->|f1sc={{#if: {{{latn|}}} | Latn | Grek }}<!--
-->|tr={{#if: {{{latn|}}} | - | {{{tr|}}} }}<!--
-->|{{#switch:{{{2|}}}<!--
-->|inv=ကၞိက်ဟွံမာန်<!--
-->|ind=ကၞိက်ဟွံမာန်<!--
-->|unc=တော်ဟွံမာန်<!--
-->}}<!--
-->|<!--
-->|{{#switch:{{{2|}}}|inv|ind|unc|=|#default=ကိုန်ဗဟုဝစ်}}<!--
-->|{{{2|}}}<!--
-->|{{#if:{{{p2|}}}|ဝါ}}<!--
-->|{{{p2|}}}<!--
-->|{{#if:{{{p3|}}}|ဝါ}}<!--
-->|{{{p3|}}}<!--
-->|{{#if:{{{m|}}}|ပုလ္လိၚ်}}<!--
-->|{{{m|}}}<!--
-->|{{#if:{{{m2|}}}|ဝါ}}<!--
-->|{{{m2|}}}<!--
-->|{{#if:{{{m3|}}}|ဝါ}}<!--
-->|{{{m3|}}}<!--
-->|{{#if:{{{f|}}}|ဣတ္တိလိၚ်}}<!--
-->|{{{f|}}}<!--
-->|{{#if:{{{f2|}}}|ဝါ}}<!--
-->|{{{f2|}}}<!--
-->|{{#if:{{{f3|}}}|ဝါ}}<!--
-->|{{{f3|}}}<!--
-->|{{#if:{{{n|}}}|နပုလ္လိၚ်}}<!--
-->|{{{n|}}}<!--
-->|{{#if:{{{n2|}}}|ဝါ}}<!--
-->|{{{n2|}}}<!--
-->|{{#if:{{{n3|}}}|ဝါ}}<!--
-->|{{{n3|}}}<!--
-->|cat2=<!--
-->|cat3=<!--
-->|cat4=<!--
-->}}<!--
--><noinclude>{{documentation}}</noinclude>
pn5hn7er2duvs8anva37313jp33iltq
ထာမ်ပလိက်:grk-ita-noun/documentation
10
296183
397366
2026-06-22T04:37:33Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{documentation subpage}} {{documentation needed}}<!-- Replace this with a short description of the purpose of the template, and how to use it. --> {{hwcat}}"
397366
wikitext
text/x-wiki
{{documentation subpage}}
{{documentation needed}}<!-- Replace this with a short description of the purpose of the template, and how to use it. -->
{{hwcat}}
f8u1ebax0fek1lf9jgky9pqli0yk03y
ကဏ္ဍ:ကြိယာဂရိအဳတာလျေတ်ဂမၠိုၚ်
14
296184
397367
2026-06-22T04:39:42Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » :ကဏ္ဍ:ဘာသာဂရိအဳတာလျေတ်|ဂရိအဳတာလျေတ..."
397367
wikitext
text/x-wiki
[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာဂရိအဳတာလျေတ်|ဂရိအဳတာလျေတ်]] » [[:ကဏ္ဍ:ဝေါဟာအဓိကဂရိအဳတာလျေတ်ဂမၠိုၚ်|ဝေါဟာတံသ္ဇိုၚ်]] » '''ကြိယာဂမၠိုၚ်'''
:ဝေါဟာဂရိအဳတာလျေတ်ပွမယဵုဒုၚ်မစၞောန်ထ္ၜးအတေံ၊ မက္တဵုဒှ်ပရောဟိုတ် ဝါ ကဆံၚ်ဒတန်ဂမၠိုၚ်။
[[ကဏ္ဍ:ဘာသာဂရိအဳတာလျေတ်]][[ကဏ္ဍ:ကြိယာဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ဂ]]
q1stg81d10ricevi4eokn7xwt84heeh
ကဏ္ဍ:ဝေါဟာဂရိအဳတာလျေတ်ပ္တိတ်ရမျာၚ် IPA ဂမၠိုၚ်
14
296185
397368
2026-06-22T04:41:57Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » :ကဏ္ဍ:ဘာသာဂရိအဳတာလျေတ်|ဂရိအဳတာလျေတ..."
397368
wikitext
text/x-wiki
[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာဂရိအဳတာလျေတ်|ဂရိအဳတာလျေတ်]] » '''{{PAGENAME}}'''
:ဝေါဟာဂရိအဳတာလျေတ်လုပ်အဝေါၚ်မဆေၚ်စပ်မပ္တိတ်ရမျာၚ်ပ္ဍဲနကဵုဗီုပြၚ် IPA။
သွက်မအာတ်မိက်ဆေၚ်စပ်ကဵုကဏ္ဍတဏအ်၊ ဗဵုရံၚ် ကဏ္ဍ:မအာတ်မိက်သွက်ရမျာၚ်ပ္ဍဲစရၚ်ဂရိအဳတာလျေတ်ဂမၠိုၚ်။
[[ကဏ္ဍ:ဘာသာဂရိအဳတာလျေတ်]][[ကဏ္ဍ:ဝေါဟာမနွံကဵုမပတိတ်ရမျာၚ် IPA ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ဂ]]
ohb6r0c6gr2ssdqknp9qdakvb643xe6
ကဏ္ဍ:ဝေါဟာဂရိအဳတာလျေတ်ကၠုၚ်နူဝေါဟာအိန်ဒဝ်-ယူရဝ်ပဳယာန်-အခိုက်ကၞာဂမၠိုၚ်
14
296186
397369
2026-06-22T04:42:50Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာဂရိအဳတာလျေတ်]]"
397369
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာဂရိအဳတာလျေတ်]]
51ase10m4azmxnj9f1icluupuqoul1f
ကဏ္ဍ:ဝေါဟာဂရိအဳတာလျေတ်ကၠုၚ်နူဝေါဟာဟေဲလာန်နေတ်-အခိုက်ကၞာဂမၠိုၚ်
14
296187
397370
2026-06-22T04:43:38Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာဂရိအဳတာလျေတ်]]"
397370
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာဂရိအဳတာလျေတ်]]
51ase10m4azmxnj9f1icluupuqoul1f
ကဏ္ဍ:ဝေါဟာဂရိအဳတာလျေတ်ဂွံလဝ်အာဲကၟာဲနူဝေါဟာဟေဲလာန်နေတ်-အခိုက်ကၞာဂမၠိုၚ်
14
296188
397371
2026-06-22T04:44:33Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာဂရိအဳတာလျေတ်]]"
397371
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာဂရိအဳတာလျေတ်]]
51ase10m4azmxnj9f1icluupuqoul1f
ကဏ္ဍ:ဝေါဟာဂရိအဳတာလျေတ်ကၠုၚ်နူဝေါဟာဂရေတ်တြေံဂမၠိုၚ်
14
296189
397372
2026-06-22T04:45:56Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာဂရိအဳတာလျေတ်]]"
397372
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာဂရိအဳတာလျေတ်]]
51ase10m4azmxnj9f1icluupuqoul1f
ကဏ္ဍ:ဝေါဟာဂရိအဳတာလျေတ်ဂွံလဝ်အာဲကၟာဲနူဝေါဟာဂရေတ်တြေံဂမၠိုၚ်
14
296190
397373
2026-06-22T04:46:56Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာဂရိအဳတာလျေတ်]]"
397373
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာဂရိအဳတာလျေတ်]]
51ase10m4azmxnj9f1icluupuqoul1f
grafo
0
296191
397375
2026-06-22T05:11:38Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|grafo-|-grafo}} ==အေက်သပရေန်တဝ်== {{wp|eo:}} ===ဗွဟ်ရမ္သာၚ်=== {{eo-pr|a=LL-Q143 (epo)-Lepticed7-grafo.wav}} ===နာမ်=== {{eo-head}} # အမာတ်၊ အမာတ်ဇၞော်စဍုၚ်။ ==အဳတလဳ== ===ဗွဟ်ရမ္သာၚ်=== {{it-pr|gràfo}} ===နာမ်=== {{it-noun|m}} # မသက်ပၞောန်အပ..."
397375
wikitext
text/x-wiki
{{also|grafo-|-grafo}}
==အေက်သပရေန်တဝ်==
{{wp|eo:}}
===ဗွဟ်ရမ္သာၚ်===
{{eo-pr|a=LL-Q143 (epo)-Lepticed7-grafo.wav}}
===နာမ်===
{{eo-head}}
# အမာတ်၊ အမာတ်ဇၞော်စဍုၚ်။
==အဳတလဳ==
===ဗွဟ်ရမ္သာၚ်===
{{it-pr|gràfo}}
===နာမ်===
{{it-noun|m}}
# မသက်ပၞောန်အပြံၚ်အလှာဲတိုန်စှ်ေ။
==ဂရိအဳတာလျေတ်==
===နိရုတ်===
ဝေါဟာကၠုၚ်နူ {{inh|grk-ita|grc|γράφω}}၊ နူကဵုဝေါဟာ {{inh|grk-ita|grk-pro|*grəpʰō}}၊ နကဵုမဆေၚ်စပ်ကဵုနူ {{der|grk-ita|ine-pro|*gerbʰ-}}
===ဗွဟ်ရမ္သာၚ်===
* {{IPA|grk-ita|/ˈɡra.fo/}}
* {{hyphenation|grk-ita|gra|fo}}
===ကြိယာ===
{{grk-ita-head|ကြိယာ|grek=γράφω}}
# သကဵုချူ။
==ပဝ်တူဂြဳ==
===ဗွဟ်ရမ္သာၚ်===
{{pt-IPA}}
* {{rhymes|pt|afu|s=2}}
* {{hyph|pt|gra|fo}}
===နိရုတ်===
{{wp|pt:}}
ဝေါဟာကၠုၚ်နူ {{bor|pt|fr|graphe}}၊ နူကဵုဝေါဟာ {{der|pt|grc|γράφω}}
===နာမ်===
{{pt-noun|m}}
# မသက်ပၞောန်အပြံၚ်အလှာဲတိုန်စှ်ေ။
===ကြိယာ===
{{head|pt|verb form}}
# {{pt-verb form of|grafar}}
==သ္ပုၚ်==
===ဗွဟ်ရမ္သာၚ်===
{{es-pr}}
===နာမ်===
{{es-noun|m}}
# မသက်ပၞောန်အပြံၚ်အလှာဲတိုန်စှ်ေ။
28sjawfnjzo9dke23t7jfl1e6wh91z1
-grafo
0
296192
397376
2026-06-22T05:16:59Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|grafo|grafo-}} ==အဳတလဳ== ===နိရုတ်=== {{lbor|it|grc|-γράφος}} ===အဆက်လက္ကရဴ=== {{head|it|suffix|g=m|feminine counterpart|-grafa}} # -အပြံၚ်အလှာဲတိုန်စှ်ေ။ ==ပဝ်တူဂြဳ== ===ဗွဟ်ရမ္သာၚ်=== {{pt-IPA|-grȧfo<q:stressed on the antepenultimate syllable>}} ===အဆက်လက္ကရ..."
397376
wikitext
text/x-wiki
{{also|grafo|grafo-}}
==အဳတလဳ==
===နိရုတ်===
{{lbor|it|grc|-γράφος}}
===အဆက်လက္ကရဴ===
{{head|it|suffix|g=m|feminine counterpart|-grafa}}
# -အပြံၚ်အလှာဲတိုန်စှ်ေ။
==ပဝ်တူဂြဳ==
===ဗွဟ်ရမ္သာၚ်===
{{pt-IPA|-grȧfo<q:stressed on the antepenultimate syllable>}}
===အဆက်လက္ကရဴ===
{{pt-noun|m|f=+}}
# -အပြံၚ်အလှာဲတိုန်စှ်ေ။
==သ္ပုၚ်==
===ဗွဟ်ရမ္သာၚ်===
{{es-pr|rhyme=-}}
===အဆက်လက္ကရဴ===
{{es-noun|m|f=+}}
# -အပြံၚ်အလှာဲတိုန်စှ်ေ။
# -ဗီုသၠုၚ်သဝ်။
p6tk7lbhiihtppof0igey9ix60tfdsm
397395
397376
2026-06-22T08:02:10Z
咽頭べさ
33
397395
wikitext
text/x-wiki
{{also|grafo|grafo-}}
==အဳတလဳ==
===နိရုတ်===
{{lbor|it|grc|-γράφος}}
===အဆက်လက္ကရဴ===
{{head|it|suffix|g=m|တၞးချာဲဣတ္တိလိၚ်|-grafa}}
# -အပြံၚ်အလှာဲတိုန်စှ်ေ။
==ပဝ်တူဂြဳ==
===ဗွဟ်ရမ္သာၚ်===
{{pt-IPA|-grȧfo<q:stressed on the antepenultimate syllable>}}
===အဆက်လက္ကရဴ===
{{pt-noun|m|f=+}}
# -အပြံၚ်အလှာဲတိုန်စှ်ေ။
==သ္ပုၚ်==
===ဗွဟ်ရမ္သာၚ်===
{{es-pr|rhyme=-}}
===အဆက်လက္ကရဴ===
{{es-noun|m|f=+}}
# -အပြံၚ်အလှာဲတိုန်စှ်ေ။
# -ဗီုသၠုၚ်သဝ်။
jf83ojqksm7pqmmnqq99qxz6bvdj4ij
မဝ်ဂျူ:pt-headword/doc
828
296193
397378
2026-06-22T06:55:04Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{documentation needed}}<!-- Replace this with a short description of the purpose of the module, and how to use it. --> <includeonly> {{module cat|pt}} </includeonly>"
397378
wikitext
text/x-wiki
{{documentation needed}}<!-- Replace this with a short description of the purpose of the module, and how to use it. -->
<includeonly>
{{module cat|pt}}
</includeonly>
b332tazvnfh201502jrr8wfw228lu2r
ကဏ္ဍ:အဆက်လက္ကရဴပုလ္လိၚ်သပုၚ်ဂမၠိုၚ်
14
296194
397379
2026-06-22T06:57:07Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာသပုၚ်]]"
397379
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာသပုၚ်]]
psankndqa9rxk77be4r2iutyh9n8l07
ကဏ္ဍ:အဆက်လက္ကရဴသပုၚ်မတော်ဂွံဂမၠိုၚ်
14
296196
397384
2026-06-22T07:44:13Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာသပုၚ်]]"
397384
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာသပုၚ်]]
psankndqa9rxk77be4r2iutyh9n8l07
ကဏ္ဍ:အဆက်လက္ကရဴသပုၚ်ဂမၠိုၚ်
14
296197
397385
2026-06-22T07:47:18Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာသပုၚ်|သပုၚ်]] » :ကဏ္ဍ:ဝေါဟာအ..."
397385
wikitext
text/x-wiki
[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာသပုၚ်|သပုၚ်]] » [[:ကဏ္ဍ:ဝေါဟာအဓိကသပုၚ်ဂမၠိုၚ်|ဝေါဟာတံသ္ဇိုၚ်]] » [[:ကဏ္ဍ:တံမအရေဝ်သပုၚ်ဂမၠိုၚ်|တံမအရေဝ်]] » '''အဆက်လက္ကရဴဂမၠိုၚ်'''
:မဆက်တောဲဖျပ်ဆက်ဍံၚ်စုတ်နကဵုမတုဲဒှ်မဆေၚ်စပ်ကဵုဝေါဟာဘာသာသပုၚ်ဂမၠိုၚ်။
[[ကဏ္ဍ:ဘာသာသပုၚ်]][[ကဏ္ဍ:အဆက်လက္ကရဴဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|သ]][[ကဏ္ဍ:တံမအရေဝ်သပုၚ်ဂမၠိုၚ်]]
s2gde72roj71rc1c8p7zfsabszqy3jd
ကဏ္ဍ:တံမအရေဝ်သပုၚ်ဂမၠိုၚ်
14
296198
397386
2026-06-22T07:48:56Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဝေါဟာအဓိကသပုၚ်ဂမၠိုၚ်]][[ကဏ္ဍ:တံမအရေဝ်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|သ]]"
397386
wikitext
text/x-wiki
[[ကဏ္ဍ:ဝေါဟာအဓိကသပုၚ်ဂမၠိုၚ်]][[ကဏ္ဍ:တံမအရေဝ်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|သ]]
h1ws005qztftx8vcfwwx315trjcrknb
ကဏ္ဍ:အဆက်လက္ကရဴပဝ်တူဂြဳဂမၠိုၚ်
14
296199
397387
2026-06-22T07:51:20Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာပဝ်တူဂြဳ|ပဝ်တူဂြဳ]] » :ကဏ္ဍ:..."
397387
wikitext
text/x-wiki
[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာပဝ်တူဂြဳ|ပဝ်တူဂြဳ]] » [[:ကဏ္ဍ:ဝေါဟာအဓိကပဝ်တူဂြဳဂမၠိုၚ်|ဝေါဟာတံသ္ဇိုၚ်]] » [[:ကဏ္ဍ:တံမအရေဝ်ပဝ်တူဂြဳဂမၠိုၚ်|တံမအရေဝ်]] » '''အဆက်လက္ကရဴဂမၠိုၚ်'''
:မဆက်တောဲဖျပ်ဆက်ဍံၚ်စုတ်နကဵုမတုဲဒှ်မဆေၚ်စပ်ကဵုဝေါဟာဘာသာပဝ်တူဂြဳဂမၠိုၚ်။
[[ကဏ္ဍ:ဘာသာပဝ်တူဂြဳ]][[ကဏ္ဍ:အဆက်လက္ကရဴဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ပ]][[ကဏ္ဍ:တံမအရေဝ်ပဝ်တူဂြဳဂမၠိုၚ်]]
mk8rvjfv9s2xv3y1x5hbqk9fsd4xk3f
ကဏ္ဍ:တံမအရေဝ်ပဝ်တူဂြဳဂမၠိုၚ်
14
296200
397388
2026-06-22T07:53:10Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဝေါဟာအဓိကပဝ်တူဂြဳဂမၠိုၚ်]][[ကဏ္ဍ:တံမအရေဝ်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ပ]]"
397388
wikitext
text/x-wiki
[[ကဏ္ဍ:ဝေါဟာအဓိကပဝ်တူဂြဳဂမၠိုၚ်]][[ကဏ္ဍ:တံမအရေဝ်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ပ]]
dgsdzf8uisjfkbzb5v00trzt5mnbb6y
ကဏ္ဍ:အဆက်လက္ကရဴပဝ်တူဂြဳမတော်ဂွံဂမၠိုၚ်
14
296201
397389
2026-06-22T07:54:03Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာပဝ်တူဂြဳ]]"
397389
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာပဝ်တူဂြဳ]]
mgj0zcfrfb9myxlwmi5x4ip1vh38hok
ကဏ္ဍ:အဆက်လက္ကရဴပုလ္လိၚ်ပဝ်တူဂြဳဂမၠိုၚ်
14
296202
397390
2026-06-22T07:54:51Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာပဝ်တူဂြဳ]]"
397390
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာပဝ်တူဂြဳ]]
mgj0zcfrfb9myxlwmi5x4ip1vh38hok
ကဏ္ဍ:အဆက်လက္ကရဴအဳတခ်လဳဂမၠိုၚ်
14
296203
397391
2026-06-22T07:56:53Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာအဳတခ်လဳ|အဳတခ်လဳ]] » :ကဏ္ဍ:ဝေ..."
397391
wikitext
text/x-wiki
[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာအဳတခ်လဳ|အဳတခ်လဳ]] » [[:ကဏ္ဍ:ဝေါဟာအဓိကအဳတခ်လဳဂမၠိုၚ်|ဝေါဟာတံသ္ဇိုၚ်]] » [[:ကဏ္ဍ:တံမအရေဝ်အဳတခ်လဳဂမၠိုၚ်|တံမအရေဝ်]] » '''အဆက်လက္ကရဴဂမၠိုၚ်'''
:မဆက်တောဲဖျပ်ဆက်ဍံၚ်စုတ်နကဵုမတုဲဒှ်မဆေၚ်စပ်ကဵုဝေါဟာဘာသာအဳတခ်လဳဂမၠိုၚ်။
[[ကဏ္ဍ:ဘာသာအဳတခ်လဳ]][[ကဏ္ဍ:အဆက်လက္ကရဴဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|အ]][[ကဏ္ဍ:တံမအရေဝ်အဳတခ်လဳဂမၠိုၚ်]]
3mont3mwmfli9i1mvrlik52r37i34dh
ကဏ္ဍ:တံမအရေဝ်အဳတခ်လဳဂမၠိုၚ်
14
296204
397392
2026-06-22T07:57:58Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဝေါဟာအဓိကအဳတခ်လဳဂမၠိုၚ်]][[ကဏ္ဍ:တံမအရေဝ်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|အ]]"
397392
wikitext
text/x-wiki
[[ကဏ္ဍ:ဝေါဟာအဓိကအဳတခ်လဳဂမၠိုၚ်]][[ကဏ္ဍ:တံမအရေဝ်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|အ]]
at9v4hyjaen0qam2n61chpgj54fwg4p
ကဏ္ဍ:အဆက်လက္ကရဴပုလ္လိၚ်အဳတခ်လဳဂမၠိုၚ်
14
296205
397393
2026-06-22T07:58:51Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာအဳတခ်လဳ]]"
397393
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာအဳတခ်လဳ]]
gbeqdk32838i2079b24yzbewkbbcs22
ကဏ္ဍ:ဝေါဟာအဳတခ်လဳမလွဳလဝ်ဗီုပြၚ်လ္ၚတ်ကေတ်နူဝေါဟာဂရေတ်တြေံဂမၠိုၚ်
14
296206
397394
2026-06-22T08:00:04Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာအဳတခ်လဳ]]"
397394
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာအဳတခ်လဳ]]
gbeqdk32838i2079b24yzbewkbbcs22
-grafa
0
296207
397396
2026-06-22T08:03:20Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "==သ္ပုၚ်== ===ဗွဟ်ရမ္သာၚ်=== {{es-pr|rhyme=-}} ===အဆက်လက္ကရဴ=== {{head|es|suffix form}} # {{feminine of|es|-grafo}}"
397396
wikitext
text/x-wiki
==သ္ပုၚ်==
===ဗွဟ်ရမ္သာၚ်===
{{es-pr|rhyme=-}}
===အဆက်လက္ကရဴ===
{{head|es|suffix form}}
# {{feminine of|es|-grafo}}
dg3piwvvfja2y9l3uj0l6r8ggbuxfd0
ကဏ္ဍ:ဗီုပြၚ်အဆက်လက္ကရဴသပုၚ်ဂမၠိုၚ်
14
296208
397397
2026-06-22T08:05:34Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာသပုၚ်|သပုၚ်]] » :ကဏ္ဍ:ဗီုပြၚ..."
397397
wikitext
text/x-wiki
[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာသပုၚ်|သပုၚ်]] » [[:ကဏ္ဍ:ဗီုပြၚ်အပြံၚ်အလှာဲသပုၚ်ဂမၠိုၚ်|ဗီုပြၚ်ဝေါဟာတံသ္ဇိုၚ်]] » '''ဗီုပြၚ်အဆက်လက္ကရဴဂမၠိုၚ်'''
:အဆက်လက္ကရဴသပုၚ်မပြံၚ်လှာဲနကဵုအဆက်အဆေန်မဆေၚ်စပ်ကဵုမဓမံက်ထ္ၜးသဒ္ဒာဗီုပြၚ်အဓိကတၞဟ်ဂမၠိုၚ်။
[[ကဏ္ဍ:ဘာသာသပုၚ်]][[ကဏ္ဍ:အဆက်လက္ကရဴသပုၚ်ဂမၠိုၚ်]][[ကဏ္ဍ:ဗီုပြၚ်အဆက်လက္ကရဴဗက်အလိုက်အရေဝ်ဘာသာ|သ]]
bfb43e2755er23bx2rawa8hdxrae2no
-grafos
0
296209
397398
2026-06-22T08:07:07Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "==သ္ပုၚ်== ===ဗွဟ်ရမ္သာၚ်=== {{es-pr|rhyme=-}} ===အဆက်လက္ကရဴ=== {{head|es|suffix form}} # {{plural of|es|-grafo}}"
397398
wikitext
text/x-wiki
==သ္ပုၚ်==
===ဗွဟ်ရမ္သာၚ်===
{{es-pr|rhyme=-}}
===အဆက်လက္ကရဴ===
{{head|es|suffix form}}
# {{plural of|es|-grafo}}
i3dmf26f45szzngujsrvquar5sfmpfu
-grafas
0
296210
397399
2026-06-22T08:07:42Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "==သ္ပုၚ်== ===ဗွဟ်ရမ္သာၚ်=== {{es-pr|rhyme=-}} ===အဆက်လက္ကရဴ=== {{head|es|suffix form}} # {{plural of|es|-grafa}}"
397399
wikitext
text/x-wiki
==သ္ပုၚ်==
===ဗွဟ်ရမ္သာၚ်===
{{es-pr|rhyme=-}}
===အဆက်လက္ကရဴ===
{{head|es|suffix form}}
# {{plural of|es|-grafa}}
kg8g312vz7x4zynj6or4af7cfs8igak
-γράφος
0
296211
397400
2026-06-22T08:16:33Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|-γραφος}} ==ဂရေတ်တြေံ== ===ဗွဟ်ရမ္သာၚ်=== {{grc-IPA|γρᾰ́φος}} ===အဆက်လက္ကရဴ=== {{head|grc|suffix|head=-γρᾰ́φος}} # ချူ။ # ပွမချူ၊ ပွမချူဇန်ထ္ၜး။ ===မဒုၚ်လွဳစ=== * {{desc|el|-γράφος}} * {{desctree|la|-graphus|bor=1}} ==ဂရေတ်== ===ပွံၚ..."
397400
wikitext
text/x-wiki
{{also|-γραφος}}
==ဂရေတ်တြေံ==
===ဗွဟ်ရမ္သာၚ်===
{{grc-IPA|γρᾰ́φος}}
===အဆက်လက္ကရဴ===
{{head|grc|suffix|head=-γρᾰ́φος}}
# ချူ။
# ပွမချူ၊ ပွမချူဇန်ထ္ၜး။
===မဒုၚ်လွဳစ===
* {{desc|el|-γράφος}}
* {{desctree|la|-graphus|bor=1}}
==ဂရေတ်==
===ပွံၚ်နဲတၞဟ်===
* {{alt|el|-γραφος}}
===အဆက်လက္ကရဴ===
{{el-suffix|-}}
# မရပ်စပ်ပွမနိဿဲဗီုပြၚ်နာမ်ဆေၚ်စပ်ကဵုဗေီုပြၚ်နာနာသာ်နကဵုပရေၚ်မချူ ဝါ အ္စာကဝိဂမၠိုၚ်။
# မရပ်စပ်ပွမနိဿဲဗီုပြၚ်နာမဝိသေသနဆေၚ်စပ်ကဵုဗေီုပြၚ်နာနာသာ်နကဵုပရေၚ်မချူ ဝါ အ္စာကဝိဂမၠိုၚ်။
====လဟုတ်စှ်ေ====
ဗီုပြၚ်သွက်နာမ်:
{{el-nM-ος-οι-2a|-γράφ}}
tm3pfa3d5k2c4jg3tub21v505lntnc1
ထာမ်ပလိက်:el-nM-ος-οι-2a
10
296212
397401
2026-06-22T08:17:38Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "<includeonly>{{el-decl-noun |1={{{1}}}ος |2={{{1}}}οι |3={{{1}}}ου |4={{{1}}}ων |5={{{1}}}ο |6={{{1}}}ους |7={{{1}}}ε |8={{{1}}}οι |note={{{note|}}} }}{{#if:{{NAMESPACE}}|| }}</includeonly><noinclude> The inflection-table template for Greek nouns declining like '''{{m|el|δρόμος}}'''. Other examples may be found in the [[:Category:Greek nouns declining like 'δρόμος']]. The syntax <code><nowi..."
397401
wikitext
text/x-wiki
<includeonly>{{el-decl-noun
|1={{{1}}}ος
|2={{{1}}}οι
|3={{{1}}}ου
|4={{{1}}}ων
|5={{{1}}}ο
|6={{{1}}}ους
|7={{{1}}}ε
|8={{{1}}}οι
|note={{{note|}}}
}}{{#if:{{NAMESPACE}}|| }}</includeonly><noinclude>
The inflection-table template for Greek nouns declining like '''{{m|el|δρόμος}}'''. Other examples may be found in the [[:Category:Greek nouns declining like 'δρόμος']].
The syntax <code><nowiki>{{el-nM-ος-οι-2a|δρόμ}}</nowiki></code> produces the table:
{{el-nM-ος-οι-2a|δρόμ}}
A full list of other declension-table templates with a brief indication of use can be found at '''[[Wiktionary:Greek noun inflection-table templates]]'''.
{{tcat|ndecl}}
</noinclude>
dbh3zcvmzhyjf4zj0321l2kw24u6yse
-γραφος
0
296213
397402
2026-06-22T08:21:59Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|-γράφος}} ==ဂရေတ်== ===အဆက်လက္ကရဴ=== {{el-suffix|-}} # {{alternative form of|el|-γράφος}} ====လဟုတ်စှ်ေ==== {{el-decl-adj|dec=ος-η-ο|stem=-γραφ|nopio=1}}"
397402
wikitext
text/x-wiki
{{also|-γράφος}}
==ဂရေတ်==
===အဆက်လက္ကရဴ===
{{el-suffix|-}}
# {{alternative form of|el|-γράφος}}
====လဟုတ်စှ်ေ====
{{el-decl-adj|dec=ος-η-ο|stem=-γραφ|nopio=1}}
1cvqc5577f3pq0wmlzgd82txk5dh2p6
ထာမ်ပလိက်:el-decl-adj-ος-η-ο
10
296214
397403
2026-06-22T08:22:37Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "<!-- {{#invoke:checkparams|error}} Validate template parameters --><includeonly> {{el-decl-adj-table{{{form|}}} |1={{l-self|el|{{{stem}}}ος}} |2={{l-self|el|{{{stem}}}η}} |3={{l-self|el|{{{stem}}}ο}} |4={{l-self|el|{{{stem}}}οι}} |5={{l-self|el|{{{stem}}}ες}} |6={{l-self|el|{{{stem}}}α}} |7={{l-self|el|{{{stem}}}ου}} |8={{l-self|el|{{{stem}}}ης}} |9={{l-self|el|{{{stem}}}ου}} |10={{l-self|el|{{{stem}}}..."
397403
wikitext
text/x-wiki
<!-- {{#invoke:checkparams|error}} Validate template parameters
--><includeonly>
{{el-decl-adj-table{{{form|}}}
|1={{l-self|el|{{{stem}}}ος}}
|2={{l-self|el|{{{stem}}}η}}
|3={{l-self|el|{{{stem}}}ο}}
|4={{l-self|el|{{{stem}}}οι}}
|5={{l-self|el|{{{stem}}}ες}}
|6={{l-self|el|{{{stem}}}α}}
|7={{l-self|el|{{{stem}}}ου}}
|8={{l-self|el|{{{stem}}}ης}}
|9={{l-self|el|{{{stem}}}ου}}
|10={{l-self|el|{{{stem}}}ων}}
|11={{l-self|el|{{{stem}}}ων}}
|12={{l-self|el|{{{stem}}}ων}}
|13={{l-self|el|{{{stem}}}ο}}
|14={{l-self|el|{{{stem}}}η}}
|15={{l-self|el|{{{stem}}}ο}}
|16={{l-self|el|{{{stem}}}ους}}
|17={{l-self|el|{{{stem}}}ες}}
|18={{l-self|el|{{{stem}}}α}}
|19={{l-self|el|{{{stem}}}ε}}
|20={{l-self|el|{{{stem}}}η}}
|21={{l-self|el|{{{stem}}}ο}}
|22={{l-self|el|{{{stem}}}οι}}
|23={{l-self|el|{{{stem}}}ες}}
|24={{l-self|el|{{{stem}}}α}}
}}</includeonly><noinclude>{{documentation}}</noinclude>
lxn1jngxmbkhs1v0geo1dzsjmvb6034
ထာမ်ပလိက်:el-decl-adj-ος-η-ο/documentation
10
296215
397404
2026-06-22T08:23:53Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{documentation subpage}} {{el-decl-adj-notice}} ;For adjectives with the inflections shown : {{el-adj-paradigm-1 |ID=ος-η-ο |descrip=paroxytone |colour=red |΄ος |΄η |΄ο |΄οι |΄ες|΄α |΄ου |΄ης|΄ου |΄ων |΄ων|΄ων |΄ος |΄η |΄ο |΄ους|΄ες|΄α |΄ε |΄η |΄ο |΄οι |΄ες|΄α |en=ποικίλος |el=όμορφος }} {{el-adj-paradigm-1a |descrip=proparoxytone |..."
397404
wikitext
text/x-wiki
{{documentation subpage}}
{{el-decl-adj-notice}}
;For adjectives with the inflections shown :
{{el-adj-paradigm-1
|ID=ος-η-ο
|descrip=paroxytone
|colour=red
|΄ος |΄η |΄ο
|΄οι |΄ες|΄α
|΄ου |΄ης|΄ου
|΄ων |΄ων|΄ων
|΄ος |΄η |΄ο
|΄ους|΄ες|΄α
|΄ε |΄η |΄ο
|΄οι |΄ες|΄α
|en=ποικίλος
|el=όμορφος
}}
{{el-adj-paradigm-1a
|descrip=proparoxytone
|΄-ος |΄-η |΄-ο
|΄-οι |΄-ες|΄-α
|΄-ου |΄-ης|΄-ου
|΄-ων |΄-ων|΄-ων
|΄-ος |΄-η |΄-ο
|΄-ους|΄-ες|΄-α
|΄-ε |΄-η |΄-ο
|΄-οι |΄-ες|΄-α
|en=όμορφος
}}
===References===
* DSMG [https://www.greek-language.gr/greekLang/modern_greek/tools/lexica/onomatiko/adjectives.html Adjectives]:§Ε3 {{m|el|άσπρος}}
* Holton D, Mackridge P & Phiippaki-Warburton I, ''Greek - A Comprehensive Grammar of the Modern Langage'' (2004):§3.1 {{m|el|όμορφος}}
* Stavropoulos DN, ''Oxford Greek-English Learner's Dictionary'' (2008):§ {{m|el|μαύρος}}, {{m|el|όμορφος}}
* Triandaphyllidis MA, ''trans.'' Burke JB, ''Concise Modern greek Grammar'' (2004):§458 {{m|el|όμορφος}}
* Tsiotsiou-Moore M, ''A Basic Grammar of Modern Greek'' (2002):p.45 {{m|el|νέος|}}
===Syntax===
Output for {{l|el|όμορφος}}:
::<tt><nowiki>{{el-decl-adj|dec=ος-η-ο|stem=όμορφ}}</nowiki></tt>
{{el-decl-adj|dec=ος-η-ο|lemma=όμορφος|stem=όμορφ}}
===See also===
* [[:Category:Greek adjectives in declension ός-ή-ό]]
* [[Template:el-decl-adj-ός-ή-ό]]
* [[Wiktionary:Greek adjective inflection-table templates]]
<includeonly>
[[ကဏ္ဍ:ထာမ်ပလိက်ဂရေတ်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏနာမဝိသေသနဂမၠိုၚ်|ο]]
</includeonly>
ep739xwwvpxf3z14utzfu9xxnjapbgy
grafo-
0
296216
397405
2026-06-22T08:31:27Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|grafo|-grafo}} ==အဳတလဳ== ===နိရုတ်=== {{der+|it|grc|γράφω}} ===အဆက်ဂတ=== {{head|it|prefix}} # ပွမချူ။ ==ပဝ်လာန်== ===ဗွဟ်ရမ္သာၚ်=== {{pl-pr}} ===အဆက်ဂတ=== {{head|pl|prefix}} # ပွမချူ။ #: {{afex|pl|-logia|grafologia}} ==ပဝ်တူဂြဳ== ===ဗွဟ်ရမ္သာၚ်=== {{pt..."
397405
wikitext
text/x-wiki
{{also|grafo|-grafo}}
==အဳတလဳ==
===နိရုတ်===
{{der+|it|grc|γράφω}}
===အဆက်ဂတ===
{{head|it|prefix}}
# ပွမချူ။
==ပဝ်လာန်==
===ဗွဟ်ရမ္သာၚ်===
{{pl-pr}}
===အဆက်ဂတ===
{{head|pl|prefix}}
# ပွမချူ။
#: {{afex|pl|-logia|grafologia}}
==ပဝ်တူဂြဳ==
===ဗွဟ်ရမ္သာၚ်===
{{pt-IPA|gráfò-}}
* {{hyph|pt|gra|fo-}}
===အဆက်ဂတ===
{{head|pt|prefix}}
# ပွမချူ။
==သ္ပုၚ်==
===ဗွဟ်ရမ္သာၚ်===
{{es-pr}}
===အဆက်ဂတ===
{{head|es|prefix}}
# ပွမချူ။
cfa7voiympe70v3iuhfvr5meaqh0z9y
ထာမ်ပလိက်:affixusex
10
296217
397406
2026-06-22T08:32:35Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{#invoke:affixusex/templates|affixusex_t|type=affix}}"
397406
wikitext
text/x-wiki
{{#invoke:affixusex/templates|affixusex_t|type=affix}}
6qa2b3qaw62b9ls246ik6b0rzs7h2j6
397407
397406
2026-06-22T08:32:59Z
咽頭べさ
33
397407
wikitext
text/x-wiki
{{#invoke:affixusex/templates|affixusex_t|type=affix}}<noinclude>{{documentation}}</noinclude>
8i5ajmshu3ju7fli46kk9nms7a0g4cv
397408
397407
2026-06-22T08:33:25Z
咽頭べさ
33
咽頭べさ ပြံင်ပဆုဲလဝ် မုက်လိက် [[ထာမ်ပလိက်:afex]] ဇရေင် [[ထာမ်ပလိက်:affixusex]]
397407
wikitext
text/x-wiki
{{#invoke:affixusex/templates|affixusex_t|type=affix}}<noinclude>{{documentation}}</noinclude>
8i5ajmshu3ju7fli46kk9nms7a0g4cv
ထာမ်ပလိက်:afex
10
296218
397409
2026-06-22T08:33:25Z
咽頭べさ
33
咽頭べさ ပြံင်ပဆုဲလဝ် မုက်လိက် [[ထာမ်ပလိက်:afex]] ဇရေင် [[ထာမ်ပလိက်:affixusex]]
397409
wikitext
text/x-wiki
#REDIRECT [[ထာမ်ပလိက်:affixusex]]
kheplbk6rfz0vxzvraygxiq3dnra7zg
ထာမ်ပလိက်:affixusex/documentation
10
296219
397410
2026-06-22T08:34:41Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{documentation subpage}} {{shortcut|Template:afex}} {{uses lua|Module:affixusex/templates}} This template creates usage examples for affix entries in the format ''word'' + ''-suffix'' → ''suffixed word'' or ''prefix-'' + ''word'' → ''prefixed word''. More complex entries are also possible, e.g.: : ''word1'' + ''word2'' + ''-suffix'' → ''suffixed word'' : ''prefix-'' + ''word1'' + ''word2'' → ''prefixed word''..."
397410
wikitext
text/x-wiki
{{documentation subpage}}
{{shortcut|Template:afex}}
{{uses lua|Module:affixusex/templates}}
This template creates usage examples for affix entries in the format ''word'' + ''-suffix'' → ''suffixed word'' or ''prefix-'' + ''word'' → ''prefixed word''. More complex entries are also possible, e.g.:
: ''word1'' + ''word2'' + ''-suffix'' → ''suffixed word''
: ''prefix-'' + ''word1'' + ''word2'' → ''prefixed word''
: ''word1'' + ''-suffix1'' → ''suffixed word 1'' + ''-suffix2'' → ''suffixed word 2''
: ''prefix1-'' + ''word1'' → ''prefixed word 1'' + ''-suffix2'' → ''suffixed word 2''
: ''word1'' (''qualifier'') + ''word2'' → ''combined word''
==Numbered parameters==
; {{para|1}}
: the language code;
; {{para|2}}, {{para|3}}, ...
: usage example components.
If the page's name is a prefix, it will normally be interpolated into the components before the first one. Similarly, if the page's name is a suffix, it will normally be interpolated into the components before the last one. Such interpolated affixes will be displayed without any link. This will not happen if the page's name (including if decorated with extra diacritics) appears among the components, or if an affix among the components is preceded by an exclamation point (!). Such affixes will likewise be displayed without any link. You can entirely suppress the interpolation of the page name into the components using {{para|nointerp}}, and override the form of the interpolated affix (e.g. adding extra diacritics, as an alternative to explicitly inserting the affix among the components) using {{para|altaff}}. Note that the value specified using {{para|altaff}} has to look like a prefix or suffix for it to be interpolated, as with the page's name.
Normally, components are separated by a plus sign (+), except that between the second-to-last and last components a right arrow will be displayed (→); but this can be overridden by <code><arrow:1></code> attached to the component or using {{para|arrowN}}.
If a given component is in a different language than what is specified in {{para|1}}, prefix the component with the language code of its language, e.g. <code>la:minūtia</code> or <code><nowiki>grc:[[φρέαρ|φρέᾱτος]]</nowiki></code>.
==Named parameters==
; {{para|altaff}}
: The affix's alternative display text (only used when no affix is present among the components and when {{para|nointerp}} isn't given).
; {{para|nointerp}}
: Suppress the automatic interpolation of an affix into the components when no affix is present among the components.
; {{para|t1}}, {{para|t2}}, {{para|t3}}, ... or {{para|gloss1}}, {{para|gloss2}}, {{para|gloss3}}, ...
: The translation of a given component.
; {{para|alt1}}, {{para|alt2}}, {{para|alt3}}, ...
: The alternative display text of a given component.
; {{para|tr1}}, {{para|tr2}}, {{para|tr3}}, ...
: The transliteration of a given component.
; {{para|ts1}}, {{para|ts2}}, {{para|ts3}}, ...
: The transcription of a given component, in languages where the transliteration and transcription differ markedly (see {{temp|m}}).
; {{para|g1}}, {{para|g2}}, {{para|g3}}, ...
: The gender of a given component (multiple comma-separated genders may be specified for a given component).
; {{para|lit1}}, {{para|lit2}}, {{para|lit3}}, ...
: The literal meaning of a given component.
; {{para|pos1}}, {{para|pos2}}, {{para|pos3}}, ...
: The part of speech of a given component.
; {{para|q1}}, {{para|q2}}, {{para|q3}}, ...
: Qualifier text to display before a given component, in parens and normally italicized.
; {{para|qq1}}, {{para|qq2}}, {{para|qq3}}, ...
: Qualifier text to display after a given component, in parens and normally italicized.
; {{para|arrow1}}, {{para|arrow2}}, {{para|arrow3}}, ...
: Should be a boolean value (<code>y</code>, <code>1</code>, <code>true</code>, etc.), and if specified, an arrow will appear before the component instead of a plus sign.
; {{para|joiner1}}, {{para|joiner2}}, {{para|joiner3}}, ...
: If specified, override the arrow or plus sign that appears before the component with the specified text or symbol.
; {{para|fulljoiner1}}, {{para|fulljoiner2}}, {{para|fulljoiner3}}, ...
: If specified, override the arrow or plus sign that appears before the component, as well as the spaces on either side, with the specified text or symbol (e.g. use {{para|fulljoiner2|,&#32;}} to insert a comma between the first and second components).
; {{para|id1}}, {{para|id2}}, {{para|id3}}, ...
: The sense ID of a given component (see {{temp|m}}).
; {{para|accel1}}, {{para|accel2}}, {{para|accel3}}, ...
: The acceleration tag of a given component (see {{temp|m}}).
; {{para|sc}}
: The script code of the components (rarely needs to be specified).
; {{para|lang1}}, {{para|lang2}}, {{para|lang3}}, ...
: The language code of a given component, if that component is in a different language from the remaining components. It is preferable to specify such a language code as a prefix to the component itself, e.g. using <code>la:minūtia</code> or <code><nowiki>grc:[[φρέαρ|φρέᾱτος]]</nowiki></code>, instead of using {{para|lang<var>N</var>}}.
; {{para|sc1}}, {{para|sc2}}, {{para|sc3}}, ...
: The script code of a given component where {{para|langN}} is also given (rarely needs to be specified).
; {{para|pagename}}
: Override the page name used when deciding whether to interpolate a prefix or suffix. Useful especially on documentation and test pages.
==Inline modifiers==
All of the per-term parameters described above can alternatively be specified as ''inline modifiers'', using a syntax like <code><nowiki>отсе́чь<t:to [[cut off]], to [[chop]] [[off]]><g:pf></nowiki></code> to specify modifiers such as transliterations, genders, glosses and qualifiers. In this example, for the Russian term {{m|ru|отсе́чь|t=to [[cut off]], to [[chop]] [[off]]}}, the gloss "to [[cut off]], to [[chop]] [[off]]" and gender <code>pf</code> (perfective) are given. Specifically, the following modifiers are recognized; see the above documentation for more information on the exact meaning of each modifier.
* <code>t</code> or <code>gloss</code>: gloss
* <code>alt</code>: alternative display text
* <code>tr</code>: transliteration
* <code>ts</code>: transcription, for languages where the transliteration and pronunciation are markedly different
* <code>g</code>: comma-separated list of gender/number specifications
* <code>lit</code>: literal meaning
* <code>pos</code>: part of speech
* <code>q</code>: qualifier, e.g. ''rare''; this appears before the component, parenthesized and italicized
* <code>qq</code>: qualifier, e.g. ''rare''; this appears after the component, parenthesized and italicized
* <code>pos</code>: part of speech
* <code>arrow</code>: change the plus sign before the component to a right arrow
* <code>joiner</code>: override the arrow or plus sign before the component with the specified text or symbol
* <code>fulljoiner</code>: override the arrow or plus sign before the component, along with the spaces on either side, with the specified text or symbol
* <code>id</code>: sense ID
* <code>accel</code>: acceleration tag
* <code>lang</code>: language code for the component; overrides the {{para|lang}} parameter; can also be specified inline using e.g. <code>la:minūtia</code> or <code><nowiki>grc:[[σκῶρ|σκατός]]</nowiki></code>
* <code>sc</code>: script code for the component
==Examples==
The following code, for use in {{m+|pt|-ada}}:
<syntaxhighlight lang="wikitext">#: {{afex|pt|chegar<t:to arrive>|chegada<t:arrival>}}</syntaxhighlight>
generates
#: {{afex|pt|chegar<t:to arrive>|chegada<t:arrival>|pagename=-ada}}
Note how the suffix is interpolated before the final component.
The following code, for use in {{m+|ru|-овый}}, is similar, but specifies the affix explicitly:
<syntaxhighlight lang="wikitext">#: {{afex|ru|зо́нтик<g:m-in><t:[[umbrella]]>|-овый|зо́нтиковый<t:umbrella {{q|relational}}>}}</syntaxhighlight>
It generates:
#: {{afex|ru|зо́нтик<g:m-in><t:[[umbrella]]>|-овый|зо́нтиковый<t:umbrella {{q|relational}}>|pagename=-овый}}
The following code for {{m+|pt|-ário}}, shows how to specify a term derived from a component in a different language:
<syntaxhighlight lang="wikitext">#: {{afex|pt|la:lūna<t:moon>|lunário<t:calendar based on moon phases>}}</syntaxhighlight>
It generates:
#: {{afex|pt|la:lūna<t:moon>|lunário<t:calendar based on moon phases>|pagename=-ário}}
Note how the Latin word {{m|la|lūna}}, with a macron in it, is correctly linked to a page that does not include the macron in its name.
The following code, for {{m+|la|-tūra}}, shows how to handle the situation where the suffix itself has extra decoration (a length mark, an acute accent indicating stress, etc.):
<syntaxhighlight lang="wikitext">#: {{afex|la|scrībō<t:to write>|-tūra|scrīptūra<t:scripture>}}</syntaxhighlight>
It generates:
#: {{afex|la|scrībō<t:to write>|-tūra|scrīptūra<t:scripture>|pagename=-tura}}
In this case, an explicit affix (or {{para|altaff}}) is needed because the entry itself is named {{m|la|-tura}}, without the length mark.
The following code is equivalent:
<syntaxhighlight lang="wikitext">#: {{afex|la|scrībō<t:to write>|altaff=-tūra|scrīptūra<t:scripture>}}</syntaxhighlight>
It generates:
#: {{afex|la|scrībō<t:to write>|altaff=-tūra|scrīptūra<t:scripture>|pagename=-tura}}
The following is a more complex example, for use in {{m+|ru|над-}}:
<syntaxhighlight lang="wikitext">#: {{afex|ru|гроб<t:[[grave]]><qq:poetic>|-ие<pos:noun-forming suffix>|надгро́бие<t:[[tombstone]]><lit:thing '''over''' the grave>}}</syntaxhighlight>
It generates (with the prefix interpolated before the first component):
#: {{afex|ru|над-|гроб<t:[[grave]]><qq:poetic>|-ие<pos:noun-forming suffix>|надгро́бие<t:[[tombstone]]><lit:thing '''over''' the grave>|pagename=над-}}
The following is a significantly more complex example, for use in {{m+|ru|-ать}} and demonstrating the way perfective verbs are derived from imperfective verbs and vice-versa:
<syntaxhighlight lang="wikitext">#: {{afex|ru|от-|сечь<t:to [[cut]], to [[chop]]><g:impf>|отсе́чь<t:to [[cut off]], to [[chop]] [[off]]><g:pf><arrow:1><qq:underlying stem {{lang|ru|отсе́к-}}>|-а́ть|отсека́ть<g:impf>}}</syntaxhighlight>
It generates:
#: {{afex|ru|от-|сечь<t:to [[cut]], to [[chop]]><g:impf>|отсе́чь<t:to [[cut off]], to [[chop]] [[off]]><g:pf><arrow:1><qq:underlying stem {{lang|ru|отсе́к-}}>|-а́ть|отсека́ть<g:impf>|pagename=-ать}}
==See also==
* {{temp|prefixusex}}/{{temp|prefex}}, {{temp|suffixusex}}/{{temp|sufex}}: alternatives specifically for prefixes or suffixes
* {{temp|ux}}: to format general usage examples
<includeonly>
[[ကဏ္ဍ:ထာမ်ပလိက်တၚ်ကၞာတ်မအရေဝ်ဂမၠိုၚ်]]
</includeonly>
lcnhruhj8ksh33eb1ebjcndcmud0o4p
မဝ်ဂျူ:affixusex/doc
828
296220
397413
2026-06-22T08:38:12Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "==Exported functions== {{module documentation}} {{module cat|-|ဂလာန်တၚ်သၟာန်ကဵုမရပ်စပ်အရေဝ်ဥပမာ}}"
397413
wikitext
text/x-wiki
==Exported functions==
{{module documentation}}
{{module cat|-|ဂလာန်တၚ်သၟာန်ကဵုမရပ်စပ်အရေဝ်ဥပမာ}}
dj7cuqde5kzzwrr0mgpahyumsit7gk8
ကဏ္ဍ:အဆက်ဂတပဝ်လာန်ဂမၠိုၚ်
14
296222
397417
2026-06-22T08:42:13Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာပဝ်လာန်]]"
397417
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာပဝ်လာန်]]
lqkk8sh9o9qyqpe25zynszbn308h6l1
ကဏ္ဍ:ကာရန်:ပဝ်လာန်/afɔ
14
296223
397419
2026-06-22T08:45:20Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာပဝ်လာန်|အာရဗဳ ချေဒဳယျာန်]]..."
397419
wikitext
text/x-wiki
[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာပဝ်လာန်|အာရဗဳ ချေဒဳယျာန်]] » [[:ကဏ္ဍ:ကာရန်:ပဝ်လာန်|ကာရန်ဂမၠိုၚ်]] » -afɔ
:စရၚ်မဆေၚ်စပ်ကဵုဝေါဟာ[[:ကဏ္ဍ:ဘာသာပဝ်လာန်|ပဝ်လာန်]]မနွံကာရန် [[ကာရန်:ပဝ်လာန်/afɔ|-afɔ]] ဂမၠိုၚ်။
[[ကဏ္ဍ:ကာရန်:ပဝ်လာန်|ats]]
gswbvnvswb1zm2gvrrxny8rgltfoghv