ဝိက်ရှေန်နရဳ 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.46.0-wmf.24 case-sensitive မဳဒဳယာ တၟေင် ဓရီုကျာ ညးလွပ် ညးလွပ် ဓရီုကျာ ဝိက်ရှေန်နရဳ ဝိက်ရှေန်နရဳ ဓရီုကျာ ဝှာင် ဝှာင် ဓရီုကျာ မဳဒဳယာဝဳကဳ မဳဒဳယာဝဳကဳ ဓရီုကျာ ထာမ်ပလိက် ထာမ်ပလိက် ဓရီုကျာ ရီု ရီု ဓရီုကျာ ကဏ္ဍ ကဏ္ဍ ဓရီုကျာ အဆက်လက္ကရဴ အဆက်လက္ကရဴ ဓရီုကျာ ကာရန် ကာရန် ဓရီုကျာ အဘိဓာန် အဘိဓာန် ဓရီုကျာ ဗီုပြၚ်သိုၚ်တၟိ ဗီုပြၚ်သိုၚ်တၟိ ဓရီုကျာ TimedText TimedText talk မဝ်ဂျူ မဝ်ဂျူ ဓရီုကျာ Event Event talk မဝ်ဂျူ:it-headword 828 26024 393634 393433 2026-04-26T18:57:00Z 咽頭べさ 33 393634 Scribunto text/plain -- This module contains code for Italian headword templates. -- Templates covered are: -- * {{it-noun}}, {{it-proper noun}}; -- * {{it-verb}}; -- * {{it-adj}}, {{it-adj-comp}}, {{it-adj-sup}}; -- * {{it-det}}; -- * {{it-art}}; -- * {{it-pron-adj}}; -- * {{it-pp}}; -- * {{it-presp}}; -- * {{it-card-noun}}, {{it-card-adj}}, {{it-card-inv}}; -- * {{it-adv}}; -- * {{it-pos}}; -- * {{it-suffix form}}. -- See [[Module:it-verb]] for Italian 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 usub = m_strutils.sub local require_when_needed = require("Module:require when needed") local insert = table.insert local remove = table.remove local m_table = require("Module:table") local com = require("Module:it-common") local en_utilities_module = "Module:en-utilities" local headword_module = "Module:headword" local headword_utilities_module = "Module:headword utilities" local inflection_utilities_module = "Module:inflection utilities" local it_verb_module = "Module:it-verb" local parse_interface_module = "Module:parse interface" local romut_module = "Module:romance utilities" local lang = require("Module:languages").getByCode("it") 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 unpack = unpack or table.unpack -- Lua 5.2 compatibility local no_split_apostrophe_words = { ["c'è"] = true, ["c'era"] = true, ["c'erano"] = true, } ----------------------------------------------------------------------------------------- -- Utility functions -- ----------------------------------------------------------------------------------------- local function track(page) require("Module:debug/track")("it-headword/" .. page) return true 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, frob) m_headword_utilities.parse_and_insert_inflection { headdata = data, forms = args[field], paramname = field, splitchar = ",", label = label, accel = accel and {form = accel} or nil, frob = frob, } 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 list_param = {list = true, disallow_holes = true} local boolean_param = {type = "boolean"} ----------------------------------------------------------------------------------------- -- Main entry point -- ----------------------------------------------------------------------------------------- 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, ["sort"] = true, ["apoc"] = boolean_param, ["splithyph"] = boolean_param, ["nolinkhead"] = boolean_param, ["nolink"] = {type = "boolean", alias_of = "nolinkhead"}, ["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.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, no_split_apostrophe_words) 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 if head == auto_linked_head then track("redundant-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, sort_key = args.sort, 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 if pos_functions[poscat] then pos_functions[poscat].func(args, data) end if args.apoc then -- Apocopated form of a term; do this after calling pos_functions[], because the function might modify -- data.pos_category. local pos = data.pos_category if not pos:find(" forms") then -- Apocopated forms are non-lemma forms. --local singular_poscat = m_en_utilities.singularize(pos) data.pos_category = "ဗီုပြၚ်" .. singular_poscat end -- If this is a suffix, insert label 'apocopated' after 'FOO-forming suffix', otherwise insert at the beginning. insert(data.inflections, data.is_suffix and 2 or 1, {label = glossary_link("apocopated")}) end if args.json then return require("Module:JSON").toJSON(data) end return require(headword_module).full_headword(data) end local deriv_params = { {"dim", glossary_link("diminutive")}, {"dim_dim", "double " .. glossary_link("diminutive")}, {"aug_dim", glossary_link("augmentative") .. "-" .. glossary_link("diminutive")}, {"aug", glossary_link("augmentative")}, {"dim_aug", glossary_link("diminutive") .. "-" .. glossary_link("augmentative")}, {"aug_aug", "double " .. glossary_link("augmentative")}, {"pej", glossary_link("pejorative")}, {"dim_pej", glossary_link("diminutive") .. "-" .. glossary_link("pejorative")}, {"aug_pej", glossary_link("augmentative") .. "-" .. glossary_link("pejorative")}, {"pej_pej", "double " .. glossary_link("pejorative")}, {"end", glossary_link("endearing")}, {"dim_end", glossary_link("diminutive") .. "-" .. glossary_link("endearing")}, {"aug_end", glossary_link("augmentative") .. "-" .. glossary_link("endearing")}, {"derog", glossary_link("derogatory")}, {"dim_derog", glossary_link("diminutive") .. "-" .. glossary_link("derogatory")}, {"aug_derog", glossary_link("augmentative") .. "-" .. glossary_link("derogatory")}, {"end_derog", glossary_link("endearing") .. "-" .. glossary_link("derogatory")}, } local function insert_deriv_params(params) for _, deriv_param in ipairs(deriv_params) do local param = unpack(deriv_param) params[param] = list_param end end local param_mods = { t = { -- We need to store the <t:...> inline modifier into the "gloss" key of the parsed part, because that is what -- [[Module:links]] expects. item_dest = "gloss", }, gloss = {}, -- no 'tr' or 'ts', doesn't make sense for Italian g = { -- We need to store the <g:...> inline modifier into the "genders" key of the parsed part, because that is what -- [[Module:links]] expects. item_dest = "genders", sublist = true, }, id = {}, alt = {}, q = {type = "qualifier"}, qq = {type = "qualifier"}, lit = {}, pos = {}, -- no 'sc', doesn't make sense for Italian } local function parse_term_with_modifiers(paramname, val) local function generate_obj(term) local decomp = com.decompose(term) local lemma = com.remove_non_final_accents(decomp) if lemma ~= decomp then term = com.compose("[[" .. lemma .. "|" .. decomp .. "]]") end return {term = term} end local retval = require(parse_interface_module).parse_inline_modifiers(val, { paramname = paramname, param_mods = param_mods, generate_obj = generate_obj, splitchar = "[/;,]", preserve_splitchar = true, }) for _, obj in ipairs(retval) do if obj.delimiter == ";" then obj.separator = "; " elseif obj.delimiter == "/" then obj.separator = "/" -- default to nil for comma end end return retval end local function insert_deriv_inflections(data, args) for _, deriv_param in ipairs(deriv_params) do local param, desc = unpack(deriv_param) if #args[param] > 0 then local inflection = {label = desc} for _, term in ipairs(args[param]) do local parsed_terms = parse_term_with_modifiers(param, term) for _, parsed_term in ipairs(parsed_terms) do insert(inflection, parsed_term) end end insert(data.inflections, inflection) end end 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 gender_for_default_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 end end if saw_m and saw_f then gender_for_default_plural = "mf" elseif saw_f then gender_for_default_plural = "f" else gender_for_default_plural = "m" end local lemma = data.pagename local function inscat(cat) insert(data.categories, cat .. langname) end local function insert_noun_inflection(terms, label, accel, no_inv) for _, term in ipairs(terms) do if not no_inv and term.term == lemma then term.term = nil term.label = glossary_link("ဟွံပြံၚ်လှာဲ") end end m_headword_utilities.insert_inflection { headdata = data, terms = terms, label = label, accel = accel and {form = accel} or nil, } end -- Plural local plurals = {} -- Fetch explicit masculine and feminine plurals here because we may change them below when processing plurals. local mpls = m_headword_utilities.parse_term_list_with_modifiers { paramname = "mpl", forms = args.mpl, splitchar = ",", } local fpls = m_headword_utilities.parse_term_list_with_modifiers { paramname = "fpl", forms = args.fpl, splitchar = ",", } 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("ပါဲနူကိုန်ဗဟုဝစ်")}) elseif args.apoc then -- apocopated noun if args[2][1] then error("Can't specify plurals of apocopated " .. category_pos) end else -- Fetch plurals and associated qualifiers, labels and genders. plurals = m_headword_utilities.parse_term_list_with_modifiers { paramname = {2, "pl"}, forms = args[2], splitchar = ",", include_mods = {"g"}, } -- 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 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 = "usually " .. glossary_link("မတော်ဟွံဂွံ")}) insert(data.categories, category_plpos .. langname .. "မတော်ဂွံဂမၠိုၚ်") else insert(data.inflections, {label = glossary_link("မတော်ဟွံဂွံ")}) end else -- Countable or mixed countable/uncountable -- If no plurals, use the default plural unless mpl= or fpl= explicitly given. if not plurals[1] and not mpls[1] and not fpls[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("မတော်ဂွံ") .. " ကဵု " .. 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 -- Process 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("#") or pl.term == "cap*" or pl.term == "cap*+" then has_default_or_hash = true break end end if has_default_or_hash then local newpls = {} local function insert_pl(pl, defpl) pl.term = defpl insert(newpls, pl) end local function make_gendered_plural(pl, special) if gender_for_default_plural == "mf" then local default_mpl = com.make_plural(lemma, "m", special) local default_fpl = com.make_plural(lemma, "f", special) if default_mpl then if default_mpl == default_fpl then insert_pl(pl, default_mpl) else if args.mpl[1] or args.fpl[1] then error("Can't specify gendered plural spec '" .. (special or "+") .. "' along with gender=" .. gender_for_default_plural .. " and also specify mpl= or fpl=") end mpls = {m_table.shallowCopy(pl)} mpls[1].term = default_mpl fpls = {pl} fpls[1].term = default_fpl end end else local defpl = com.make_plural(lemma, gender_for_default_plural, special) if defpl then insert_pl(pl, defpl) end end end for _, pl in ipairs(plurals) do if pl.term == "cap*" or pl.term == "cap*+" then make_gendered_plural(pl, pl.term) elseif pl.term == "+" then make_gendered_plural(pl) elseif pl.term:find("^%+") then local special = require(romut_module).get_special_indicator(pl.term) make_gendered_plural(pl, special) else insert_pl(pl, replace_hash_with_lemma(pl.term, lemma)) end end plurals = newpls end if plurals[2] then --inscat(category_plpos .. " with multiple plurals") end -- If the first or only plural is the same as the singular, replace it with 'invariable', or 'usually -- invariable' if there is more than one plural. pl1 = plurals[1] if pl1 and pl1.term == lemma then if plurals[2] then insert(data.inflections, {label = "ဗွဲတၟေၚ်" .. glossary_link("ဟွံပြၚ်လှာဲ"), q = pl1.q, qq = pl1.qq, l = pl1.l, ll = pl1.ll, refs = pl1.refs }) else insert(data.inflections, {label = glossary_link("ဟွံပြၚ်လှာဲ"), q = pl1.q, qq = pl1.qq, l = pl1.l, ll = pl1.ll, refs = pl1.refs }) end remove(plurals, 1) --inscat("indeclinable " .. category_plpos) end if plurals[1] then -- Check for gender-changing plurals. for _, pl in ipairs(plurals) do if pl.genders then for _, g in ipairs(pl.genders) do if type(g) ~= "table" then g = {spec = g} end if g.spec == "m" and not saw_m or g.spec == "f" and not saw_f then --inscat(category_plpos .. " that change gender in the plural") end end end end 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:it-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 special 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 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 = com.make_plural(mf.term, field, special) if plobj.term then -- 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|it|MFSING}} plobj.accel = {form = "p", lemma = mf.term} insert(default_plurals, plobj) end 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, mfpls, gender, default_plurals, singulars) if is_plurale_tantum then return mfpls, true end local new_mfpls = {} local saw_plus local noinv for i, mfpl in ipairs(mfpls) do local accel if #mfpls == #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|it|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 local defpl = com.make_plural(lemma, gender) if not defpl then error("Unable to generate default plural of '" .. lemma .. "'") end default_plurals[1] = {term = defpl} 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 -- don't use "invariable" because the plural is not with respect to the lemma but with respect to the -- masc/fem singular noinv = true elseif mfpl.term == "cap*" or mfpl.term == "cap*+" or mfpl.term:find("^%+") then if mfpl.term:find("^%+") then mfpl.term = require(romut_module).get_special_indicator(mfpl.term) end if singulars[1] then for _, mf in ipairs(singulars) do local mfplobj = m_table.shallowCopy(mfpl) mfplobj.term = com.make_plural(mf.term, gender, mfpl.term) if mfplobj.term then mfplobj.accel = accel m_headword_utilities.combine_termobj_qualifiers_labels(mfplobj, mf) insert(new_mfpls, mfplobj) end -- don't use "invariable" because the plural is not with respect to the lemma but with respect -- to the masc/fem singular noinv = true -- FIXME: Should we throw an error if no plural could be generated? end else -- FIXME: This clause didn't exist in the corresponding code in [[Module:pt-headword]]. Is it -- correct? mfpl.term = com.make_plural(lemma, gender, mfpl.term) if mfpl.term then insert(new_mfpls, mfpl) end end else mfpl.accel = accel mfpl.term = replace_hash_with_lemma(mfpl.term, lemma) insert(new_mfpls, mfpl) -- don't use "invariable" if masc/fem singular present because the plural is not with respect to -- the lemma but with respect to the masc/fem singular noinv = noinv or #singulars > 0 end end return new_mfpls, noinv end local mpl_noinv, fpl_noinv -- Not fpls[1] because if the user didn't specify any explicit mpl= or fpl= but the lemma gender is mf or mfbysense -- and has separate masculine and feminine plural forms (e.g. any term in -ista), we don't want to reprocess those -- auto-generated forms. if args.fpl[1] then -- Override any existing feminine plurals. feminine_plurals, fpl_noinv = handle_mf_plural("fpl", fpls, "f", feminine_plurals, feminines) else feminine_plurals, fpl_noinv = fpls, false end if args.mpl[1] then -- Override any existing masculine plurals. masculine_plurals, mpl_noinv = handle_mf_plural("mpl", mpls, "m", masculine_plurals, masculines) else masculine_plurals, mpl_noinv = mpls, false end local function redundant_plural(pl) for _, p in ipairs(plurals) do if p.term == pl.term 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[1] then -- Set 'noinv' because we already took care of invariable plurals above. insert_noun_inflection(plurals, "plural", "p", "noinv") end insert_noun_inflection(masculines, "ပုလ္လိၚ်") insert_noun_inflection(masculine_plurals, "ကိုန်ဗဟုဝစ်ပုလ္လိၚ်", nil, mpl_noinv) insert_noun_inflection(feminines, "ဣတ္တိလိၚ်", "f") insert_noun_inflection(feminine_plurals, "ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်", nil, fpl_noinv) local function parse_and_insert_noun_inflection(field, label, accel) parse_and_insert_inflection(data, args, field, label, accel) end parse_and_insert_noun_inflection("adj", glossary_link("relational", "relational adjective")) parse_and_insert_noun_inflection("adv", glossary_link("adverb")) parse_and_insert_noun_inflection("dem", glossary_link("demonym")) parse_and_insert_noun_inflection("fdem", "female " .. glossary_link("demonym")) insert_deriv_inflections(data, args) -- Maybe add category 'Italian nouns with irregular gender' (or similar) local irreg_gender_lemma = lemma:gsub(" .*", "") -- only look at first word if (irreg_gender_lemma:find("o$") and (gender_for_default_plural == "f" or gender_for_default_plural == "mf" or gender_for_default_plural == "mfbysense")) or (irreg_gender_lemma:find("a$") and (gender_for_default_plural == "m" or gender_for_default_plural == "mf" or gender_for_default_plural == "mfbysense")) then -- inscat(category_plpos .. " with irregular gender") end end local function get_noun_params(nountype) local params = { [1] = {list = "g", disallow_holes = true, required = nountype ~= "proper", default = "?", type = "genders", flatten = true}, [2] = {list = "pl", disallow_holes = true}, ["m"] = list_param, ["f"] = list_param, ["mpl"] = list_param, ["fpl"] = list_param, ["adj"] = list_param, --adjective(s) ["adv"] = list_param, --adverb(s) ["dem"] = list_param, --demonym(s) ["fdem"] = list_param, --female demonym(s) } insert_deriv_params(params) return params end pos_functions["နာမ်"] = { params = get_noun_params("base"), func = do_noun, } pos_functions["နာမ်မကိတ်ညဳ"] = { params = get_noun_params("proper"), func = function(args, data) do_noun(args, data, "is proper noun") end, } pos_functions["cardinal nouns"] = { params = get_noun_params("base"), func = function(args, data) do_noun(args, data) --insert(data.categories, 1, langname .. " cardinal numbers") end, pos_category = "ဂၞန်သၚ်္ချာ", } ----------------------------------------------------------------------------------------- -- 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 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.inv then -- invariable adjective insert(data.inflections, {label = glossary_link("ပြံၚ်လှာဲဟွံမာန်")}) insert(data.categories, category_plpos .. langname .. "နကဵုပါ်ပါဲထောံဟွံမာန်ဂမၠိုၚ်") end if args.noforms then -- [[bello]] and any others too complicated to describe in headword insert(data.inflections, {label = "see below for inflection"}) end if args.inv or args.apoc or args.noforms then 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 or apocopated adjective or with noforms=") 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 local defpl = com.make_plural(lemma, "f", args.sp) if not defpl then error("Unable to generate default plural of '" .. lemma .. "'") end fpl.term = defpl 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. local defpl = com.make_plural(lemma, "m", args.sp) if not defpl then error("Unable to generate default plural of '" .. lemma .. "'") end mpl.term = defpl 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) local defpl = com.make_plural(f.term, "f", args.sp) if not defpl then error("Unable to generate default plural of '" .. f.term .. "'") end fplobj.term = defpl 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 = {"mfbysense"} 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", "နပုလ္လိၚ်") parse_and_insert_adj_inflection("comp", glossary_link("ပတဝ်ပတုပ်ရံၚ်")) parse_and_insert_adj_inflection("sup", glossary_link("သဒ္ဒာ")) parse_and_insert_adj_inflection("adv", glossary_link("ကြိယာဝိသေသန")) insert_deriv_inflections(data, args) 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 ["noforms"] = boolean_param, --too complicated to list forms except in a table ["sp"] = true, -- special indicator: "first", "first-last", etc. ["f"] = list_param, --feminine form(s) ["pl"] = list_param, --plural override(s) ["fpl"] = list_param, --feminine plural override(s) ["mpl"] = list_param, --masculine plural override(s) ["adv"] = list_param, --adverb(s) } if adjtype == "base" or adjtype == "part" or adjtype == "det" then params["တုဲဒှ်"] = list_param --comparative(s) params["ညိည"] = list_param --superlative(s) params["ဆၜိုတ်"] = boolean_param -- feminine only end if adjtype == "sup" then params["irreg"] = boolean_param end insert_deriv_params(params) 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["cardinal adjectives"] = { params = get_adjective_params("card"), func = function(args, data) do_adjective(args, data) insert(data.categories, 1, "ဂၞန်သၚ်္ချာ" .. langname .. "မတော်ရိုဟ်နကဵုအဓိကဂမၠိုၚ်") end, pos_category = "ဂၞန်သၚ်္ချာ", } pos_functions["လုပ်ကၠောန်စွံလဝ်နကဵုအတိက်"] = { params = get_adjective_params("part"), func = do_adjective, redlink_pos = "လုပ်ကၠောန်စွံလဝ်", } 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("det"), func = do_adjective, } pos_functions["adjective-like pronouns"] = { params = get_adjective_params("pron"), func = do_adjective, pos_category = "သဗ္ဗနာမ်", } pos_functions["cardinal invariable"] = { params = {}, func = function(args, data) insert(data.categories, "ဂၞန်သၚ်္ချာ" .. langname .. "မတော်ရိုဟ်နကဵုအဓိကဂမၠိုၚ်") insert(data.categories, "ဂၞန်သၚ်္ချာ" .. langname .. "နကဵုပါ်ပါဲထောံဟွံမာန်ဂမၠိုၚ်") insert(data.inflections, {label = glossary_link("ကၞိက်ဟွံမာန်")}) end, pos_category = "ဂၞန်သၚ်္ချာ", } ----------------------------------------------------------------------------------------- -- Adverbs -- ----------------------------------------------------------------------------------------- local function do_adverb(args, data) local function parse_and_insert_adv_inflection(field, label, accel, frob) parse_and_insert_inflection(data, args, field, label, accel, frob) end parse_and_insert_adv_inflection("comp", glossary_link("ပတုပ်ရံၚ်")) parse_and_insert_adv_inflection("sup", glossary_link("သဒ္ဒာ")) parse_and_insert_adv_inflection("adj", glossary_link("နာမဝိသေသန")) end local function get_adverb_params(advtype) local params = { ["adj"] = list_param, --adjective(s) } if advtype == "base" then params["တုဲဒှ်"] = list_param --comparative(s) params["ညိည"] = list_param --superlative(s) 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 = "ကြိယာဝိသေသန", } pos_functions["သဒ္ဒာကြိယာဝိသေသန"] = { params = get_adverb_params("sup"), func = do_adverb, pos_category = "ကြိယာဝိသေသန", } ----------------------------------------------------------------------------------------- -- Verbs -- ----------------------------------------------------------------------------------------- pos_functions["ကြိယာ"] = { params = { [1] = {}, ["noautolinktext"] = boolean_param, ["noautolinkverb"] = boolean_param, }, func = function(args, data) if args[1] then local alternant_multiword_spec = require(it_verb_module).do_generate_forms(args, "from headword", data.heads[1]) local function do_verb_form(slot, label, rowslot, rowlabel) local forms = alternant_multiword_spec.forms[slot] local retval if alternant_multiword_spec.rowprops.all_defective[rowslot] then if not alternant_multiword_spec.rowprops.defective[rowslot] then -- No forms, but none expected; don't display anything return end retval = {label = "no " .. rowlabel} elseif not forms then retval = {label = "no " .. label} elseif alternant_multiword_spec.rowprops.all_unknown[rowslot] then retval = {label = "unknown " .. rowlabel} elseif forms[1].form == "?" then retval = {label = "unknown " .. label} else -- Disable accelerators for now because we don't want the added accents going into the headwords. -- FIXME: We now have support in [[Module:accel]] to specify the target explicitly; we can use this -- so we can add the accelerators back with a param to avoid the accents. local accel_form = nil -- all_verb_slots[slot] retval = {label = label, accel = accel_form and {form = accel_form} or nil} local prev_footnotes = nil -- If the footnotes for this form are the same as the footnotes for the preceding form or -- contain the preceding footnotes, replace the footnotes that are the same with "ditto". -- This avoids repetition on pages like [[succedere]] where the form ''succedétti'' has a long -- footnote which gets repeated in the traditional form ''succedètti'' (which also has the -- footnote "[traditional]"). for _, form in ipairs(forms) do local quals, refs = require(inflection_utilities_module). convert_footnotes_to_qualifiers_and_references(form.footnotes) local quals_with_ditto = quals if quals and prev_footnotes then local quals_contains_previous = true for _, qual in ipairs(prev_footnotes) do if not m_table.contains(quals, qual) then quals_contains_previous = false break end end if quals_contains_previous then local inserted_ditto = false quals_with_ditto = {} for _, qual in ipairs(quals) do if m_table.contains(prev_footnotes, qual) then if not inserted_ditto then insert(quals_with_ditto, "ditto") inserted_ditto = true end else insert(quals_with_ditto, qual) end end end end prev_footnotes = quals insert(retval, {term = form.form, q = quals_with_ditto, refs = refs}) end end insert(data.inflections, retval) end if alternant_multiword_spec.props.is_pronominal then insert(data.inflections, {label = glossary_link("ဒုၚ်ယၟုနာမ်")}) end if alternant_multiword_spec.props.impers then insert(data.inflections, {label = glossary_link("ဟွံမွဲကဵုပစ္စဲပူဂဵု")}) end if alternant_multiword_spec.props.thirdonly then insert(data.inflections, {label = "ပါဲနူပူဂဵုတတိယ"}) end local thirdonly = alternant_multiword_spec.props.impers or alternant_multiword_spec.props.thirdonly local sing_label = thirdonly and "third-person singular" or "first-person singular" for _, rowspec in ipairs { {"pres", "ပစ္စုပ္ပန်", true}, {"phis", "ဝၚ်အတိက်", true}, {"pp", "လုပ်ကၠောန်စွံလဝ်နကဵုအတိက်", true}, {"imperf", "ဟွံက္ဍိုက်ပေၚ်"}, {"fut", "အနာဂတ်"}, {"sub", "မချူဗပေၚ်စုတ်လဝ်"}, {"impsub", "ဗပေၚ်စုတ်လဝ်ဟၟဲက္ဍိုက်ပေၚ်"}, } do local rowslot, desc, always_show = unpack(rowspec) local slot = rowslot .. (thirdonly and "3s" or "1s") local must_show = alternant_multiword_spec.is_irreg[slot] if always_show then must_show = true elseif rowslot == "imperf" and alternant_multiword_spec.props.has_explicit_stem_spec then -- If there is an explicit stem spec, make sure it gets displayed; the imperfect is a good way of -- showing this. must_show = true elseif not alternant_multiword_spec.forms[slot] then -- If the principal part is unexpectedly missing, make sure we show this. must_show = true elseif alternant_multiword_spec.forms[slot][1].form == "?" then -- If the principal part is unknown, make sure we show this. must_show = true end if must_show then if rowslot == "pp" then do_verb_form(rowslot, desc, rowslot, desc) else do_verb_form(slot, sing_label .. " " .. desc, rowslot, desc) end end end -- Also do the imperative, but not for third-only verbs, which are always missing the imperative. if not thirdonly and (alternant_multiword_spec.is_irreg.imp2s or not alternant_multiword_spec.forms.imp2s) then do_verb_form("imp2s", "second-person singular imperative", "imp", "imperative") end -- If there is a past participle but no auxiliary (e.g. [[malfare]]), explicitly add "no auxiliary". In -- cases where there's no past participle and no auxiliary (e.g. [[irrompere]]), we don't do this as we -- already get "no past participle" displayed. Don't display an auxiliary in any case if the lemma -- consists entirely of reflexive verbs (for which the auxiliary is always [[essere]]). if alternant_multiword_spec.props.is_non_reflexive and ( alternant_multiword_spec.forms.aux or alternant_multiword_spec.forms.pp ) then do_verb_form("aux", "auxiliary", "aux", "auxiliary") end -- 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:it-verb]] it in place of the user-specified or auto-generated head so that we get accents marked -- on the verb(s). Don't do this if the user gave multiple heads or gave a head with a multiword-linked -- verbal expression such as '[[dare esca]] [[al]] [[fuoco]]'. 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.inf) 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 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, } ----------------------------------------------------------------------------------------- -- Arbitrary parts of speech -- ----------------------------------------------------------------------------------------- pos_functions["arbitrary part of speech"] = { params = { [1] = {required = true}, ["g"] = {list = true, disallow_holes = true, type = "genders", flatten = true}, }, func = function(args, data) if data.is_suffix then error("Can't use [[Template:it-pos]] with suffixes") end validate_genders(args.g) data.genders = args.g local plpos = m_en_utilities.pluralize(args[1]) data.pos_category = plpos end, } return export 34rrsaosqz42zr960rg583t3jegczzn 393644 393634 2026-04-27T08:14:50Z 咽頭べさ 33 393644 Scribunto text/plain -- This module contains code for Italian headword templates. -- Templates covered are: -- * {{it-noun}}, {{it-proper noun}}; -- * {{it-verb}}; -- * {{it-adj}}, {{it-adj-comp}}, {{it-adj-sup}}; -- * {{it-det}}; -- * {{it-art}}; -- * {{it-pron-adj}}; -- * {{it-pp}}; -- * {{it-presp}}; -- * {{it-card-noun}}, {{it-card-adj}}, {{it-card-inv}}; -- * {{it-adv}}; -- * {{it-pos}}; -- * {{it-suffix form}}. -- See [[Module:it-verb]] for Italian 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 usub = m_strutils.sub local require_when_needed = require("Module:require when needed") local insert = table.insert local remove = table.remove local m_table = require("Module:table") local com = require("Module:it-common") local en_utilities_module = "Module:en-utilities" local headword_module = "Module:headword" local headword_utilities_module = "Module:headword utilities" local inflection_utilities_module = "Module:inflection utilities" local it_verb_module = "Module:it-verb" local parse_interface_module = "Module:parse interface" local romut_module = "Module:romance utilities" local lang = require("Module:languages").getByCode("it") 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 unpack = unpack or table.unpack -- Lua 5.2 compatibility local no_split_apostrophe_words = { ["c'è"] = true, ["c'era"] = true, ["c'erano"] = true, } ----------------------------------------------------------------------------------------- -- Utility functions -- ----------------------------------------------------------------------------------------- local function track(page) require("Module:debug/track")("it-headword/" .. page) return true 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, frob) m_headword_utilities.parse_and_insert_inflection { headdata = data, forms = args[field], paramname = field, splitchar = ",", label = label, accel = accel and {form = accel} or nil, frob = frob, } 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 list_param = {list = true, disallow_holes = true} local boolean_param = {type = "boolean"} ----------------------------------------------------------------------------------------- -- Main entry point -- ----------------------------------------------------------------------------------------- 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, ["sort"] = true, ["apoc"] = boolean_param, ["splithyph"] = boolean_param, ["nolinkhead"] = boolean_param, ["nolink"] = {type = "boolean", alias_of = "nolinkhead"}, ["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.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, no_split_apostrophe_words) 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 if head == auto_linked_head then track("redundant-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, sort_key = args.sort, 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 if pos_functions[poscat] then pos_functions[poscat].func(args, data) end if args.apoc then -- Apocopated form of a term; do this after calling pos_functions[], because the function might modify -- data.pos_category. local pos = data.pos_category if not pos:find(" forms") then -- Apocopated forms are non-lemma forms. --local singular_poscat = m_en_utilities.singularize(pos) data.pos_category = "ဗီုပြၚ်" .. singular_poscat end -- If this is a suffix, insert label 'apocopated' after 'FOO-forming suffix', otherwise insert at the beginning. insert(data.inflections, data.is_suffix and 2 or 1, {label = glossary_link("apocopated")}) end if args.json then return require("Module:JSON").toJSON(data) end return require(headword_module).full_headword(data) end local deriv_params = { {"dim", glossary_link("diminutive")}, {"dim_dim", "double " .. glossary_link("diminutive")}, {"aug_dim", glossary_link("augmentative") .. "-" .. glossary_link("diminutive")}, {"aug", glossary_link("augmentative")}, {"dim_aug", glossary_link("diminutive") .. "-" .. glossary_link("augmentative")}, {"aug_aug", "double " .. glossary_link("augmentative")}, {"pej", glossary_link("pejorative")}, {"dim_pej", glossary_link("diminutive") .. "-" .. glossary_link("pejorative")}, {"aug_pej", glossary_link("augmentative") .. "-" .. glossary_link("pejorative")}, {"pej_pej", "double " .. glossary_link("pejorative")}, {"end", glossary_link("endearing")}, {"dim_end", glossary_link("diminutive") .. "-" .. glossary_link("endearing")}, {"aug_end", glossary_link("augmentative") .. "-" .. glossary_link("endearing")}, {"derog", glossary_link("derogatory")}, {"dim_derog", glossary_link("diminutive") .. "-" .. glossary_link("derogatory")}, {"aug_derog", glossary_link("augmentative") .. "-" .. glossary_link("derogatory")}, {"end_derog", glossary_link("endearing") .. "-" .. glossary_link("derogatory")}, } local function insert_deriv_params(params) for _, deriv_param in ipairs(deriv_params) do local param = unpack(deriv_param) params[param] = list_param end end local param_mods = { t = { -- We need to store the <t:...> inline modifier into the "gloss" key of the parsed part, because that is what -- [[Module:links]] expects. item_dest = "gloss", }, gloss = {}, -- no 'tr' or 'ts', doesn't make sense for Italian g = { -- We need to store the <g:...> inline modifier into the "genders" key of the parsed part, because that is what -- [[Module:links]] expects. item_dest = "genders", sublist = true, }, id = {}, alt = {}, q = {type = "qualifier"}, qq = {type = "qualifier"}, lit = {}, pos = {}, -- no 'sc', doesn't make sense for Italian } local function parse_term_with_modifiers(paramname, val) local function generate_obj(term) local decomp = com.decompose(term) local lemma = com.remove_non_final_accents(decomp) if lemma ~= decomp then term = com.compose("[[" .. lemma .. "|" .. decomp .. "]]") end return {term = term} end local retval = require(parse_interface_module).parse_inline_modifiers(val, { paramname = paramname, param_mods = param_mods, generate_obj = generate_obj, splitchar = "[/;,]", preserve_splitchar = true, }) for _, obj in ipairs(retval) do if obj.delimiter == ";" then obj.separator = "; " elseif obj.delimiter == "/" then obj.separator = "/" -- default to nil for comma end end return retval end local function insert_deriv_inflections(data, args) for _, deriv_param in ipairs(deriv_params) do local param, desc = unpack(deriv_param) if #args[param] > 0 then local inflection = {label = desc} for _, term in ipairs(args[param]) do local parsed_terms = parse_term_with_modifiers(param, term) for _, parsed_term in ipairs(parsed_terms) do insert(inflection, parsed_term) end end insert(data.inflections, inflection) end end 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 gender_for_default_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 end end if saw_m and saw_f then gender_for_default_plural = "mf" elseif saw_f then gender_for_default_plural = "f" else gender_for_default_plural = "m" end local lemma = data.pagename local function inscat(cat) insert(data.categories, cat .. langname) end local function insert_noun_inflection(terms, label, accel, no_inv) for _, term in ipairs(terms) do if not no_inv and term.term == lemma then term.term = nil term.label = glossary_link("ဟွံပြံၚ်လှာဲ") end end m_headword_utilities.insert_inflection { headdata = data, terms = terms, label = label, accel = accel and {form = accel} or nil, } end -- Plural local plurals = {} -- Fetch explicit masculine and feminine plurals here because we may change them below when processing plurals. local mpls = m_headword_utilities.parse_term_list_with_modifiers { paramname = "mpl", forms = args.mpl, splitchar = ",", } local fpls = m_headword_utilities.parse_term_list_with_modifiers { paramname = "fpl", forms = args.fpl, splitchar = ",", } 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("ပါဲနူကိုန်ဗဟုဝစ်")}) elseif args.apoc then -- apocopated noun if args[2][1] then error("Can't specify plurals of apocopated " .. category_pos) end else -- Fetch plurals and associated qualifiers, labels and genders. plurals = m_headword_utilities.parse_term_list_with_modifiers { paramname = {2, "pl"}, forms = args[2], splitchar = ",", include_mods = {"g"}, } -- 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 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 = "usually " .. glossary_link("မတော်ဟွံဂွံ")}) insert(data.categories, category_plpos .. langname .. "မတော်ဂွံဂမၠိုၚ်") else insert(data.inflections, {label = glossary_link("မတော်ဟွံဂွံ")}) end else -- Countable or mixed countable/uncountable -- If no plurals, use the default plural unless mpl= or fpl= explicitly given. if not plurals[1] and not mpls[1] and not fpls[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("မတော်ဂွံ") .. " ကဵု " .. 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 -- Process 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("#") or pl.term == "cap*" or pl.term == "cap*+" then has_default_or_hash = true break end end if has_default_or_hash then local newpls = {} local function insert_pl(pl, defpl) pl.term = defpl insert(newpls, pl) end local function make_gendered_plural(pl, special) if gender_for_default_plural == "mf" then local default_mpl = com.make_plural(lemma, "m", special) local default_fpl = com.make_plural(lemma, "f", special) if default_mpl then if default_mpl == default_fpl then insert_pl(pl, default_mpl) else if args.mpl[1] or args.fpl[1] then error("Can't specify gendered plural spec '" .. (special or "+") .. "' along with gender=" .. gender_for_default_plural .. " and also specify mpl= or fpl=") end mpls = {m_table.shallowCopy(pl)} mpls[1].term = default_mpl fpls = {pl} fpls[1].term = default_fpl end end else local defpl = com.make_plural(lemma, gender_for_default_plural, special) if defpl then insert_pl(pl, defpl) end end end for _, pl in ipairs(plurals) do if pl.term == "cap*" or pl.term == "cap*+" then make_gendered_plural(pl, pl.term) elseif pl.term == "+" then make_gendered_plural(pl) elseif pl.term:find("^%+") then local special = require(romut_module).get_special_indicator(pl.term) make_gendered_plural(pl, special) else insert_pl(pl, replace_hash_with_lemma(pl.term, lemma)) end end plurals = newpls end if plurals[2] then --inscat(category_plpos .. " with multiple plurals") end -- If the first or only plural is the same as the singular, replace it with 'invariable', or 'usually -- invariable' if there is more than one plural. pl1 = plurals[1] if pl1 and pl1.term == lemma then if plurals[2] then insert(data.inflections, {label = "ဗွဲတၟေၚ်" .. glossary_link("ဟွံပြၚ်လှာဲ"), q = pl1.q, qq = pl1.qq, l = pl1.l, ll = pl1.ll, refs = pl1.refs }) else insert(data.inflections, {label = glossary_link("ဟွံပြၚ်လှာဲ"), q = pl1.q, qq = pl1.qq, l = pl1.l, ll = pl1.ll, refs = pl1.refs }) end remove(plurals, 1) --inscat("indeclinable " .. category_plpos) end if plurals[1] then -- Check for gender-changing plurals. for _, pl in ipairs(plurals) do if pl.genders then for _, g in ipairs(pl.genders) do if type(g) ~= "table" then g = {spec = g} end if g.spec == "m" and not saw_m or g.spec == "f" and not saw_f then --inscat(category_plpos .. " that change gender in the plural") end end end end 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:it-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 special 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 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 = com.make_plural(mf.term, field, special) if plobj.term then -- 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|it|MFSING}} plobj.accel = {form = "p", lemma = mf.term} insert(default_plurals, plobj) end 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, mfpls, gender, default_plurals, singulars) if is_plurale_tantum then return mfpls, true end local new_mfpls = {} local saw_plus local noinv for i, mfpl in ipairs(mfpls) do local accel if #mfpls == #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|it|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 local defpl = com.make_plural(lemma, gender) if not defpl then error("Unable to generate default plural of '" .. lemma .. "'") end default_plurals[1] = {term = defpl} 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 -- don't use "invariable" because the plural is not with respect to the lemma but with respect to the -- masc/fem singular noinv = true elseif mfpl.term == "cap*" or mfpl.term == "cap*+" or mfpl.term:find("^%+") then if mfpl.term:find("^%+") then mfpl.term = require(romut_module).get_special_indicator(mfpl.term) end if singulars[1] then for _, mf in ipairs(singulars) do local mfplobj = m_table.shallowCopy(mfpl) mfplobj.term = com.make_plural(mf.term, gender, mfpl.term) if mfplobj.term then mfplobj.accel = accel m_headword_utilities.combine_termobj_qualifiers_labels(mfplobj, mf) insert(new_mfpls, mfplobj) end -- don't use "invariable" because the plural is not with respect to the lemma but with respect -- to the masc/fem singular noinv = true -- FIXME: Should we throw an error if no plural could be generated? end else -- FIXME: This clause didn't exist in the corresponding code in [[Module:pt-headword]]. Is it -- correct? mfpl.term = com.make_plural(lemma, gender, mfpl.term) if mfpl.term then insert(new_mfpls, mfpl) end end else mfpl.accel = accel mfpl.term = replace_hash_with_lemma(mfpl.term, lemma) insert(new_mfpls, mfpl) -- don't use "invariable" if masc/fem singular present because the plural is not with respect to -- the lemma but with respect to the masc/fem singular noinv = noinv or #singulars > 0 end end return new_mfpls, noinv end local mpl_noinv, fpl_noinv -- Not fpls[1] because if the user didn't specify any explicit mpl= or fpl= but the lemma gender is mf or mfbysense -- and has separate masculine and feminine plural forms (e.g. any term in -ista), we don't want to reprocess those -- auto-generated forms. if args.fpl[1] then -- Override any existing feminine plurals. feminine_plurals, fpl_noinv = handle_mf_plural("fpl", fpls, "f", feminine_plurals, feminines) else feminine_plurals, fpl_noinv = fpls, false end if args.mpl[1] then -- Override any existing masculine plurals. masculine_plurals, mpl_noinv = handle_mf_plural("mpl", mpls, "m", masculine_plurals, masculines) else masculine_plurals, mpl_noinv = mpls, false end local function redundant_plural(pl) for _, p in ipairs(plurals) do if p.term == pl.term 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[1] then -- Set 'noinv' because we already took care of invariable plurals above. insert_noun_inflection(plurals, "plural", "p", "noinv") end insert_noun_inflection(masculines, "ပုလ္လိၚ်") insert_noun_inflection(masculine_plurals, "ကိုန်ဗဟုဝစ်ပုလ္လိၚ်", nil, mpl_noinv) insert_noun_inflection(feminines, "ဣတ္တိလိၚ်", "f") insert_noun_inflection(feminine_plurals, "ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်", nil, fpl_noinv) local function parse_and_insert_noun_inflection(field, label, accel) parse_and_insert_inflection(data, args, field, label, accel) end parse_and_insert_noun_inflection("adj", glossary_link("relational", "relational adjective")) parse_and_insert_noun_inflection("adv", glossary_link("adverb")) parse_and_insert_noun_inflection("dem", glossary_link("demonym")) parse_and_insert_noun_inflection("fdem", "female " .. glossary_link("demonym")) insert_deriv_inflections(data, args) -- Maybe add category 'Italian nouns with irregular gender' (or similar) local irreg_gender_lemma = lemma:gsub(" .*", "") -- only look at first word if (irreg_gender_lemma:find("o$") and (gender_for_default_plural == "f" or gender_for_default_plural == "mf" or gender_for_default_plural == "mfbysense")) or (irreg_gender_lemma:find("a$") and (gender_for_default_plural == "m" or gender_for_default_plural == "mf" or gender_for_default_plural == "mfbysense")) then -- inscat(category_plpos .. " with irregular gender") end end local function get_noun_params(nountype) local params = { [1] = {list = "g", disallow_holes = true, required = nountype ~= "proper", default = "?", type = "genders", flatten = true}, [2] = {list = "pl", disallow_holes = true}, ["m"] = list_param, ["f"] = list_param, ["mpl"] = list_param, ["fpl"] = list_param, ["adj"] = list_param, --adjective(s) ["adv"] = list_param, --adverb(s) ["dem"] = list_param, --demonym(s) ["fdem"] = list_param, --female demonym(s) } insert_deriv_params(params) return params end pos_functions["နာမ်"] = { params = get_noun_params("base"), func = do_noun, } pos_functions["နာမ်မကိတ်ညဳ"] = { params = get_noun_params("proper"), func = function(args, data) do_noun(args, data, "is proper noun") end, } pos_functions["cardinal nouns"] = { params = get_noun_params("base"), func = function(args, data) do_noun(args, data) --insert(data.categories, 1, langname .. " cardinal numbers") end, pos_category = "ဂၞန်သၚ်္ချာ", } ----------------------------------------------------------------------------------------- -- 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 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.inv then -- invariable adjective insert(data.inflections, {label = glossary_link("ပြံၚ်လှာဲဟွံမာန်")}) insert(data.categories, category_plpos .. langname .. "နကဵုပါ်ပါဲထောံဟွံမာန်ဂမၠိုၚ်") end if args.noforms then -- [[bello]] and any others too complicated to describe in headword insert(data.inflections, {label = "see below for inflection"}) end if args.inv or args.apoc or args.noforms then 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 or apocopated adjective or with noforms=") 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 local defpl = com.make_plural(lemma, "f", args.sp) if not defpl then error("Unable to generate default plural of '" .. lemma .. "'") end fpl.term = defpl 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. local defpl = com.make_plural(lemma, "m", args.sp) if not defpl then error("Unable to generate default plural of '" .. lemma .. "'") end mpl.term = defpl 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) local defpl = com.make_plural(f.term, "f", args.sp) if not defpl then error("Unable to generate default plural of '" .. f.term .. "'") end fplobj.term = defpl 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 = {"mfbysense"} 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", "နပုလ္လိၚ်") parse_and_insert_adj_inflection("comp", glossary_link("ပတဝ်ပတုပ်ရံၚ်")) parse_and_insert_adj_inflection("sup", glossary_link("သဒ္ဒာ")) parse_and_insert_adj_inflection("adv", glossary_link("ကြိယာဝိသေသန")) insert_deriv_inflections(data, args) 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 ["noforms"] = boolean_param, --too complicated to list forms except in a table ["sp"] = true, -- special indicator: "first", "first-last", etc. ["f"] = list_param, --feminine form(s) ["pl"] = list_param, --plural override(s) ["fpl"] = list_param, --feminine plural override(s) ["mpl"] = list_param, --masculine plural override(s) ["adv"] = list_param, --adverb(s) } if adjtype == "base" or adjtype == "part" or adjtype == "det" then params["တုဲဒှ်"] = list_param --comparative(s) params["ညိည"] = list_param --superlative(s) params["ဆၜိုတ်"] = boolean_param -- feminine only end if adjtype == "sup" then params["irreg"] = boolean_param end insert_deriv_params(params) 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["cardinal adjectives"] = { params = get_adjective_params("card"), func = function(args, data) do_adjective(args, data) insert(data.categories, 1, "ဂၞန်သၚ်္ချာ" .. langname .. "မတော်ရိုဟ်နကဵုအဓိကဂမၠိုၚ်") end, pos_category = "ဂၞန်သၚ်္ချာ", } pos_functions["လုပ်ကၠောန်စွံလဝ်နကဵုအတိက်"] = { params = get_adjective_params("part"), func = do_adjective, redlink_pos = "လုပ်ကၠောန်စွံလဝ်", } 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("det"), func = do_adjective, } pos_functions["adjective-like pronouns"] = { params = get_adjective_params("pron"), func = do_adjective, pos_category = "သဗ္ဗနာမ်", } pos_functions["cardinal invariable"] = { params = {}, func = function(args, data) insert(data.categories, "ဂၞန်သၚ်္ချာ" .. langname .. "မတော်ရိုဟ်နကဵုအဓိကဂမၠိုၚ်") insert(data.categories, "ဂၞန်သၚ်္ချာ" .. langname .. "နကဵုပါ်ပါဲထောံဟွံမာန်ဂမၠိုၚ်") insert(data.inflections, {label = glossary_link("ကၞိက်ဟွံမာန်")}) end, pos_category = "ဂၞန်သၚ်္ချာ", } ----------------------------------------------------------------------------------------- -- Adverbs -- ----------------------------------------------------------------------------------------- local function do_adverb(args, data) local function parse_and_insert_adv_inflection(field, label, accel, frob) parse_and_insert_inflection(data, args, field, label, accel, frob) end parse_and_insert_adv_inflection("comp", glossary_link("ပတုပ်ရံၚ်")) parse_and_insert_adv_inflection("sup", glossary_link("သဒ္ဒာ")) parse_and_insert_adv_inflection("adj", glossary_link("နာမဝိသေသန")) end local function get_adverb_params(advtype) local params = { ["adj"] = list_param, --adjective(s) } if advtype == "base" then params["တုဲဒှ်"] = list_param --comparative(s) params["ညိည"] = list_param --superlative(s) 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 = "ကြိယာဝိသေသန", } pos_functions["သဒ္ဒာကြိယာဝိသေသန"] = { params = get_adverb_params("sup"), func = do_adverb, pos_category = "ကြိယာဝိသေသန", } ----------------------------------------------------------------------------------------- -- Verbs -- ----------------------------------------------------------------------------------------- pos_functions["ကြိယာ"] = { params = { [1] = {}, ["noautolinktext"] = boolean_param, ["noautolinkverb"] = boolean_param, }, func = function(args, data) if args[1] then local alternant_multiword_spec = require(it_verb_module).do_generate_forms(args, "from headword", data.heads[1]) local function do_verb_form(slot, label, rowslot, rowlabel) local forms = alternant_multiword_spec.forms[slot] local retval if alternant_multiword_spec.rowprops.all_defective[rowslot] then if not alternant_multiword_spec.rowprops.defective[rowslot] then -- No forms, but none expected; don't display anything return end retval = {label = "no " .. rowlabel} elseif not forms then retval = {label = "no " .. label} elseif alternant_multiword_spec.rowprops.all_unknown[rowslot] then retval = {label = "unknown " .. rowlabel} elseif forms[1].form == "?" then retval = {label = "unknown " .. label} else -- Disable accelerators for now because we don't want the added accents going into the headwords. -- FIXME: We now have support in [[Module:accel]] to specify the target explicitly; we can use this -- so we can add the accelerators back with a param to avoid the accents. local accel_form = nil -- all_verb_slots[slot] retval = {label = label, accel = accel_form and {form = accel_form} or nil} local prev_footnotes = nil -- If the footnotes for this form are the same as the footnotes for the preceding form or -- contain the preceding footnotes, replace the footnotes that are the same with "ditto". -- This avoids repetition on pages like [[succedere]] where the form ''succedétti'' has a long -- footnote which gets repeated in the traditional form ''succedètti'' (which also has the -- footnote "[traditional]"). for _, form in ipairs(forms) do local quals, refs = require(inflection_utilities_module). convert_footnotes_to_qualifiers_and_references(form.footnotes) local quals_with_ditto = quals if quals and prev_footnotes then local quals_contains_previous = true for _, qual in ipairs(prev_footnotes) do if not m_table.contains(quals, qual) then quals_contains_previous = false break end end if quals_contains_previous then local inserted_ditto = false quals_with_ditto = {} for _, qual in ipairs(quals) do if m_table.contains(prev_footnotes, qual) then if not inserted_ditto then insert(quals_with_ditto, "ditto") inserted_ditto = true end else insert(quals_with_ditto, qual) end end end end prev_footnotes = quals insert(retval, {term = form.form, q = quals_with_ditto, refs = refs}) end end insert(data.inflections, retval) end if alternant_multiword_spec.props.is_pronominal then insert(data.inflections, {label = glossary_link("ဒုၚ်ယၟုနာမ်")}) end if alternant_multiword_spec.props.impers then insert(data.inflections, {label = glossary_link("ဟွံမွဲကဵုပစ္စဲပူဂဵု")}) end if alternant_multiword_spec.props.thirdonly then insert(data.inflections, {label = "ပါဲနူပူဂဵုတတိယ"}) end local thirdonly = alternant_multiword_spec.props.impers or alternant_multiword_spec.props.thirdonly local sing_label = thirdonly and "ကိုန်ဨကဝုစ်ပူဂဵုတတိယ" or "ကိုန်ဨကဝုစ်ပူဂဵုပဌမ" for _, rowspec in ipairs { {"pres", "ပစ္စုပ္ပန်", true}, {"phis", "ဝၚ်အတိက်", true}, {"pp", "လုပ်ကၠောန်စွံလဝ်နကဵုအတိက်", true}, {"imperf", "ဟွံက္ဍိုက်ပေၚ်"}, {"fut", "အနာဂတ်"}, {"sub", "မချူဗပေၚ်စုတ်လဝ်"}, {"impsub", "ဗပေၚ်စုတ်လဝ်ဟၟဲက္ဍိုက်ပေၚ်"}, } do local rowslot, desc, always_show = unpack(rowspec) local slot = rowslot .. (thirdonly and "3s" or "1s") local must_show = alternant_multiword_spec.is_irreg[slot] if always_show then must_show = true elseif rowslot == "imperf" and alternant_multiword_spec.props.has_explicit_stem_spec then -- If there is an explicit stem spec, make sure it gets displayed; the imperfect is a good way of -- showing this. must_show = true elseif not alternant_multiword_spec.forms[slot] then -- If the principal part is unexpectedly missing, make sure we show this. must_show = true elseif alternant_multiword_spec.forms[slot][1].form == "?" then -- If the principal part is unknown, make sure we show this. must_show = true end if must_show then if rowslot == "pp" then do_verb_form(rowslot, desc, rowslot, desc) else do_verb_form(slot, sing_label .. " " .. desc, rowslot, desc) end end end -- Also do the imperative, but not for third-only verbs, which are always missing the imperative. if not thirdonly and (alternant_multiword_spec.is_irreg.imp2s or not alternant_multiword_spec.forms.imp2s) then do_verb_form("imp2s", "second-person singular imperative", "imp", "imperative") end -- If there is a past participle but no auxiliary (e.g. [[malfare]]), explicitly add "no auxiliary". In -- cases where there's no past participle and no auxiliary (e.g. [[irrompere]]), we don't do this as we -- already get "no past participle" displayed. Don't display an auxiliary in any case if the lemma -- consists entirely of reflexive verbs (for which the auxiliary is always [[essere]]). if alternant_multiword_spec.props.is_non_reflexive and ( alternant_multiword_spec.forms.aux or alternant_multiword_spec.forms.pp ) then do_verb_form("aux", "auxiliary", "aux", "auxiliary") end -- 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:it-verb]] it in place of the user-specified or auto-generated head so that we get accents marked -- on the verb(s). Don't do this if the user gave multiple heads or gave a head with a multiword-linked -- verbal expression such as '[[dare esca]] [[al]] [[fuoco]]'. 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.inf) 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 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, } ----------------------------------------------------------------------------------------- -- Arbitrary parts of speech -- ----------------------------------------------------------------------------------------- pos_functions["arbitrary part of speech"] = { params = { [1] = {required = true}, ["g"] = {list = true, disallow_holes = true, type = "genders", flatten = true}, }, func = function(args, data) if data.is_suffix then error("Can't use [[Template:it-pos]] with suffixes") end validate_genders(args.g) data.genders = args.g local plpos = m_en_utilities.pluralize(args[1]) data.pos_category = plpos end, } return export eu0tmnoz0fnb4ubeggns4g2qt8zffi6 မဝ်ဂျူ:it-headword/doc 828 198239 393645 272623 2026-04-27T08:16:50Z 咽頭べさ 33 393645 wikitext text/x-wiki This module supports most of the Italian headword templates listed in [[:ကဏ္ဍ:ထာမ်ပလိက်လာၚ်က္ဍိုပ်မအရေဝ်အဳတခ်လဳဂမၠိုၚ်|Category:Italian headword-line templates]]. See the comment at the top of the module for an exact list. 6sacis09u9v0mr2jisaf1vo55qqnuty 393646 393645 2026-04-27T08:18:04Z 咽頭べさ 33 393646 wikitext text/x-wiki This module supports most of the Italian headword templates listed in [[:ကဏ္ဍ:ထာမ်ပလိက်လာၚ်က္ဍိုပ်မအရေဝ်အဳတခ်လဳဂမၠိုၚ်|Category:Italian headword-line templates]]. See the comment at the top of the module for an exact list. <includeonly> {{module cat|it}} </includeonly> cab7uo4xxuivfb5y64oo895mkrn0vh7 chesne 0 293498 393636 393507 2026-04-26T19:05:05Z 咽頭べさ 33 393636 wikitext text/x-wiki ==ပြၚ်သေတ်အဒေါဝ်== ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{der|frm|fro|chesne}} ===နာမ်=== {{frm-noun|m}} # တၞံချကၠိက်။ ===မဒုၚ်လွဳစ=== * {{desc|fr|chêne}} ==ပြၚ်သေတ်တြေံ== ===ပွံၚ်နဲတၞဟ်=== * {{l|fro|chaisne}} * {{l|fro|chasne}} ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{der|fro|la-vul|*cassanus}}၊ နူကဵုဝေါဟာ {{der|fro|cel-gau|cassanos}} ===ဗွဟ်ရမ္သာၚ်=== * {{IPA|fro|/ˈt͡ʃɛs.nə/}} ===နာမ်=== {{fro-noun|m}} # တၞံချကၠိက်။ ===မဒုၚ်လွဳစ=== * {{desc|frm|chesne}} ** {{desc|fr|chêne}} mhj50s97o4k8k3i0emjpwi1aamfwuvn cadena 0 293535 393628 393550 2026-04-26T18:14:16Z 咽頭べさ 33 393628 wikitext text/x-wiki {{also|Cadena|cadéna|cadenã}} ==အာဒါဂေန်== ===နိရုတ်=== {{inh+|an|la|catēna}} ===ဗွဟ်ရမ္သာၚ်=== {{an-pr}} ===နာမ်=== {{an-noun|f|cadenas}} # ဇုက်ဇရှ်ေ။ ==အေက်သတဝ်ရေန်== ===ပွံၚ်နဲတၞဟ်=== * {{alt|ast|caena}} * {{alt|ast|cadía}} ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{inh|ast|la|catēna}} ===ဗွဟ်ရမ္သာၚ်=== {{ast-pr}} ===နာမ်=== {{ast-noun|f|cadenes}} # ဇုက်ဇရှ်ေ။ # မြံၚ်ဍာ်။ #: {{syn|es|canal}} ==ကာတ်တလာန်== ===နိရုတ်=== {{inh+|ca|la|catēna}} ===ဗွဟ်ရမ္သာၚ်=== * {{ca-IPA|ê}} * {{audio|ca|LL-Q7026 (cat)-Marvives-cadena.wav|a=Barcelona}} ===နာမ်=== {{ca-noun|f}} # ဇုက်ဇရှ်ေ။ # မြံၚ်ဍာ်။ # ဇုက်၊ ဇုက်ဗ္ၜန်။ # ဇုက်ကွိၚ်ကွိုက်။ ==ချာဗာကာနဝ်== ===နိရုတ်=== {{inh+|cbk|es|cadena}} ===ဗွဟ်ရမ္သာၚ်=== * {{cbk-IPA}} * {{hyph|cbk|ca|de|na}} ===နာမ်=== {{cbk-noun}} # ဇုက်ဇရှ်ေ။ ==ချေတ်ချာ== ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{bor|chb|es|cadena}} ===ဗွဟ်ရမ္သာၚ်=== * {{IPA|chb|/kadena/}} ===နာမ်=== {{head|chb|noun}} # ဇုက်ဇရှ်ေ။ ==အောက်စဳတာန်== ===ပွံၚ်နဲတၞဟ်=== * {{alt|oc|chadena||Lemosin}} * {{alt|oc|chaena}} ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{inh|oc|pro|cadena}}၊ နူကဵုဝေါဟာ {{inh|oc|la|catēna}} ===ဗွဟ်ရမ္သာၚ်=== * {{audio|oc|LL-Q14185 (oci)-Davidgrosclaude-cadena.wav|a=Béarn}} ===နာမ်=== {{oc-noun|f}} # ဇုက်ဇရှ်ေ။ ==သပုၚ်== ===နိရုတ်=== {{inh+|es|osp|cadena}}၊ နူကဵုဝေါဟာ {{inh|es|la|catēna}} ===ဗွဟ်ရမ္သာၚ်=== {{es-pr}} ===နာမ်=== {{es-noun|f}} # ဇုက်ဇရှ်ေ။ # ဇုက်ဂွာမကွက်ကံ။ # ဇုက်ဇရှ်ေညံၚ်ရဴဇာ။ # မြံၚ်ဍာ်။ # ဇုက်ဗ္ၜန်။ ===မဒုၚ်လွဳစ=== * {{desc|bor=1|ceb|kadena}} * {{desc|bor=1|huv|galen}} * {{desc|bor=1|tl|kadena}} * {{desc|bor=1|zpq|gden}} q0mm57eur4lrdrh5uxqgaa2tri3sq96 cătină 0 293570 393600 2026-04-26T16:20:36Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|catina|catinã|cãtinã}} ==ရဝ်မေနဳယျာ== ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{inh|ro|la|catēna}}၊ နူကဵုဝေါဟာ {{inh|ro|la-lat|catanum}} ===ဗွဟ်ရမ္သာၚ်=== * {{audio|ro|LL-Q7913 (ron)-Filosoful-cătină.wav}} ===နာမ်=== {{ro-noun|f|cătini}} # ဂလၜဳအမေရိကာန်။ # ကဠာဂလ။" 393600 wikitext text/x-wiki {{also|catina|catinã|cãtinã}} ==ရဝ်မေနဳယျာ== ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{inh|ro|la|catēna}}၊ နူကဵုဝေါဟာ {{inh|ro|la-lat|catanum}} ===ဗွဟ်ရမ္သာၚ်=== * {{audio|ro|LL-Q7913 (ron)-Filosoful-cătină.wav}} ===နာမ်=== {{ro-noun|f|cătini}} # ဂလၜဳအမေရိကာန်။ # ကဠာဂလ။ 0z4j6am5d2zeygnugp2t399qpzye9y6 catanum 0 293571 393601 2026-04-26T16:36:17Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "==လပ်တေန်== ===ပွံၚ်နဲတၞဟ်=== * {{alter|la|*catanus|alt1=***catanus}} ===ဗွဟ်ရမ္သာၚ်=== * {{la-IPA|catanum}} ===နာမ်=== {{la-noun|catanum<2>}} # တၞံဂလဒေသလ္ပာ်ဖာပလိုတ်။ ===မဒုၚ်လွဳစ=== * {{desc|pro|cade}} ** {{desc|oc|cade|cadre|cai|chiade|chiaina|chai}} ** {{desc|frm|cade|bor=1}} ***..." 393601 wikitext text/x-wiki ==လပ်တေန်== ===ပွံၚ်နဲတၞဟ်=== * {{alter|la|*catanus|alt1=***catanus}} ===ဗွဟ်ရမ္သာၚ်=== * {{la-IPA|catanum}} ===နာမ်=== {{la-noun|catanum<2>}} # တၞံဂလဒေသလ္ပာ်ဖာပလိုတ်။ ===မဒုၚ်လွဳစ=== * {{desc|pro|cade}} ** {{desc|oc|cade|cadre|cai|chiade|chiaina|chai}} ** {{desc|frm|cade|bor=1}} *** {{desc|fr|cade|id=oxycedrus|cadier}} *** {{desc|en|cade|bor=1|id=oxycedrus}} * {{desc|roa-oca|*cade}} ** {{desc|ca|càdec}} ** {{desc|es|cada|bor=1}} {{q|rare}} o6eo2l0yyq0m606jimt7kz2qdnxa87g catani 0 293572 393602 2026-04-26T16:41:01Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "==လပ်တေန်== ===နာမ်=== {{head|la|ဗီုပြၚ်နာမ်}} # {{inflection of|la|catanum||gen|s}}" 393602 wikitext text/x-wiki ==လပ်တေန်== ===နာမ်=== {{head|la|ဗီုပြၚ်နာမ်}} # {{inflection of|la|catanum||gen|s}} 4gcoktdr0p8ggw15l5adud4jqyiatqu ဗီုပြၚ်သိုၚ်တၟိ:လပ်တေန်/catanus 118 293573 393603 2026-04-26T16:43:17Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "==လပ်တေန်== ===နာမ်=== {{head|la|နာမ်}} # {{alt form|la|catanum}}" 393603 wikitext text/x-wiki ==လပ်တေန်== ===နာမ်=== {{head|la|နာမ်}} # {{alt form|la|catanum}} lhtt7kemw13qik7tk8mm99pofkudqrt cătini 0 293574 393604 2026-04-26T16:46:57Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "==ရဝ်မေနဳယျာ== ===နာမ်=== {{head|ro|ဗီုပြၚ်နာမ်}} # {{plural of|ro|cătină}}" 393604 wikitext text/x-wiki ==ရဝ်မေနဳယျာ== ===နာမ်=== {{head|ro|ဗီုပြၚ်နာမ်}} # {{plural of|ro|cătină}} 86tx38khgiqakz4oemyqxhh3u38g1k6 cãtinã 0 293575 393605 2026-04-26T16:56:02Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|catina|catinã|cătină}} ==အာရဝ်မေနဳယာန်== ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{inh|rup|la|catēna}} ===နာမ်=== {{head|rup|noun|g=f}} (''ကိုန်ဗဟုဝစ်'' '''[[cãtini]]'''/'''[[cãtine]]''') # ဇုတ်ဒရံၚ်၊ စောစပရောညး။ # စး။" 393605 wikitext text/x-wiki {{also|catina|catinã|cătină}} ==အာရဝ်မေနဳယာန်== ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{inh|rup|la|catēna}} ===နာမ်=== {{head|rup|noun|g=f}} (''ကိုန်ဗဟုဝစ်'' '''[[cãtini]]'''/'''[[cãtine]]''') # ဇုတ်ဒရံၚ်၊ စောစပရောညး။ # စး။ igm3c788t7xuysiorptq67o1p8imxq9 cãtini 0 293576 393606 2026-04-26T16:59:01Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "==အာရဝ်မေနဳယာန်== ===နာမ်=== {{head|rup|ဗီုပြၚ်နာမ်}} # {{plural of|rup|cãtinã}}" 393606 wikitext text/x-wiki ==အာရဝ်မေနဳယာန်== ===နာမ်=== {{head|rup|ဗီုပြၚ်နာမ်}} # {{plural of|rup|cãtinã}} d1r975ttl707h1wt89ramwwnx8oulag cãtine 0 293577 393607 2026-04-26T16:59:26Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "==အာရဝ်မေနဳယာန်== ===နာမ်=== {{head|rup|ဗီုပြၚ်နာမ်}} # {{plural of|rup|cãtinã}}" 393607 wikitext text/x-wiki ==အာရဝ်မေနဳယာန်== ===နာမ်=== {{head|rup|ဗီုပြၚ်နာမ်}} # {{plural of|rup|cãtinã}} d1r975ttl707h1wt89ramwwnx8oulag catina 0 293578 393608 2026-04-26T17:00:55Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|catinã|cãtinã|cătină}} ==လပ်တေန်== ===နာမ်=== {{head|la|noun form|head=catīna}} # {{inflection of|la|catīnum||nom//acc//voc|p}}" 393608 wikitext text/x-wiki {{also|catinã|cãtinã|cătină}} ==လပ်တေန်== ===နာမ်=== {{head|la|noun form|head=catīna}} # {{inflection of|la|catīnum||nom//acc//voc|p}} 6t0mfkyoulvnatt0fl96f862q9nd0zs catinum 0 293579 393609 2026-04-26T17:05:30Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "==လပ်တေန်== ===နာမ်=== {{la-noun|catīnum<2>}} # ပ္ၚာန်မွဲမ။ ===မဒုၚ်လွဳစ=== * {{desc|rup|cãtsãn}} * {{desc|ruq|cățǫn}} * {{desc|ro|cățân}}" 393609 wikitext text/x-wiki ==လပ်တေန်== ===နာမ်=== {{la-noun|catīnum<2>}} # ပ္ၚာန်မွဲမ။ ===မဒုၚ်လွဳစ=== * {{desc|rup|cãtsãn}} * {{desc|ruq|cățǫn}} * {{desc|ro|cățân}} fctjm3bzuhdo2v0ou4v87vbo87zthww catini 0 293580 393610 2026-04-26T17:07:02Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "==လပ်တေန်== ===နာမ်=== {{head|la|noun form|head=catīnī}} # {{inflection of|la|catīnum||gen|s}}" 393610 wikitext text/x-wiki ==လပ်တေန်== ===နာမ်=== {{head|la|noun form|head=catīnī}} # {{inflection of|la|catīnum||gen|s}} 2uvteo1hs9yqmaetxaeulco5z6594mj cadeni 0 293581 393611 2026-04-26T17:13:02Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "==အာရဝ်မေနဳယာန်== ===နာမ်=== {{head|rup|ဗီုပြၚ်နာမ်}} # {{plural of|rup|cadenã}}" 393611 wikitext text/x-wiki ==အာရဝ်မေနဳယာန်== ===နာမ်=== {{head|rup|ဗီုပြၚ်နာမ်}} # {{plural of|rup|cadenã}} ivukceu8qet5m51gquhgnr7yfc9bixf cadene 0 293582 393612 2026-04-26T17:13:54Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|cadéne}} ==အာရဝ်မေနဳယာန်== ===နာမ်=== {{head|rup|ဗီုပြၚ်နာမ်}} # {{plural of|rup|cadenã}}" 393612 wikitext text/x-wiki {{also|cadéne}} ==အာရဝ်မေနဳယာန်== ===နာမ်=== {{head|rup|ဗီုပြၚ်နာမ်}} # {{plural of|rup|cadenã}} bw6ddefnbdjta9lulrcw3auhr97qjma cadéne 0 293583 393613 2026-04-26T17:15:26Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|cadene}} ==ဝေနေတ်== ===နာမ်=== {{head|vec|noun form}} # {{plural of|vec|cadéna}}" 393613 wikitext text/x-wiki {{also|cadene}} ==ဝေနေတ်== ===နာမ်=== {{head|vec|noun form}} # {{plural of|vec|cadéna}} h5kj4r24u0kdjea9ytlf0vxman2ug25 cadéna 0 293584 393614 2026-04-26T17:25:23Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|Cadena|cadena|cadenã}} ==ရဝ်မာယာန်== ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{inh|rgn|la|catena|cătēna}} ===ဗွဟ်ရမ္သာၚ်=== {{rgn-IPA|rf=1|r=1|c|a|'|d|é|n|a}} ===နာမ်=== {{rgn-noun|f|cadén}} # ဇုက်ဇရှ်ေ။ ==ဝေနေတ်== ===ပွံၚ်နဲတၞဟ်=== * {{l|vec|caéna}} ===နိရုတ်===..." 393614 wikitext text/x-wiki {{also|Cadena|cadena|cadenã}} ==ရဝ်မာယာန်== ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{inh|rgn|la|catena|cătēna}} ===ဗွဟ်ရမ္သာၚ်=== {{rgn-IPA|rf=1|r=1|c|a|'|d|é|n|a}} ===နာမ်=== {{rgn-noun|f|cadén}} # ဇုက်ဇရှ်ေ။ ==ဝေနေတ်== ===ပွံၚ်နဲတၞဟ်=== * {{l|vec|caéna}} ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{inh|vec|la|catēna}} ===နာမ်=== {{vec-noun|cadén|f|a|e}} # ဇုက်ဇရှ်ေ။ # ဇုက်ကၞေၚ်။ # ယာတ်ဒက်ကံ။ omluy22oa504uq1zg0gguyervzxeoin cadén 0 293585 393615 2026-04-26T17:28:52Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "==ရဝ်မာယာန်== ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{inh|rgn|la|catinus|catīnus}} ===ဗွဟ်ရမ္သာၚ်=== * {{IPA|rgn|/ca.ˈdɛn/}} ===နာမ်=== {{rgn-noun|m|~}} # ဍာ်အၚ်။" 393615 wikitext text/x-wiki ==ရဝ်မာယာန်== ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{inh|rgn|la|catinus|catīnus}} ===ဗွဟ်ရမ္သာၚ်=== * {{IPA|rgn|/ca.ˈdɛn/}} ===နာမ်=== {{rgn-noun|m|~}} # ဍာ်အၚ်။ htabgqvy59asrw40au69itfjuwqffuw catinus 0 293586 393616 2026-04-26T17:42:22Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "==လပ်တေန်== ===ဗွဟ်ရမ္သာၚ်=== * {{la-IPA|catīnus}} ===နာမ်=== {{la-noun|catīnus<2>}} # က္ၜၚ်မသ္ဇိုဟ်နက်သွက်ပွမပ္တိုန်ပရေၚ်ဒုၚ်စကာ ဝါ ပွမဍုန်စၞ၊ အၚ်ဇၞော်ဇၞော်မွဲမ၊ ပ္ၚာန် ဝါ ပ္ၚာန်ခ္ဍေဝ်။..." 393616 wikitext text/x-wiki ==လပ်တေန်== ===ဗွဟ်ရမ္သာၚ်=== * {{la-IPA|catīnus}} ===နာမ်=== {{la-noun|catīnus<2>}} # က္ၜၚ်မသ္ဇိုဟ်နက်သွက်ပွမပ္တိုန်ပရေၚ်ဒုၚ်စကာ ဝါ ပွမဍုန်စၞ၊ အၚ်ဇၞော်ဇၞော်မွဲမ၊ ပ္ၚာန် ဝါ ပ္ၚာန်ခ္ဍေဝ်။ ===မဒုၚ်လွဳစ=== {{top2}} * {{desc|rup|cãtsãn}} * {{desc|fr|catin}} * {{desc|it|catino}} * {{desc|pt|cadinho}} * {{desc|ro|cățân}} * {{desc|scn|catu|unc=1}} * {{desc|es|catino}} * {{desc|vec|cadìn|caìn}} ** {{desc|cim|kaiin|bor=1}} {{bottom}} s3vjoxzd7vtv0po4xwvzmfr98r8uzab Cadena 0 293587 393617 2026-04-26T17:45:44Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|cadena|cadéna|cadenã}} =={{=en=}}== {{wikipedia|lang=en}} ===နာမ်မကိတ်ညဳ=== {{en-proper noun|s}} # {{surname|en}} ===ဝေါဟာလွာ=== * {{anagrams|en|a=aacden|Ecanda|adance}}" 393617 wikitext text/x-wiki {{also|cadena|cadéna|cadenã}} =={{=en=}}== {{wikipedia|lang=en}} ===နာမ်မကိတ်ညဳ=== {{en-proper noun|s}} # {{surname|en}} ===ဝေါဟာလွာ=== * {{anagrams|en|a=aacden|Ecanda|adance}} pcosnrbv2bztnqhsuam5i3osn2gsczh Cadenas 0 293588 393618 2026-04-26T17:46:34Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "=={{=en=}}== ===နာမ်မကိတ်ညဳ=== {{head|en|proper noun form}} # {{plural of|en|Cadena}}" 393618 wikitext text/x-wiki =={{=en=}}== ===နာမ်မကိတ်ညဳ=== {{head|en|proper noun form}} # {{plural of|en|Cadena}} mmx4kj2xf0yz05ax4ffq5e89a181i7v caéna 0 293589 393619 2026-04-26T17:51:31Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|caena}} ==ဝေနေတ်== ===ပွံၚ်နဲတၞဟ်=== * {{l|vec|cadéna}} ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{inh|vec|la|catēna}} ===နာမ်=== {{vec-noun|caén|f|a|e}} # ဇုက်ဇရှ်ေ။ # ဇုက်ကၞေၚ်။ # ဇုက်ဒက်ကံ။" 393619 wikitext text/x-wiki {{also|caena}} ==ဝေနေတ်== ===ပွံၚ်နဲတၞဟ်=== * {{l|vec|cadéna}} ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{inh|vec|la|catēna}} ===နာမ်=== {{vec-noun|caén|f|a|e}} # ဇုက်ဇရှ်ေ။ # ဇုက်ကၞေၚ်။ # ဇုက်ဒက်ကံ။ 7vg0oovu2uu6cuml54m9vtrubcql674 caéne 0 293590 393620 2026-04-26T17:52:20Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "==ဝေနေတ်== ===နာမ်=== {{head|vec|noun form}} # {{plural of|vec|caéna}}" 393620 wikitext text/x-wiki ==ဝေနေတ်== ===နာမ်=== {{head|vec|noun form}} # {{plural of|vec|caéna}} ih1ukvaa9ekj38fte3puecbk2nj8d9b caena 0 293591 393621 2026-04-26T17:53:38Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|caéna}} ==လပ်တေန်== ===နာမ်=== {{head|la|noun form}} # {{inflection of|la|caenum||nom//acc//voc|p}}" 393621 wikitext text/x-wiki {{also|caéna}} ==လပ်တေန်== ===နာမ်=== {{head|la|noun form}} # {{inflection of|la|caenum||nom//acc//voc|p}} 5u1lkn7rcd1662knfdulhnoxcivw9o8 caenum 0 293592 393622 2026-04-26T18:02:08Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "==လေပ်တေန်== ===ပွံၚ်နဲတၞဟ်=== * {{alt|la|coenum}} ===ဗွဟ်ရမ္သာၚ်=== * {{la-IPA}} ===နာမ်=== {{la-noun|caenum<2>}} # မၠိုက်၊ ခၠိုက်၊ ဓရီု၊ လဗေၚ်။ ===မဒုၚ်လွဳစ=== {{top3}} * Italo-Romance: ** {{desc|it|ceno}} * Ibero-Romance: ** {{desc|pt|ceno}} ** {{desc|es|cieno}} * {{desc|la-vu..." 393622 wikitext text/x-wiki ==လေပ်တေန်== ===ပွံၚ်နဲတၞဟ်=== * {{alt|la|coenum}} ===ဗွဟ်ရမ္သာၚ်=== * {{la-IPA}} ===နာမ်=== {{la-noun|caenum<2>}} # မၠိုက်၊ ခၠိုက်၊ ဓရီု၊ လဗေၚ်။ ===မဒုၚ်လွဳစ=== {{top3}} * Italo-Romance: ** {{desc|it|ceno}} * Ibero-Romance: ** {{desc|pt|ceno}} ** {{desc|es|cieno}} * {{desc|la-vul|*caenica|der=1}} *** {{desc|es|ciénega|ciénaga}} {{bottom}} nn6ebpe8zt6q9gg19mnv3j5r8gycrwn 393624 393622 2026-04-26T18:04:10Z 咽頭べさ 33 393624 wikitext text/x-wiki ==လေပ်တေန်== ===ပွံၚ်နဲတၞဟ်=== * {{alt|la|coenum}} ===ဗွဟ်ရမ္သာၚ်=== * {{la-IPA}} ===နာမ်=== {{la-noun|caenum<2>}} # မၠိုက်၊ ခၠိုက်၊ ဓရီု၊ လဗေၚ်။ ===မဒုၚ်လွဳစ=== {{top3}} ** {{desc|it|ceno}} ** {{desc|pt|ceno}} ** {{desc|es|cieno}} * {{desc|la-vul|*caenica|der=1}} *** {{desc|es|ciénega|ciénaga}} {{bottom}} injkh93cjru3gt8zko97cw9k7ztuv1o caeni 0 293593 393623 2026-04-26T18:03:22Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "==လေပ်တေန်== ===နာမ်=== {{head|la|noun form|head=caenī}} # {{inflection of|la|caenum||gen|s}}" 393623 wikitext text/x-wiki ==လေပ်တေန်== ===နာမ်=== {{head|la|noun form|head=caenī}} # {{inflection of|la|caenum||gen|s}} 6ssd6jdik492f34sfzg1qd3vh6c6bry coenum 0 293594 393625 2026-04-26T18:05:00Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "==လေပ်တေန်== ===နာမ်=== {{la-noun|coenum<2.N>}} # {{alt form|la|caenum}}" 393625 wikitext text/x-wiki ==လေပ်တေန်== ===နာမ်=== {{la-noun|coenum<2.N>}} # {{alt form|la|caenum}} sl7kto4ba11dm6s570cj0a4bivqo9o4 coeni 0 293595 393626 2026-04-26T18:07:16Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "==လေပ်တေန်== ===နာမ်=== {{head|la|ဗီုပြၚ်နာမ်}} # {{inflection of|la|coenum||gen|s}}" 393626 wikitext text/x-wiki ==လေပ်တေန်== ===နာမ်=== {{head|la|ဗီုပြၚ်နာမ်}} # {{inflection of|la|coenum||gen|s}} rh95uhiktrnbi8z60889kxyjz2i5cx5 cadía 0 293596 393627 2026-04-26T18:13:37Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "==အေက်သတဝ်ရေန်== ===နာမ်=== {{head|ast|နာမ်}} # {{alt form|ast|cadena}}" 393627 wikitext text/x-wiki ==အေက်သတဝ်ရေန်== ===နာမ်=== {{head|ast|နာမ်}} # {{alt form|ast|cadena}} r1my2ooktperm845936koa8iiyuqmos cadenes 0 293597 393629 2026-04-26T18:18:22Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "==အေက်သတဝ်ရေန်== ===နာမ်=== {{head|ast|noun form}} # {{plural of|ast|cadena}} ==ကာတ်တလာန်== ===နာမ်=== {{head|ca|noun form}} # {{plural of|ca|cadena}}" 393629 wikitext text/x-wiki ==အေက်သတဝ်ရေန်== ===နာမ်=== {{head|ast|noun form}} # {{plural of|ast|cadena}} ==ကာတ်တလာန်== ===နာမ်=== {{head|ca|noun form}} # {{plural of|ca|cadena}} ipqxb8rnfciuqg8xdhsax9yzwfnpo2u catenă 0 293598 393630 2026-04-26T18:38:29Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|Catena|catena}} ==ရဝ်မေနဳယျာ== ===နိရုတ်=== {{bor+|ro|la|catēna}} ===နာမ်=== {{ro-noun|f|catene}} # ဇမ္ၚောဲအကြာဒၞာဲဒဵုၜါ၊ ဒက်ဂြေန်တၟံလးဨကြက်ဂန်နကဵုဇုက်ဇရှ်ေ။ # ဇုက်ဇရှ်ေ။" 393630 wikitext text/x-wiki {{also|Catena|catena}} ==ရဝ်မေနဳယျာ== ===နိရုတ်=== {{bor+|ro|la|catēna}} ===နာမ်=== {{ro-noun|f|catene}} # ဇမ္ၚောဲအကြာဒၞာဲဒဵုၜါ၊ ဒက်ဂြေန်တၟံလးဨကြက်ဂန်နကဵုဇုက်ဇရှ်ေ။ # ဇုက်ဇရှ်ေ။ cr299se4xf8oiqwugxfcgdkm3kpm1nw Catena 0 293599 393631 2026-04-26T18:43:43Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|catena|catenă}} =={{=en=}}== {{wp|+ (surname)|lang=en}} ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{bor|en|it|Catena}} ===နာမ်မကိတ်ညဳ=== {{en-proper noun|s}} # {{surname|en|from=Italian}}. ===Further reading=== * {{R:en:DAFN}} ==အဳတလဳ== {{wp|it:}} ===နာမ်မကိတ်ညဳ=== {{it-proper noun|mfbysense}} # {{surname|it}}" 393631 wikitext text/x-wiki {{also|catena|catenă}} =={{=en=}}== {{wp|+ (surname)|lang=en}} ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{bor|en|it|Catena}} ===နာမ်မကိတ်ညဳ=== {{en-proper noun|s}} # {{surname|en|from=Italian}}. ===Further reading=== * {{R:en:DAFN}} ==အဳတလဳ== {{wp|it:}} ===နာမ်မကိတ်ညဳ=== {{it-proper noun|mfbysense}} # {{surname|it}} qtf65rukaqzquic80p19wfknwv9yjm5 393632 393631 2026-04-26T18:45:06Z 咽頭べさ 33 393632 wikitext text/x-wiki {{also|catena|catenă}} =={{=en=}}== {{wp|+ (surname)|lang=en}} ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{bor|en|it|Catena}} ===နာမ်မကိတ်ညဳ=== {{en-proper noun|s}} # {{surname|en|from=အဳတလဳ}} ==အဳတလဳ== {{wp|it:}} ===နာမ်မကိတ်ညဳ=== {{it-proper noun|mfbysense}} # {{surname|it}} o718r6krz6v621xn4p9aqem3b8hbkcn ကဏ္ဍ:နာမ်မကိတ်ညဳအဳတခ်လဳမတော်ဟွံဂွံဂမၠိုၚ် 14 293600 393633 2026-04-26T18:46:45Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာအဳတခ်လဳ]]" 393633 wikitext text/x-wiki [[ကဏ္ဍ:ဘာသာအဳတခ်လဳ]] gbeqdk32838i2079b24yzbewkbbcs22 Catenas 0 293601 393635 2026-04-26T18:58:10Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|catenas}} =={{=en=}}== ===နာမ်မကိတ်ညဳ=== {{head|en|proper noun form}} # {{plural of|en|Catena}}" 393635 wikitext text/x-wiki {{also|catenas}} =={{=en=}}== ===နာမ်မကိတ်ညဳ=== {{head|en|proper noun form}} # {{plural of|en|Catena}} 4yxtxwsv2jqmityd4lu8u5wzv419ap8 cassanos 0 293602 393637 2026-04-26T19:10:38Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|Cassanos}} ==ဂါလေတ်== ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{inh|cel-gau|cel-pro|*kassos}} ===နာမ်=== {{head|cel-gau|noun|g=m}} # တၞံချကၠိက်။ ===မဒုၚ်လွဳစ=== * {{desc|la|casnus}} ** {{desc|oc|casse|cassan}} ** {{desc|pms|casna}} ** {{desc|fro|kesne}} *** {{desc|roa-bbn|chagne}} *** {{desc|roa-brg|chaigne}} *** {{desc|roa-..." 393637 wikitext text/x-wiki {{also|Cassanos}} ==ဂါလေတ်== ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{inh|cel-gau|cel-pro|*kassos}} ===နာမ်=== {{head|cel-gau|noun|g=m}} # တၞံချကၠိက်။ ===မဒုၚ်လွဳစ=== * {{desc|la|casnus}} ** {{desc|oc|casse|cassan}} ** {{desc|pms|casna}} ** {{desc|fro|kesne}} *** {{desc|roa-bbn|chagne}} *** {{desc|roa-brg|chaigne}} *** {{desc|roa-cha|châne}} *** {{desc|roa-fcm|tchêne}} *** {{desc|frm|chesne}} **** {{desc|fr|chêne}} *** {{desc|nrf|kêne}} *** {{desc|pcd|kînne}} *** {{desc|roa-poi|chagne}} *** {{desc|wa|tchinne}} ** {{desc|la-vul|*cassanilla|der=1}} *** {{desc|ca|cassanella}} sgwwri7yvxayrviqlvcx8fusom7xx8e Cassanos 0 293603 393638 2026-04-26T19:11:53Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "=={{=en=}}== ===နာမ်မကိတ်ညဳ=== {{head|en|proper noun form}} # {{plural of|en|Cassano}}" 393638 wikitext text/x-wiki =={{=en=}}== ===နာမ်မကိတ်ညဳ=== {{head|en|proper noun form}} # {{plural of|en|Cassano}} 5ejbwwh8u0vks9zkzueky7kfdq5l001 Cassano 0 293604 393639 2026-04-26T19:14:24Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|cassano}} =={{=en=}}== ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{der|en|it|-}}၊ နူကဵုဝေါဟာ {{der|en|la|Cassianus}} ===နာမ်မကိတ်ညဳ=== {{en-proper noun|Cassani}} # {{surname|en}}" 393639 wikitext text/x-wiki {{also|cassano}} =={{=en=}}== ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{der|en|it|-}}၊ နူကဵုဝေါဟာ {{der|en|la|Cassianus}} ===နာမ်မကိတ်ညဳ=== {{en-proper noun|Cassani}} # {{surname|en}} 09dflhu3kgpm4hrsh6rsk8rsb2comww Cassani 0 293605 393640 2026-04-27T01:18:19Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "=={{=en=}}== ===နာမ်မကိတ်ညဳ=== {{head|en|ဗီုပြၚ်နာမ်မကိတ်ညဳ}} # {{plural of|en|Cassano}}" 393640 wikitext text/x-wiki =={{=en=}}== ===နာမ်မကိတ်ညဳ=== {{head|en|ဗီုပြၚ်နာမ်မကိတ်ညဳ}} # {{plural of|en|Cassano}} frkvmh6xcnao71fyg1oj3sc32r54dnf Cassianus 0 293606 393641 2026-04-27T01:20:26Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "==လပ်တေန်== ===နာမ်မကိတ်ညဳ=== {{head|la|နာမ်မကိတ်ညဳ}} # {{surname|la}}" 393641 wikitext text/x-wiki ==လပ်တေန်== ===နာမ်မကိတ်ညဳ=== {{head|la|နာမ်မကိတ်ညဳ}} # {{surname|la}} hf4prtkm36nf6oym0qahypzodzo6ztt cassano 0 293607 393642 2026-04-27T01:21:42Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{also|Cassano}} ==အဳတလဳ== ===ကြိယာ=== {{head|it|verb form}} # {{inflection of|it|cassare||3|p|pres|indc}}" 393642 wikitext text/x-wiki {{also|Cassano}} ==အဳတလဳ== ===ကြိယာ=== {{head|it|verb form}} # {{inflection of|it|cassare||3|p|pres|indc}} 50rt0a8b7js0zd4tsvcz0kd9ej64h8k cassare 0 293608 393643 2026-04-27T01:35:16Z 咽頭べさ 33 ခၞံကၠောန်လဝ် မုက်လိက် နကု "==အဳတလဳ== ===နိရုတ်=== {{bor+|it|la-lat|casso|cassāre}}၊ နူကဵုဝေါဟာ {{der|it|la|cassus}} ===ဗွဟ်ရမ္သာၚ်=== {{it-pr}} ===ကြိယာ=== {{it-verb|a/à}} # သကဵုပလီု၊ သကဵုကုတ်ပ္တိတ်။ #: {{syn|it|cancellare|depennare|espungere|sopprimere}} # သကဵုပလိုတ်ထောံ၊ သကဵု..." 393643 wikitext text/x-wiki ==အဳတလဳ== ===နိရုတ်=== {{bor+|it|la-lat|casso|cassāre}}၊ နူကဵုဝေါဟာ {{der|it|la|cassus}} ===ဗွဟ်ရမ္သာၚ်=== {{it-pr}} ===ကြိယာ=== {{it-verb|a/à}} # သကဵုပလီု၊ သကဵုကုတ်ပ္တိတ်။ #: {{syn|it|cancellare|depennare|espungere|sopprimere}} # သကဵုပလိုတ်ထောံ၊ သကဵုထၟုက်ပ္တိတ်။ # သကဵုပါဲပလီုထောံ၊ သကဵုလွိုက်ကၠဟ်ထောံ။ #: {{syn|it|annullare|revocare|abrogare|abolire|annullare|revocare|invalidare}} # သကဵုဆုဲနူကဵုပရေၚ်သ္ဒးဍိုက်ဇာတ်၊ ကမၠောန်အ္စာအသံက်။ #: {{syn|it|licenziare|radiare}} ==လပ်တေန်== ===ကြိယာ=== {{head|la|verb form|head=cassāre}} # {{inflection of|la|cassō||pres|act|inf}} 0l9samkk5mkvfexgm51w4yvwg0ssem4