ဝိက်ရှေန်နရဳ
mnwwiktionary
https://mnw.wiktionary.org/wiki/%E1%80%9D%E1%80%AD%E1%80%80%E1%80%BA%E1%80%9B%E1%80%BE%E1%80%B1%E1%80%94%E1%80%BA%E1%80%94%E1%80%9B%E1%80%B3:%E1%80%99%E1%80%AF%E1%80%80%E1%80%BA%E1%80%9C%E1%80%AD%E1%80%80%E1%80%BA%E1%80%90%E1%80%99%E1%80%BA
MediaWiki 1.47.0-wmf.22
case-sensitive
မဳဒဳယာ
တၟေင်
ဓရီုကျာ
ညးလွပ်
ညးလွပ် ဓရီုကျာ
ဝိက်ရှေန်နရဳ
ဝိက်ရှေန်နရဳ ဓရီုကျာ
ဝှာင်
ဝှာင် ဓရီုကျာ
မဳဒဳယာဝဳကဳ
မဳဒဳယာဝဳကဳ ဓရီုကျာ
ထာမ်ပလိက်
ထာမ်ပလိက် ဓရီုကျာ
ရီု
ရီု ဓရီုကျာ
ကဏ္ဍ
ကဏ္ဍ ဓရီုကျာ
အဆက်လက္ကရဴ
အဆက်လက္ကရဴ ဓရီုကျာ
ကာရန်
ကာရန် ဓရီုကျာ
အဘိဓာန်
အဘိဓာန် ဓရီုကျာ
ဗီုပြၚ်သိုၚ်တၟိ
ဗီုပြၚ်သိုၚ်တၟိ ဓရီုကျာ
TimedText
TimedText talk
မဝ်ဂျူ
မဝ်ဂျူ ဓရီုကျာ
Event
Event talk
မဝ်ဂျူ:etymology languages/data
828
723
402256
401890
2026-10-01T05:39:49Z
Intobesa.bot
1035
Bot: ပွမကၠာဲစုတ်ယၟုနူဘာသာအၚ်္ဂလိက်
402256
Scribunto
text/plain
local m_langdata = require("Module:languages/data")
-- Loaded on demand, as it may not be needed (depending on the data).
local function u(...)
u = require("Module:string utilities").char
return u(...)
end
local c = m_langdata.chars
local p = m_langdata.puaChars
local s = m_langdata.shared
local m = {}
----------------------------------------------------------------------------------------------------------------------
-- Afroasiatic varieties --
----------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
-- Berber varieties --
--------------------------------------------------------------------------------------
m["shi-med"] = {
"Medieval Tashelhit",
34152,
"shi",
}
-- Tuareg lects
m["thv"] = {
"Tamahaq",
56703,
"tmh",
}
m["ttq"] = {
"ထာဝါလပ်မေတ်",
56390,
"tmh",
}
m["taq"] = {
"Tamasheq",
4670066,
"tmh",
}
m["thz"] = {
"Tayert",
56388,
"tmh",
}
m["thv-ght"] = {
"Ghat",
47012900,
"thv",
}
--------------------------------------------------------------------------------------
-- Cushitic varieties --
--------------------------------------------------------------------------------------
-- Oromo varieties
m["hae"] = {
"Harar Oromo",
5330355,
"om",
aliases = {"Eastern Oromo"},
}
m["gax"] = {
"Borana",
2910610,
"om",
aliases = {"Southern Oromo"},
}
m["orc"] = {
"Orma",
2919128,
"om",
}
m["ssn"] = {
"Waata",
3501553,
"om",
}
--------------------------------------------------------------------------------------
-- Egyptian varieties --
--------------------------------------------------------------------------------------
-----------------------------------------------------
-- Ancient Egyptian varieties --
-----------------------------------------------------
m["egy-old"] = {
"အဳဂျေပ်တြေံ",
447117,
"egy",
}
m["egy-mid"] = {
"အဳဂျေပ်လဒေါဝ်",
657330,
"egy",
aliases = {"Classical Egyptian"},
}
m["egy-nmi"] = {
"Neo-Middle Egyptian",
123735278,
"egy",
aliases = {"Égyptien de tradition", "Traditional Egyptian"},
}
m["egy-lat"] = {
"အဳဂျေပ်လဇုဲ",
1852329,
"egy",
}
-----------------------------------------------------
-- Coptic varieties --
-----------------------------------------------------
m["cop-akh"] = {
"Akhmimic Coptic",
125176464,
"cop",
aliases = {"Akhmimic"},
}
m["cop-boh"] = {
"Bohairic Coptic",
890733,
"cop",
aliases = {"Bohairic", "Memphitic Coptic", "Memphitic"},
}
m["cop-ggg"] = {
"Coptic Dialect G",
nil,
"cop",
aliases = {"Dialect G", "Mansuric Coptic", "Mansuric"},
}
m["cop-jjj"] = {
"Coptic Dialect J",
nil,
"cop",
}
m["cop-kkk"] = {
"Coptic Dialect K",
nil,
"cop",
}
m["cop-ppp"] = {
"Coptic Dialect P",
nil,
"cop",
aliases = {"Proto-Theban Coptic", "Palaeo-Theban Coptic"},
}
m["cop-fay"] = {
"Fayyumic Coptic",
1399115,
"cop",
aliases = {"Fayyumic", "Faiyumic Coptic", "Faiyumic", "Fayumic Coptic", "Fayumic",
"Bashmuric Coptic", "Bashmuric"},
}
m["cop-her"] = {
"Hermopolitan Coptic",
nil,
"cop",
aliases = {"Hermopolitan", "Coptic Dialect H", "Ashmuninic", "Ashmuninic Coptic"},
}
m["cop-lyc"] = {
"Lycopolitan Coptic",
nil,
"cop",
aliases = {
"Lycopolitan",
"Assiutic Coptic", "Asyutic Coptic", "Assiutic", "Asyutic",
"Lyco-Diospolitan Coptic", "Lyco-Diospolitan",
"Subakhmimic Coptic", "Subakhmimic"
},
}
m["cop-old"] = {
"Old Coptic",
115518040,
"cop",
}
m["cop-oxy"] = {
"Oxyrhynchite Coptic",
nil,
"cop",
aliases = {"Oxyrhynchite", "Mesokemic Coptic", "Mesokemic", "Middle Egyptian Coptic"},
}
m["cop-ply"] = {
"Proto-Lycopolitan Coptic",
nil,
"cop",
aliases = {"Coptic Dialect i", "Proto-Lyco-Diospolitan Coptic"},
}
m["cop-sah"] = {
"Sahidic Coptic",
2645851,
"cop",
aliases = {"Sahidic", "Saidic Coptic", "Saidic", "Thebaic Coptic", "Thebaic"},
}
--------------------------------------------------------------------------------------
-- Semitic varieties --
--------------------------------------------------------------------------------------
-----------------------------------------------------
-- Akkadian varieties --
-----------------------------------------------------
m["akk-old"] = {
"Old Akkadian",
nil,
"akk",
}
m["akk-obb"] = {
"Old Babylonian",
nil,
"akk",
}
m["akk-oas"] = {
"Old Assyrian",
nil,
"akk",
}
m["akk-mbb"] = {
"Middle Babylonian",
nil,
"akk",
}
m["akk-mas"] = {
"Middle Assyrian",
nil,
"akk",
}
m["akk-nbb"] = {
"Neo-Babylonian",
nil,
"akk",
}
m["akk-nas"] = {
"Neo-Assyrian",
nil,
"akk",
}
m["akk-lbb"] = {
"Late Babylonian",
nil,
"akk",
}
m["akk-stb"] = {
"Standard Babylonian",
nil,
"akk",
}
-----------------------------------------------------
-- Arabic varieties --
-----------------------------------------------------
m["jrb"] = {
"Judeo-Arabic",
37733,
"ar",
pseudo_families = "qfa-jew",
}
m["apc-leb"] = {
"Lebanese North Levantine Arabic",
1516642,
"apc",
aliases = {"Lebanese Arabic"},
}
m["apc-sle"] = {
"South Lebanese North Levantine Arabic",
14206590,
"apc",
aliases = {"South Lebanese Arabic"},
}
m["apc-nle"] = {
"North Lebanese North Levantine Arabic",
nil,
"apc",
aliases = {"North Lebanese Arabic"},
}
m["apc-syr"] = {
"Syrian North Levantine Arabic",
2143071,
"apc",
aliases = {"Syrian Arabic"},
}
m["apc-ale"] = {
"Aleppine North Levantine Arabic",
7056921,
"apc-syr",
aliases = {"Aleppo Arabic", "Aleppine Arabic"},
}
m["apc-dam"] = {
"Damascene North Levantine Arabic",
12237466,
"apc-syr",
aliases = {"Damascus Arabic", "Damascene Arabic"},
}
m["acm-khu"] = {
"Khuzestani Arabic",
1040944,
"acm",
}
-----------------------------------------------------
-- Aramaic varieties --
-----------------------------------------------------
m["arc-bib"] = {
"Biblical Aramaic",
843235,
"arc",
family = "sem-are",
}
m["arc-cpa"] = {
"Christian Palestinian Aramaic",
60790119,
"arc",
family = "sem-arw",
aliases = {"Melkite Aramaic", "Palestinian Syriac", "Syropalestinian Aramaic"},
}
m["arc-imp"] = {
"Imperial Aramaic",
7079491,
"arc",
aliases = {"Official Aramaic"},
}
m["arc-hat"] = {
"Hatran Aramaic",
3832926,
"arc",
family = "sem-are",
}
m["arc-jla"] = {
"Jewish Literary Aramaic",
105952842,
"arc",
pseudo_families = "qfa-jew",
}
m["arc-nab"] = {
"Nabataean Aramaic",
36178,
"arc",
}
m["arc-old"] = {
"Old Aramaic",
3398392,
"arc",
}
m["arc-pal"] = {
"Palmyrene Aramaic",
1510113,
"arc",
family = "sem-arw",
}
m["tmr"] = {
"Jewish Babylonian Aramaic",
33407,
"arc",
family = "sem-ase",
pseudo_families = "qfa-jew",
}
m["jpa"] = {
"Jewish Palestinian Aramaic",
948909,
"arc",
family = "sem-arw",
aliases = {"Galilean Aramaic"},
pseudo_families = "qfa-jew",
}
-----------------------------------------------------
-- Hebrew varieties --
-----------------------------------------------------
m["hbo"] = {
"Biblical Hebrew",
1982248,
"he",
aliases = {"Classical Hebrew"},
}
m["he-mis"] = {
"Mishnaic Hebrew",
1649362,
"he",
ancestors = "hbo",
}
m["he-med"] = {
"Medieval Hebrew",
2712572,
"he",
ancestors = "he-mis",
}
m["he-IL"] = {
"Israeli Hebrew",
8141,
"he",
}
----------------------------------------------------------------------------------------------------------------------
-- Ainu varieties --
----------------------------------------------------------------------------------------------------------------------
m["ain-hok"] = {
"Hokkaido Ainu",
20968488,
"ain",
aliases = {"Hokkaidō Ainu"},
}
m["ain-kur"] = {
"Kuril Ainu",
20967012,
"ain",
}
m["ain-sak"] = {
"Sakhalin Ainu",
20747371,
"ain",
}
----------------------------------------------------------------------------------------------------------------------
-- American indigenous varieties --
----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------
-- Inuit varieties --
-----------------------------------------------------
m["esi"] = {
"North Alaskan Inupiatun",
nil,
"ik"
}
m["esk"] = {
"Northwest Alaskan Inupiatun",
25559714,
"ik"
}
-----------------------------------------------------
-- Iroquoian varieties --
-----------------------------------------------------
m["iro-ohu"] = {
"Old Wendat",
nil,
"wdt",
}
m["iro-omo"] = {
"Old Mohawk",
nil,
"moh",
}
m["iro-oon"] = {
"Old Onondaga",
nil,
"ono",
}
-----------------------------------------------------
-- Tupi-Guarani varieties --
-----------------------------------------------------
-- Old Tupi varieties
m["tpw-lga"] = {
"Língua Geral Amazônica",
18275323,
"tpw",
aliases = {"Língua Geral"},
}
m["tpw-lgp"] = {
"Língua Geral Paulista",
2669239,
"tpw",
}
----------------------------------------------------------------------------------------------------------------------
-- Austroasiatic varieties --
----------------------------------------------------------------------------------------------------------------------
-- Khmer varieties
m["okz-ang"] = {
"ခမေန်တြေံ အာန်ခေါဝ်ရဳယာန်",
nil,
"okz",
wikipedia_article = "Khmer language#Historical periods",
}
m["okz-pre"] = {
"ခမေန်တြေံ ကၠာ-အာန်ခေါဝ်ရဳယာန်",
nil,
"okz",
wikipedia_article = "Khmer language#Historical periods",
}
-- Central Nicobarese varieties
m["ncb-cam"] = {
"Camorta",
5026908,
"ncb",
aliases = {"Kamorta"},
}
m["ncb-kat"] = {
"Katchal",
17064263,
"ncb",
aliases = {"Tehnu"},
}
m["ncb-nan"] = {
"Nancowry",
6962504,
"ncb",
aliases = {"Nankwari"},
}
----------------------------------------------------------------------------------------------------------------------
-- Austronesian varieties --
----------------------------------------------------------------------------------------------------------------------
-- Malay and related varieties
m["ms-old"] = { -- this has the ISO code 'omy'
"Old Malay",
nil,
"ms",
}
m["ms-cla"] = {
"Classical Malay",
nil,
"ms",
ancestors = "ms-old",
}
m["pse-bsm"] = {
"Besemah",
nil,
"pse",
}
m["bew-kot"] = {
"Betawi Kota",
nil,
"bew",
aliases = {"Urban Betawi"}, -- in Jakarta
}
-- Philippine varieties
m["xnn"] = {
"Northern Kankanaey",
12953609,
"kne",
aliases = {"Northern Kankanay", "Northern Kankana-ey"},
}
m["tl-old"] = {
"Old Tagalog",
12967437,
"tl",
}
m["tl-cls"] = {
"Classical Tagalog",
nil,
"tl",
}
----------------------------------------------------------------------------------------------------------------------
-- Caucasian varieties --
----------------------------------------------------------------------------------------------------------------------
-- Kartvelian varieties
m["ka-mid"] = {
"Middle Georgian",
nil,
"ka",
ancestors = "oge",
}
----------------------------------------------------------------------------------------------------------------------
-- Dravidian varieties --
----------------------------------------------------------------------------------------------------------------------
m["ta-mid"] = {
"Middle Tamil",
20987434,
"ta",
}
m["kn-hav"] = {
"Havigannada",
24276369,
"kn",
}
m["kn-kun"] = {
"Kundagannada",
6444255,
"kn",
}
----------------------------------------------------------------------------------------------------------------------
-- Indo-European varieties --
----------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
-- Albanian varieties --
--------------------------------------------------------------------------------------
m["aln"] = {
"Gheg Albanian",
181037,
"sq",
aliases = {"Gheg"},
}
m["aae"] = {
"Arbëresh Albanian",
1075302,
"als",
aliases = {"Arbëreshë", "Arbëresh"},
}
m["aat"] = {
"Arvanitika Albanian",
29347,
"als",
aliases = {"Arvanitika"},
}
m["als"] = {
"Tosk Albanian",
180937,
"sq",
aliases = {"Tosk"},
}
--------------------------------------------------------------------------------------
-- Armenian varieties --
--------------------------------------------------------------------------------------
m["hyw"] = {
"Western Armenian",
180945,
"hy",
}
m["hye"] = {
"Eastern Armenian",
181059,
"hy",
}
--------------------------------------------------------------------------------------
-- Balto-Slavic varieties --
--------------------------------------------------------------------------------------
-------------------------------------------------------------------------
-- Baltic varieties --
-------------------------------------------------------------------------
m["bat-pro"] = {
"ဗေါဝ်တေတ်-အခိုက်ကၞာ",
1703347,
"ine-bsl-pro",
}
m["bat-dni"] = {
"Dnieper Baltic",
4163178,
"bat-pro",
family = "bat",
aliases = {"Dniepr Baltic", "Dnieper-Oka Baltic", "Dniepr-Oka Baltic"},
}
m["bat-gol"] = {
"Golyad",
4142855,
"bat-dni",
aliases = {"Eastern Galindian", "East Galindian"},
}
-------------------------------------------------------------------------
-- Slavic varieties --
-------------------------------------------------------------------------
-----------------------------------------------------
-- Bulgarian varieties --
-----------------------------------------------------
m["cu-bgm"] = {
"ဗူလ်ဂရဳယာန် လဒေါဝ်",
12294897,
"cu",
ancestors = "cu"
}
-----------------------------------------------------
-- Church Slavonic varieties --
-----------------------------------------------------
-- Old Moscow Church Slavonic deleted as it seems not distinct enough from Russian (Synodal) Church Slavonic.
m["zls-chs-ru"] = {
"Russian Church Slavonic",
21662400,
"zls-chs",
aliases = {"Synodal Church Slavonic", "New Moscow Church Slavonic", "Novomoskovsk Church Slavonic"},
}
m["zls-chs-uk"] = {
"Ukrainian Church Slavonic",
12153548,
"zls-chs",
aliases = {"Rusyn Church Slavonic", "Belarusian Church Slavonic"},
}
--[=[
-- Not sure about these yet.
m["zls-chs-bg"] = {
"Bulgarian Church Slavonic",
nil,
"zls-chs",
}
m["zls-chs-cs"] = {
"Czech Church Slavonic",
nil,
"zls-chs",
}
m["zls-chs-hr"] = {
"Croatian Church Slavonic",
nil,
"zls-chs",
}
m["zls-chs-mk"] = {
"Macedonian Church Slavonic",
nil,
"zls-chs",
}
m["zls-chs-ro"] = {
"Romanian Church Slavonic",
nil,
"zls-chs",
}
m["zls-chs-sr"] = {
"Serbian Church Slavonic",
nil,
"zls-chs",
}
]=]
-----------------------------------------------------
-- Czech varieties --
-----------------------------------------------------
m["cs-ear"] = {
"Early Modern Czech",
nil,
"cs",
ancestors = "zlw-ocs"
}
-----------------------------------------------------
-- East Slavic varieties --
-----------------------------------------------------
m["zle-ops"] = {
"Old Pskovian",
4167885,
"zle-ono",
}
m["zle-mru"] = {
"ရုသျှာ လဒေါဝ်",
35228,
"ru",
"Cyrs",
ancestors = "orv",
translit = "ru-translit",
strip_diacritics = {
Cyrs = {
remove_diacritics = c.grave .. c.acute .. c.diaer,
},
},
}
m["zle-mbe"] = {
"Middle Belarusian",
13211,
"zle-ort",
ancestors = "zle-ort",
}
m["zle-muk"] = {
"ယူကရိန် လဒေါဝ်",
13211,
"zle-ort",
ancestors = "zle-ort",
}
m["uk-CA"] = {
"Canadian Ukrainian",
4161010,
"uk",
}
m["crp-cpr-kya"] = {
"Kyakhta Chinese Pidgin Russian",
1062960,
"crp-cpr",
}
-----------------------------------------------------
-- Polish varieties --
-----------------------------------------------------
m["zlw-mpl"] = {
"ပဝ်လာန် လဒေါဝ်",
402878,
"pl",
ancestors = "zlw-opl",
strip_diacritics = {
remove_diacritics = c.acute,
remove_exceptions = {"Ć", "ć", "Ń", "ń", "Ó", "ó", "Ś", "ś", "Ź", "ź"},
},
}
m["pl-gre"] = {
"Greater Polish",
4106789,
"pl",
}
m["pl-les"] = {
"Lesser Polish",
361709,
"pl",
}
m["pl-mas"] = {
"Masovian Polish",
4274559,
"pl",
}
m["pl-gor"] = {
"Goral",
452889,
"pl",
}
-----------------------------------------------------
-- Serbo-Croatian varieties --
-----------------------------------------------------
m["ckm"] = {
"Chakavian Serbo-Croatian",
337565,
"sh",
aliases = {"Čakavian"},
}
m["kjv"] = {
"Kajkavian Serbo-Croatian",
838165,
"sh",
}
m["sh-tor"] = { -- Linguist code srp-tor
"Torlakian Serbo-Croatian",
1078803,
"sh",
aliases = {"Torlak"},
}
--------------------------------------------------------------------------------------
-- Celtic varieties --
--------------------------------------------------------------------------------------
-----------------------------------------------------
-- Brythonic varieties --
-----------------------------------------------------
m["bry-ear"] = {
"Early Brythonic",
nil,
"cel-bry-pro",
}
m["bry-lat"] = {
"Late Brythonic",
nil,
"cel-bry-pro",
}
-----------------------------------------------------
-- Gaulish varieties --
-----------------------------------------------------
m["xcg"] = {
"Cisalpine Gaulish",
3832927,
"cel-gau",
}
m["xtg"] = {
"Transalpine Gaulish",
29977,
"cel-gau",
}
-----------------------------------------------------
-- Welsh varieties --
-----------------------------------------------------
m["cy-nor"] = {
"North Wales Welsh",
13127692,
"cy",
aliases = {"North Walian Welsh", "Northern Welsh"},
}
m["cy-sou"] = {
"South Wales Welsh",
13127689,
"cy",
aliases = {"South Walian Welsh", "Southern Welsh"},
}
--------------------------------------------------------------------------------------
-- Germanic varieties --
--------------------------------------------------------------------------------------
-- Proto-West Germanic varieties
m["frk"] = {
"Frankish",
10860505,
"gmw-pro",
family = "gmw-frk",
aliases = {"Old Frankish"},
}
m["gem-sue"] = {
"Suevic",
134600275,
"gmw-pro",
aliases = {"Suebian"},
}
m["gmw-afr-pro"] = {
"Proto-Anglo-Frisian",
134603379,
"gmw-nsg-pro",
family = "gmw-afr",
}
m["gmw-nsg-pro"] = {
"Proto-North Sea Germanic",
134603374,
"gmw-pro",
family = "gmw-nsg",
aliases = {"Proto-Ingvaeonic"},
}
-----------------------------------------------------
-- Dutch varieties --
-----------------------------------------------------
m["nl-BE"] = {
"Belgian Dutch",
34147,
"nl",
aliases = {"Flemish", "Flemish Dutch", "Southern Dutch"},
}
-----------------------------------------------------
-- English and Scots varieties --
-----------------------------------------------------
-- English varieties
m["en-AU"] = {
"Australian English",
44679,
"en",
}
m["en-GB"] = {
"British English",
7979,
"en",
}
m["en-GB-SCT"] = {
"Scottish English",
1553250,
"en-GB",
}
m["en-GB-WLS"] = {
"Welsh English",
2363292,
"en-GB",
}
m["en-IM"] = {
"Manx English",
6753295,
"en-GB",
}
m["en-aae"] = {
"Australian Aboriginal English",
783347,
"en-AU",
}
m["en-ear"] = {
"Early Modern English",
1472196,
"en",
ancestors = "enm",
aliases = {"Early New English"},
}
m["en-geo"] = {
"Geordie",
653421,
"en",
ancestors = "enm-nor",
}
m["en-IE"] = { -- FIXME: "IE" doesn't cover Northern Ireland
"Irish English",
665624,
"en",
}
m["en-uls"] = {
"Ulster English",
6840826,
"en-IE",
}
m["en-GB-NIR"] = {
"Northern Irish English",
6840826, -- actually the code for Ulster English
"en-uls",
}
m["en-NNN"] = { -- NA = Namibia; NNN is NATO 3-letter code for North America
"North American English",
7053766,
"en",
ietf_subtag = "en-021" -- 021 = UN M49 code for "Northern America" (i.e. North America wihout Central America or the Caribbean)
}
m["en-US"] = {
"American English",
7976,
"en-NNN",
}
m["en-NZ"] = {
"New Zealand English",
44661,
"en"
}
m["en-ZA"] = {
"South African English",
1156228,
"en"
}
m["en-US-CA"] = {
"California English",
1026812,
"en-US",
}
m["en-CA"] = {
"Canadian English",
44676,
"en-US",
}
m["en-HK"] = {
"Hong Kong English",
1068863,
"en",
}
m["en-IN"] = {
"Indian English",
1348800,
"en",
}
m["pld"] = {
"Polari",
1359130,
"en",
}
-- Scots varieties
m["sco-ins"] = {
"Insular Scots",
16919205,
"sco",
}
m["sco-uls"] = {
"Ulster Scots",
201966,
"sco",
}
m["sco-nor"] = {
"Northern Scots",
16928150,
"sco",
}
m["sco-sou"] = {
"Southern Scots",
7570457,
"sco",
aliases = {"South Scots", "Borders Scots"},
}
-- Middle English varieties
m["enm-esc"] = { -- Part of Middle English until it developed into Middle Scots.
"Early Scots",
5326738,
"enm",
ancestors = "enm-nor",
aliases = {"Old Scots", "Scottish Middle English"},
}
m["enm-emi"] = {
"East Midland Middle English",
134238810,
"enm",
ancestors = "ang-ang", -- Technically ang-mer, but attested Mercian is mostly WM IIRC
}
m["enm-ken"] = {
"Kentish Middle English",
134238532,
"enm",
ancestors = "ang-ken",
}
m["enm-nor"] = {
"Northern Middle English",
134238541,
"enm",
ancestors = "ang-nor",
}
m["enm-sou"] = {
"Southern Middle English",
134238528,
"enm",
ancestors = "ang-wsx",
}
m["enm-wmi"] = {
"West Midland Middle English",
134238824,
"enm",
ancestors = "ang-mer",
}
-- Old English varieties
-- Includes both Mercian and Northumbrian.
m["ang-ang"] = {
"Anglian Old English",
121142917,
"ang",
}
m["ang-ken"] = {
"Kentish Old English",
11687485,
"ang",
}
m["ang-mer"] = {
"Mercian Old English",
602072,
"ang-ang",
}
m["ang-nor"] = {
"Northumbrian Old English",
1798915,
"ang-ang",
}
m["ang-wsx"] = {
"West Saxon Old English",
2658603,
"ang",
}
-----------------------------------------------------
-- High German varieties --
-----------------------------------------------------
-- (modern) German varieties
m["de-AT"] = {
"Austrian German",
306626,
"de",
}
m["de-AT-vie"] = {
"Viennese German",
56474,
"de-AT",
}
m["de-CH"] = {
"Switzerland German",
1366643,
"de",
aliases = {"Schweizer Hochdeutsch", "Swiss Standard German", "Swiss High German"},
}
m["de-bal"] = {
"Baltic German",
15785413,
"de",
}
m["de-ear"] = {
"Early New High German",
1472199,
"de",
ancestors = "gmh",
aliases = {"Early Modern High German"},
}
m["ksh"] = {
"Kölsch",
4624,
"gmw-cfr",
}
m["pfl"] = {
"Palatine German",
23014,
"gmw-rfr",
aliases = {"Pfälzisch", "Pälzisch", "Palatinate German"},
}
m["sli"] = {
"Silesian East Central German",
152965,
"gmw-ecg",
aliases = {"Silesian"},
}
m["sxu"] = {
"Upper Saxon German",
699284,
"gmw-ecg",
}
-- Old High German varieties
m["lng"] = {
"Lombardic",
35972,
"goh",
}
-- Alemannic German varieties
m["gsw-low"] = {
"Low Alemannic German",
503724,
"gsw",
}
m["gsw-FR-als"] = {
"Alsatian Alemannic German",
8786,
"gsw-low",
}
m["gsw-hig"] = {
"High Alemannic German",
503728,
"gsw",
}
m["gsw-hst"] = {
"Highest Alemannic German",
687538,
"gsw",
}
m["wae"] = {
"Walser German",
680517,
"gsw-hst",
}
-----------------------------------------------------
-- Low German varieties --
-----------------------------------------------------
m["nds-de"] = {
"German Low German",
25433,
"nds",
ietf_subtag = "nds-DE", -- should we make this the actual code?
wikimedia_codes = "nds",
}
m["nds-nl"] = {
"Dutch Low Saxon",
516137,
"nds",
ietf_subtag = "nds-NL", -- should we make this the actual code?
wikimedia_codes = "nds-nl",
}
m["act"] = {
"Achterhoeks",
153627,
"nds-nl",
aliases = {"Achterhoek", "Achterhooks"},
}
m["drt"] = {
"Drents",
2736709,
"nds-nl",
aliases = {"Drèents", "Dreins", "Dreints", "Drints"},
}
m["frs"] = {
"East Frisian Low German",
149208,
"nds-de",
aliases = {"East Frisian", "East Frisian Low Saxon"},
}
m["gos"] = {
"Gronings",
508854,
"nds-nl",
aliases = {"Grunnegs", "Grönnegs"},
}
m["nds-lpr"] = {
"Low Prussian",
33982,
"nds-de",
}
m["sdz"] = {
"Sallands",
3436668,
"nds-nl",
aliases = {"Sallaans", "Sallaands"},
}
m["stl"] = {
"Stellingwerfs",
506010,
"nds-nl",
aliases = {"Stellingwarfs"},
}
m["twd"] = {
"Twents",
497363,
"nds-nl",
aliases = {"Tweants"},
}
m["vel"] = {
"Veluws",
2484810,
"nds-nl",
}
m["wep"] = {
"Westphalian",
505655,
"nds-de",
aliases = {"Westfalish", "Westphalien"},
}
-----------------------------------------------------
-- North Frisian varieties --
-----------------------------------------------------
m["frr-ins"] = {
"Insular North Frisian",
110629610,
"frr",
}
m["frr-fam"] = {
"Föhr-Amrum North Frisian",
110629601,
"frr-ins",
}
m["frr-foh"] = {
"Föhr North Frisian",
28185,
"frr-fam",
aliases = {"Föhr Frisian", "Fering",
"Ferring", -- Glottolog
},
varieties = {"Aasdring", "Weesdring"},
}
m["frr-amr"] = {
"Amrum North Frisian",
28192,
"frr-fam",
aliases = {"Amrum Frisian", "Amrum", "Öömrang"},
}
m["frr-hel"] = {
"Heligoland North Frisian",
28086,
"frr-ins",
aliases = {"Heligoland Frisian", "Halunder", "Heligolandic Frisian", "Heligolandic North Frisian",
"Helgoland Frisian", "Helgoland North Frisian", "Helgoland"},
}
m["frr-syl"] = {
"Sylt North Frisian",
28181,
"frr-ins",
aliases = {"Sylt Frisian", "Söl'ring",
"Sölreng", -- Glottolog
},
}
m["frr-mai"] = {
"Mainland North Frisian",
110629626,
"frr",
}
m["frr-hal"] = {
"Halligen North Frisian",
28177,
"frr-mai",
aliases = {"Halligen Frisian", "Halifreesk", "Hallingen Frisian", "Hallingen North Frisian",
"Hallingen", -- Glottolog
},
}
m["frr-moo"] = {
"Mooring North Frisian",
28187,
"frr-mai",
aliases = {"Bökingharde North Frisian", "Bökingharde Frisian", "Böökinghiirder frasch",
"Mooring", "Moring",
},
varieties = {{"East Mooring", "Ostermooring"}, {"West Mooring", "Westermooring"}},
}
m["frr-kar"] = {
"Karrharde North Frisian",
28191,
"frr-mai",
aliases = {"Karrharde Frisian", "Karrharder",
},
}
m["frr-goe"] = {
-- Technically this refers to three adjacent dialects (Northern, Central and Southern), the latter of which went
-- extinct in 1980-1981. As a result, Glottolog speaks of "Norder-Mittelgoesharde", referring to the remaining two.
"Goesharde North Frisian",
28183,
"frr-mai",
aliases = {"Norder-Mittelgoesharde North Frisian", "Norder-Mittelgoesharde Frisian", "Norder-Mittelgoesharde",
"Goesharde Frisian", "Goesharde", "Gooshiirder",
},
}
m["frr-wie"] = {
"Wiedingharde North Frisian",
28171,
"frr-mai",
aliases = {"Wiedingharde Frisian", "Wiedingharde", "Wiringhiirder freesk",
},
}
-----------------------------------------------------
-- Old Norse varieties --
-----------------------------------------------------
m["non-grn"] = {
"Greenlandic Norse",
855236,
"non-own",
}
m["non-oen"] = {
"Old East Norse",
10498031,
"non",
ancestors = "non",
}
m["non-own"] = {
"Old West Norse",
2377483,
"non",
ancestors = "non",
}
-----------------------------------------------------
-- Old Swedish varieties --
-----------------------------------------------------
m["gmq-osw-lat"] = {
"Late Old Swedish",
10723594,
"gmq-osw",
ancestors = "gmq-osw",
}
--------------------------------------------------------------------------------------
-- Greek varieties --
--------------------------------------------------------------------------------------
m["qsb-grc"] = {
"Pre-Greek",
965052,
"und",
family = "qfa-sub",
}
m["grc-aeo"] = {
"Aeolic Greek",
406373,
"grc",
aliases = {"Lesbic Greek", "Lesbian Greek", "Aeolian Greek"},
}
m["grc-arc"] = {
"Arcadian Greek",
nil,
"grc-arp",
}
m["grc-arp"] = {
"Arcadocypriot Greek",
499602,
"grc",
}
m["grc-att"] = {
"Attic Greek",
506588,
"grc",
}
m["grc-boi"] = {
"Boeotian Greek",
406373,
"grc-aeo",
}
m["grc-cyp"] = {
"Cypriot Ancient Greek", -- to distinguish from Cypriot Greek below
nil,
"grc-arp",
}
m["grc-dor"] = {
"Doric Greek",
285494,
"grc",
}
m["grc-ela"] = {
"Elean Greek",
nil,
"grc",
}
m["grc-epi"] = {
"Epic Greek",
990062,
"grc",
aliases = {"Homeric Greek"},
}
m["grc-ion"] = {
"Ionic Greek",
504165,
"grc",
}
m["grc-koi"] = {
"ဂရေတ် ခါဝ်အိန်",
107358,
"grc",
ancestors = "grc-att",
aliases = {"Hellenistic Greek"},
}
m["grc-kre"] = {
"Cretan Ancient Greek", -- to distinguish from Cretan Greek below
nil,
"grc-dor",
}
m["grc-opl"] = {
"Opuntian Locrian",
nil,
"grc",
}
m["grc-ozl"] = {
"Ozolian Locrian",
nil,
"grc",
}
m["grc-pam"] = {
"Pamphylian Greek",
2271793,
"grc",
}
m["grc-ths"] = {
"Thessalian Greek",
406373,
"grc-aeo",
}
m["gkm"] = {
"ဂရေတ် ဗေတ်သေန်ထေၚ်",
36387,
"grc",
ancestors = "grc-koi",
aliases = {"Medieval Greek"},
}
m["el-cyp"] = {
"Cypriot Greek",
245899,
"el",
aliases = {"Cypriotic Greek"},
}
m["el-pap"] = {
"Paphian Greek",
nil,
"el",
}
m["el-crt"] = {
"Cretan Greek",
588306,
"el",
}
m["el-kth"] = {
"Katharevousa",
35961,
"el",
"Polyt",
ancestors = "gkm",
aliases = {"Katharevousa Greek"},
-- Polyt display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["el-kal"] = {
"Kaliarda",
12878658,
"el",
}
--------------------------------------------------------------------------------------
-- Indo-Iranian varieties --
--------------------------------------------------------------------------------------
-------------------------------------------------------------------------
-- Indo-Aryan varieties --
-------------------------------------------------------------------------
-- reconstructed intermediate stages
m["pra-pro"] = {
"Proto-New Indo-Aryan",
nil,
"pra",
}
m["inc-ash-pro"] = {
"Proto-Middle Indo-Aryan",
nil,
"inc-ash",
}
m["inc-mit"] = {
"Mitanni",
1986700,
"inc-pro",
}
m["bra-old"] = {
"Old Braj",
nil,
"bra",
}
-- Apabhramsas
m["inc-aav"] = {
"အဝဟတာ",
nil,
"inc-apa",
aliases = {"Abahattha"},
}
m["inc-asa"] = {
"သဥူရေသဳနဳ အာပ်ပါပရာမ်သာ",
nil,
"inc-apa",
}
m["inc-agu"] = {
"ဂူဂျာရာ အာပ်ပါပရာမ်သာ",
nil,
"inc-apa",
}
m["inc-aka"] = {
"ခေပ်သမဳရဳ အာပ်ပါပရာမ်သာ",
nil,
"inc-apa",
}
m["inc-ama"] = {
"မဟာရာတ်သပ်ထရဳ အာပ်ပါပရာမ်သာ",
nil,
"inc-apa",
}
m["inc-ata"] = {
"တာကာ အာပ်ပါပရာမ်သာ",
nil,
"inc-apa",
}
m["inc-avr"] = {
"ဝရာခါဒါ အာပ်ပါပရာမ်သာ",
nil,
"inc-apa",
}
-- Assamese varieties
m["as-bkm"] = {
"Barpetia Kamrupi Assamese",
30642960,
"as",
}
m["as-nkm"] = {
"Nalbaria Kamrupi Assamese",
85787678,
"as",
}
m["as-pkm"] = {
"Palasbaria Kamrupi Assamese",
nil,
"as",
}
-- Bengali varieties
m["bn-dvn"] = {
"Dhakaiya Vaṅga Bengali",
48726851,
"bn", -- Eastern Bengali variety
}
m["bn-nvn"] = {
"Noakhailla Vaṅga Bengali",
107548681,
"bn", -- Eastern Bengali variety
}
-- Dhivehi varieties
m["dv-old"] = {
"Old Dhivehi",
117790875,
"dv",
}
m["dv-mul"] = {
"Mulaku Dhivehi",
nil,
"dv",
aliases = {"Mulaku Divehi", "Mulaku Bas"},
}
m["dv-huv"] = {
"Huvadhu Dhivehi",
nil,
"dv",
aliases = {"Huvadhu Divehi", "Huvadhu Bas"},
}
m["dv-add"] = {
"Addu Dhivehi",
nil,
"dv",
aliases = {"Addu Divehi", "Addu Bas"},
}
-- Gujarati varieties
m["gu-kat"] = {
"Kathiyawadi",
nil,
"gu",
aliases = {"Kathiyawadi Gujarati", "Kathiawadi"},
}
m["gu-lda"] = {
"Lisan ud-Dawat Gujarati",
nil,
"gu",
aliases = {"Lisan ud-Dawat", "LDA"},
}
-- Hindi varieties
m["hi-mum"] = {
"Bombay Hindi",
3543151,
"hi",
aliases = {"Mumbai Hindi", "Bambaiyya Hindi"},
}
m["hi-mid"] = {
"Middle Hindi",
nil,
"inc-ohi",
ancestors = "inc-ohi",
}
-- Konkani varieties
m["kok-mid"] = {
"Middle Konkani",
nil,
"kok",
aliases = {"Medieval Konkani"},
}
m["kok-old"] = {
"Old Konkani",
nil,
"kok",
aliases = {"Early Konkani"},
}
-- Prakrits
m["pra-ard"] = {
"အာတ်ဓၟဂါတ်ဒဳ ပရာကရေတ်",
35217,
"pra",
aliases = {"Ardhamagadhi"},
}
m["pra-hel"] = {
"ဟေဠူ ပရာကရေတ်",
15080869,
"pra",
aliases = {"Elu", "Elu Prakrit", "Helu"},
}
m["pra-kha"] = {
"ခါဿာ ပရာကရေတ်",
nil,
"pra",
aliases = {"Khasa"},
}
m["pra-mag"] = {
"မဂ္ဂဒိ ပရာကရေတ်", -- Not to be confused with Magahi (mag)
2652214,
"pra",
aliases = {"Magadhi"},
}
m["pra-mah"] = {
"မဟာရာတ်ထရဳ ပရာကရေတ်",
2586773,
"pra",
aliases = {"Maharashtri Prakrit", "Maharastri", "Maharashtri"},
}
m["pra-pai"] = {
"ပါအေတ်သာသဳ ပရာကရေတ်",
2995607,
"pra-sau",
aliases = {"Paisaci", "Paisachi"},
ancestors = "pra-sau"
}
m["pra-sau"] = {
"သောရာသေနဳ ပရာကရေတ်",
2452885,
"pra",
aliases = {"Sauraseni", "Shauraseni"},
}
m["pra-ava"] = {
"အဗါန်တဳ",
nil,
"pra",
aliases = {"Avanti Prakrit"},
}
m["pra-pra"] = {
"ပရာသဳယျာ",
nil,
"pra",
aliases = {"Pracya Prakrit"},
}
m["pra-bah"] = {
"ပါလိကဳ",
nil,
"pra",
aliases = {"Bahliki Prakrit"},
}
m["pra-dak"] = {
"ထေတ်သဳနတာယျ",
nil,
"pra",
aliases = {"Daksinatya Prakrit"},
}
m["pra-sak"] = {
"သာကာရဳ",
nil,
"pra",
aliases = {"Sakari Prakrit"},
}
m["pra-can"] = {
"ခေန်ဒါလဳ",
nil,
"pra",
aliases = {"Candali Prakrit"},
}
m["pra-sab"] = {
"သာဗါရဳ",
nil,
"pra",
aliases = {"Sabari Prakrit"},
}
m["pra-abh"] = {
"အဖိရဳ",
nil,
"pra",
aliases = {"Abhiri Prakrit"},
}
m["pra-dra"] = {
"ဒရာမဳလဳ",
nil,
"pra",
aliases = {"Dramili Prakrit"},
}
m["pra-odr"] = {
"အဝ်ဒရဳ",
nil,
"pra",
aliases = {"Odri Prakrit"},
}
-- Punjabi varieties
m["pnb"] = {
"Western Punjabi",
58635,
"pa",
"pa-Arab",
}
-- Sanskrit varieties
m["vsn"] = {
"Vedic Sanskrit",
36858,
"sa",
}
m["cls"] = {
"Classical Sanskrit",
9333703,
"sa",
}
m["sa-bhs"] = {
"Buddhist Hybrid Sanskrit",
248758,
"sa",
}
m["sa-bra"] = {
"Brahmanic Sanskrit",
139822891,
"vsn",
}
m["sa-epi"] = {
"Epic Sanskrit",
56702805,
"cls",
}
m["sa-neo"] = {
"New Sanskrit",
nil,
"sa",
}
m["sa-rig"] = {
"Rigvedic Sanskrit",
139822680,
"vsn",
}
-- Sinhalese varieties
m["si-med"] = {
"Medieval Sinhalese",
nil,
"si",
aliases = {"Medieval Sinhala"},
}
-------------------------------------------------------------------------
-- Iranian varieties --
-------------------------------------------------------------------------
m["qsb-bma"] = {
"the BMAC substrate",
133187435,
"und",
family = "qfa-sub",
aliases = {"the Bactria-Margiana substrate", "the Bactria-Margiana Archaeological Complex substrate"},
}
-- Historical and current Iranian dialects
m["ae-old"] = {
"Old Avestan",
29572,
"ae",
aliases = {"Gathic Avestan"},
}
m["ae-yng"] = {
"Younger Avestan",
29572,
"ae-old",
aliases = {"Young Avestan"},
}
m["bcc"] = {
"Southern Balochi",
33049,
"bal",
aliases = {"Southern Baluchi"},
}
m["bgp"] = {
"Eastern Balochi",
33049,
"bal",
aliases = {"Eastern Baluchi"},
}
m["bgn"] = {
"Western Balochi",
33049,
"bal",
aliases = {"Western Baluchi"},
}
m["bsg-ban"] = {
"Bandari",
nil,
"bsg",
}
m["bsg-hor"] = {
"Hormozi",
nil,
"bsg",
}
m["bsg-min"] = {
"Minabi",
nil,
"bsg",
}
m["kho-old"] = {
"Old Khotanese",
nil,
"kho",
}
m["kho-lat"] = {
"Late Khotanese",
nil,
"kho-old",
}
m["peo-ear"] = {
"Early Old Persian",
nil,
"peo",
}
m["peo-lat"] = {
"Late Old Persian",
nil,
"peo",
}
m["pal-ear"] = {
"Early Middle Persian",
nil,
"pal",
}
m["pal-lat"] = {
"Late Middle Persian",
nil,
"pal",
ancestors = "pal-ear",
}
m["ps-nwe"] = {
"Northwestern Pashto",
nil,
"ps",
}
m["ps-cgi"] = {
"Central Ghilzay",
nil,
"ps-nwe",
}
m["ps-mah"] = {
"Mahsudi",
nil,
"ps-nwe",
}
m["ps-nea"] = {
"Northeastern Pashto",
nil,
"ps",
}
m["ps-afr"] = {
"Afridi",
nil,
"ps-nea",
}
m["ps-bng"] = {
"Bangash",
nil,
"ps-nea",
}
m["ps-xat"] = {
"Khatak",
nil,
"ps-nea",
}
m["ps-pes"] = {
"Peshawari",
nil,
"ps-nea",
}
m["ps-sea"] = {
"Southeastern Pashto",
nil,
"ps",
}
m["ps-ban"] = {
"Bannu",
nil,
"ps-sea",
}
m["ps-kak"] = {
"Kakari",
nil,
"ps-sea",
}
m["ps-ser"] = {
"Sher",
nil,
"ps-sea",
}
m["ps-waz"] = {
"Waziri",
12274473,
"ps-sea",
}
m["ps-swe"] = {
"Southwestern Pashto",
nil,
"ps",
}
m["ps-kan"] = {
"Kandahari",
nil,
"ps-swe",
}
m["ps-jad"] = {
"Jadrani",
nil,
"ps",
ancestors = "ira-pat-pro"
}
m["xme-azr"] = {
"Old Azari",
nil,
"xme-ott",
aliases = {"Old Azeri", "Azari", "Azeri", "Āḏarī", "Adari", "Adhari"},
}
m["xme-ttc-cen"] = {
"Central Tati",
nil,
"xme-ott",
}
m["xme-ttc-eas"] = {
"Eastern Tati",
nil,
"xme-ott",
}
m["xme-ttc-nor"] = {
"Northern Tati",
nil,
"xme-ott",
}
m["xme-ttc-sou"] = {
"Southern Tati",
nil,
"xme-ott",
}
m["xme-ttc-wes"] = {
"Western Tati",
nil,
"xme-ott",
}
m["xmn"] = {
"Manichaean Middle Persian",
nil,
"pal-lat",
}
m["fa-ear"] = {
"Early New Persian",
127413796,
"fa",
ancestors = "pal-lat",
translit = "fa-cls-translit",
}
m["fa-cls"] = {
"Classical Persian",
9168,
"fa",
ancestors = "fa-ear",
translit = "fa-cls-translit",
}
m["fa-ira"] = {
"Iranian Persian",
3513637,
"fa",
aliases = {"Modern Persian", "Western Persian"},
translit = "fa-ira-translit",
}
m["prs"] = {
"Dari",
178440,
"fa",
aliases = {"Dari Persian", "Central Persian", "Eastern Persian", "Afghan Persian"},
translit = "fa-cls-translit",
}
m["haz"] = {
"Hazaragi",
33398,
"prs",
translit = "fa-cls-translit",
}
m["os-dig"] = {
"Digor Ossetian",
3027861,
"os",
aliases = {"Digoron", "Digor"},
}
m["os-iro"] = {
"Iron Ossetian",
nil,
"os",
aliases = {"Iron"},
}
m["sog-ear"] = {
"Early Sogdian",
nil,
"sog",
}
m["sog-lat"] = {
"Late Sogdian",
nil,
"sog-ear",
}
m["ro-MD"] = {
"Moldovan",
36392,
"ro",
aliases = {"Moldavian"},
}
m["oru-kan"] = {
"Kaniguram",
6363164,
"oru",
}
m["oru-log"] = {
"Logar",
nil,
"oru",
}
m["oos"] = {
"Old Ossetic",
65455882,
"xln",
}
m["oos-ear"] = {
"Early Old Ossetic",
nil,
"oos",
}
m["oos-lat"] = {
"Late Old Ossetic",
nil,
"oos",
}
m["rdb-jir"] = {
"Jirofti",
nil,
"rdb",
}
m["rdb-kah"] = {
"Kahnuji",
nil,
"rdb",
}
-- Southwestern Fars lects
m["fay-bur"] = {
"Burenjani",
nil,
"fay",
}
m["fay-bsh"] = {
"Bushehri",
nil,
"fay",
}
m["fay-dsh"] = {
"Dashtaki",
nil,
"fay",
}
m["fay-dav"] = {
"Davani",
5228140,
"fay",
}
m["fay-eze"] = {
"Emamzada Esmaili",
nil,
"fay",
}
m["fay-gav"] = {
"Gavkoshaki",
nil,
"fay",
}
m["fay-kho"] = {
"Khollari",
nil,
"fay",
}
m["fay-kon"] = {
"Kondazi",
nil,
"fay",
}
m["fay-kzo"] = {
"Old Kazeruni",
nil,
"fay",
}
m["fay-mas"] = {
"Masarami",
nil,
"fay",
}
m["fay-pap"] = {
"Papuni",
nil,
"fay",
}
m["fay-sam"] = {
"Samghani",
nil,
"fay",
}
m["fay-shr"] = {
"Shirazi",
nil,
"fay",
}
m["fay-sho"] = {
"Old Shirazi",
nil,
"fay",
}
m["fay-kar"] = {
"Khargi",
nil,
"fay",
}
m["fay-sor"] = {
"Sorkhi",
nil,
"fay",
}
-- Talysh lects
m["tly-cen"] = {
"Central Talysh",
nil,
"tly",
}
m["tly-asa"] = {
"Asalemi",
nil,
"tly-cen",
}
m["tly-kar"] = {
"Karganrudi",
nil,
"tly-cen",
}
m["tly-tul"] = {
"Tularudi",
nil,
"tly-cen",
}
m["tly-tal"] = {
"Taleshdulabi",
nil,
"tly-cen",
}
m["tly-nor"] = {
"Northern Talysh",
nil,
"tly",
}
m["tly-aze"] = {
"Azerbaijani Talysh",
nil,
"tly-nor",
}
m["tly-anb"] = {
"Anbarani",
nil,
"tly-nor",
}
m["tly-sou"] = {
"Southern Talysh",
nil,
"tly",
}
m["tly-fum"] = {
"Fumani",
nil,
"tly-sou",
}
m["tly-msu"] = {
"Masulei",
nil,
"tly-sou",
}
m["tly-msa"] = {
"Masali",
nil,
"tly-sou",
}
m["tly-san"] = {
"Shandarmani",
nil,
"tly-sou",
}
-- Tafreshi lects
m["xme-amo"] = {
"Amorehi",
nil,
"xme-taf",
}
m["atn"] = {
"Ashtiani",
3436590,
"xme-taf",
}
m["xme-bor"] = {
"Borujerdi",
nil,
"xme-taf",
}
m["xme-ham"] = {
"Hamadani",
6302426,
"xme-taf",
}
m["xme-kah"] = {
"Kahaki",
nil,
"xme-taf",
}
m["vaf"] = {
"Vafsi",
32611,
"xme-taf",
}
-- Kermanic lects
m["kfm"] = {
"Khunsari",
6403030,
"xme-ker",
}
m["xme-mah"] = {
"Mahallati",
nil,
"xme-ker",
}
m["xme-von"] = {
"Vonishuni",
nil,
"xme-ker",
}
m["xme-bdr"] = {
"Badrudi",
nil,
"xme-ker",
}
m["xme-del"] = {
"Delijani",
nil,
"xme-ker",
}
m["xme-kas"] = {
"Kashani",
nil,
"xme-ker",
}
m["xme-kes"] = {
"Kesehi",
nil,
"xme-ker",
}
m["xme-mey"] = {
"Meymehi",
nil,
"xme-ker",
}
m["ntz"] = {
"Natanzi",
6968399,
"xme-ker",
}
m["xme-abz"] = {
"Abuzeydabadi",
nil,
"xme-ker",
}
m["xme-aby"] = {
"Abyanehi",
nil,
"xme-ker",
}
m["xme-far"] = {
"Farizandi",
nil,
"xme-ker",
}
m["xme-jow"] = {
"Jowshaqani",
nil,
"xme-ker",
}
m["xme-nas"] = {
"Nashalji",
nil,
"xme-ker",
}
m["xme-qoh"] = {
"Qohrudi",
nil,
"xme-ker",
}
m["xme-yar"] = {
"Yarandi",
nil,
"xme-ker",
}
m["soj"] = {
"Soi",
7930463,
"xme-ker",
aliases = {"Sohi"},
}
m["xme-tar"] = {
"Tari",
nil,
"xme-ker",
}
m["gzi"] = {
"Gazi",
5529130,
"xme-ker",
}
m["xme-sed"] = {
"Sedehi",
nil,
"xme-ker",
}
m["xme-ard"] = {
"Ardestani",
nil,
"xme-ker",
}
m["xme-zef"] = {
"Zefrehi",
nil,
"xme-ker",
}
m["xme-isf"] = {
"Isfahani",
nil,
"xme-ker",
}
m["xme-kaf"] = {
"Kafroni",
nil,
"xme-ker",
}
m["xme-vrz"] = {
"Varzenehi",
nil,
"xme-ker",
}
m["xme-xur"] = {
"Khuri",
nil,
"xme-ker",
}
m["nyq"] = {
"Nayini",
6983146,
"xme-ker",
}
m["xme-ana"] = {
"Anaraki",
nil,
"xme-ker",
}
m["gbz"] = {
"Zoroastrian Dari",
32389,
"xme-ker",
aliases = {"Behdināni", "Gabri", "Gavrŭni", "Gabrōni"},
}
m["xme-krm"] = {
"Kermani",
nil,
"xme-ker",
}
m["xme-yaz"] = {
"Yazdi",
nil,
"xme-ker",
}
m["xme-bid"] = {
"Bidhandi",
nil,
"xme-ker",
}
m["xme-bij"] = {
"Bijagani",
nil,
"xme-ker",
}
m["xme-cim"] = {
"Chimehi",
nil,
"xme-ker",
}
m["xme-han"] = {
"Hanjani",
nil,
"xme-ker",
}
m["xme-kom"] = {
"Komjani",
nil,
"xme-ker",
}
m["xme-nar"] = {
"Naraqi",
nil,
"xme-ker",
}
m["xme-nus"] = {
"Nushabadi",
nil,
"xme-ker",
}
m["xme-qal"] = {
"Qalhari",
nil,
"xme-ker",
}
m["xme-trh"] = {
"Tarehi",
nil,
"xme-ker",
}
m["xme-val"] = {
"Valujerdi",
nil,
"xme-ker",
}
m["xme-var"] = {
"Varani",
nil,
"xme-ker",
}
m["xme-zor"] = {
"Zori",
nil,
"xme-ker",
}
-- Ramandi lects
m["tks-ebr"] = {
"Ebrahimabadi",
nil,
"tks",
}
m["tks-sag"] = {
"Sagzabadi",
nil,
"tks",
}
m["tks-esf"] = {
"Esfarvarini",
nil,
"tks",
}
m["tks-tak"] = {
"Takestani",
nil,
"tks",
}
m["tks-cal"] = {
"Chali Tati",
nil,
"tks",
aliases = {"Chāli"},
}
m["tks-dan"] = {
"Danesfani",
nil,
"tks",
}
m["tks-xia"] = {
"Khiaraji",
nil,
"tks",
}
m["tks-xoz"] = {
"Khoznini",
nil,
"tks",
}
-- Shughni dialects
m["sgh-bro"] = {
"Bartangi-Oroshori",
nil,
"sgh",
}
m["sgh-bar"] = {
"Bartangi",
nil,
"sgh-bro",
}
m["sgh-oro"] = {
"Oroshori",
nil,
"sgh-bro",
aliases = {"Roshorvi"},
}
m["sgh-rsx"] = {
"Roshani-Khufi",
nil,
"sgh",
}
m["sgh-xuf"] = {
"Khufi",
2562249,
"sgh-rsx",
aliases = {"Xufi", "Xūfī"},
}
m["sgh-ros"] = {
"Roshani",
2597566,
"sgh-rsx",
aliases = {"Rushani", "Rōšāni"},
}
m["sgh-xgb"] = {
"Khughni-Bajui",
nil,
"sgh",
}
m["sgh-xug"] = {
"Khughni",
nil,
"sgh-xgb",
}
m["sgh-baj"] = {
"Bajui",
nil,
"sgh-xgb",
}
-------------------------------------------------------------------------
-- Nuristani varieties --
-------------------------------------------------------------------------
m["bsh-kat"] = {
"Kativiri",
2605045,
"bsh",
aliases = {"Katə́viri"},
}
m["xvi"] = {
"Kamviri",
1193495,
"bsh",
aliases = {"Kamvíri"},
}
m["bsh-mum"] = {
"Mumviri",
nil,
"bsh",
aliases = {"Mumvíri"},
}
--------------------------------------------------------------------------------------
-- Italic varieties --
--------------------------------------------------------------------------------------
-------------------------------------------------------------------------
-- Latin varieties --
-------------------------------------------------------------------------
-- Latin varieties by period
m["itc-ola"] = {
"လပ်တေန်တြေံ",
12289,
"la",
"Latn, Ital",
translit = {
Ital = "Ital-translit"
},
}
m["itc-lan"] = {
"Lanuvian",
16890829,
"itc-ola",
aliases = {"Lanuvine"},
}
m["itc-pra"] = {
"Praenestine",
16889772,
"itc-ola",
aliases = {"Praenestinian"},
}
m["la-cla"] = {
"လပ်တေန်ဝၚ်ဂန္ထ",
253854,
"la",
}
m["la-vul"] = {
"လပ်တေန်အရိုၚ်",
37560,
"la-cla",
}
m["la-afr"] = {
"African Romance",
162064,
"roa-pro",
}
m["la-lat"] = {
"လပ်တေန်လဇုဲ",
1503113,
"la",
ancestors = "la-cla",
}
m["la-med"] = {
"လပ်တေန် ခေတ်လဒေါဝ်",
1163234,
"la",
ancestors = "la-lat",
}
m["la-eme"] = {
"လပ်တေန်ခေတ်လဒေါဝ်ဗွဲမပြဟ်",
nil,
"la-med",
}
m["la-ecc"] = {
"သာသနာခရေတ်လပ်တေန်",
1247932,
"la",
aliases = {"Church Latin", "Liturgical Latin"},
ancestors = "la-lat",
}
m["la-ren"] = {
"လပ်တေန်ခေတ်ကလေၚ်ပလေဝ်ပ္တိုန်တၟိ",
499083,
"la",
ancestors = "la-med",
}
m["la-new"] = {
"လပ်တေန်တၟိ",
1248221,
"la",
aliases = {"Modern Latin"},
ancestors = "la-ren",
}
m["la-con"] = {
"လပ်တေန်ခေတ်ပြိုၚ်ပ္ကာန်",
1246397,
"la-new",
}
-------------------------------------------------------------------------
-- Miscellaneous Italic varieties --
-------------------------------------------------------------------------
m["xfa-cap"] = {
"Capenate",
133182969,
"xfa",
}
m["osc-luc"] = {
"Lucanian",
3265025,
"osc",
}
m["osc-sam"] = {
"Samnite",
133184287,
"osc",
}
-------------------------------------------------------------------------
-- Romance varieties --
-------------------------------------------------------------------------
m["roa-pro"] = {
"Proto-Romance",
3408029,
"la-lat",
ancestors = "la-vul",
}
-----------------------------------------------------
-- Catalan varieties --
-----------------------------------------------------
m["ca-val"] = {
"Valencian",
32641,
"ca",
}
-----------------------------------------------------
-- Franco-Provençal varieties --
-----------------------------------------------------
m["frp-old"] = {
"Old Franco-Provençal",
nil,
"frp",
}
-----------------------------------------------------
-- French and derived creole varieties --
-----------------------------------------------------
m["fro-nor"] = {
"Old Northern French",
2044917,
"fro",
aliases = {"Old Norman", "Old Norman French"},
}
m["fro-pic"] = {
"Picard Old French",
nil,
"fro",
}
m["xno"] = {
"အာန်ဂဝ်-နဝ်မာန်",
35214,
"fro-nor",
}
m["xno-law"] = {
"Law French",
2044323,
"xno",
}
m["zrp"] = {
"Zarphatic",
36994,
"fro",
aliases = {"Judeo-French"},
pseudo_families = "qfa-jew",
}
m["fr-CA"] = {
"Canadian French",
1450506,
"fr",
}
m["fr-CH"] = {
"Swiss French",
1480152,
"fr",
}
m["fr-aca"] = {
"Acadian French",
415109,
"fr",
}
m["fr-lou"] = {
"Louisiana French",
3083213,
"fr",
}
m["fr-mis"] = {
"Missouri French",
3083210,
"fr",
}
m["frc"] = {
"Cajun French",
880301,
"fr-lou",
}
m["ht-sdm"] = {
"Saint Dominican Creole French",
nil,
"ht",
ancestors = "fr",
}
-- Norman varieties
m["nrf-grn"] = {
"Guernsey Norman",
56428,
"nrf",
aliases = {"Guernsey"},
}
m["nrf-jer"] = {
"Jersey Norman",
56430,
"nrf",
aliases = {"Jersey"},
}
-----------------------------------------------------
-- Gallo-Italic varieties --
-----------------------------------------------------
m["egl-old"] = {
"Old Emilian",
nil,
"egl",
}
m["lij-old"] = {
"လဳဂူရဳယာန်တြေံ",
nil,
"lij",
aliases = {"Old Genoese"},
}
m["lmo-old"] = {
"လောန်ဗါတ်တြေံ",
97165320,
"lmo",
}
m["pms-old"] = {
"Old Piedmontese",
nil,
"pms",
aliases = {"Old Piemontese"},
}
m["vec-old"] = {
"Old Venetan",
nil,
"vec",
aliases = {"Old Venetian"},
}
m["rgn-old"] = {
"Old Romagnol",
nil,
"rgn",
}
-----------------------------------------------------
-- Italo-Romance varieties --
-----------------------------------------------------
-- Italian varieties
m["roa-oit"] = {
"Old Italian",
nil,
"it",
}
m["it-CH"] = {
"Switzerland Italian",
672147,
"it",
}
-- Other Italo-Romance varieties
m["nap-old"] = {
"Old Neapolitan",
nil,
"nap",
}
m["scn-old"] = {
"Old Sicilian",
nil,
"scn",
}
-----------------------------------------------------
-- Occitan varieties --
-----------------------------------------------------
m["oc-auv"] = {
"Auvergnat",
35359,
"oc",
aliases = {"Auvernhat", "Auvergnese"},
}
m["oc-gas"] = {
"ဂေါသ်သကာန်",
35735,
"oc",
}
-- standardized dialect of Gascon
m["oc-ara"] = {
"Aranese",
10196,
"oc-gas",
}
m["oc-lan"] = {
"လာမ်ဂဝေအ်ဒံက်ဃှေန်",
942602,
"oc",
aliases = {"Lengadocian"},
}
m["oc-lim"] = {
"လိမူသေန်",
427614,
"oc",
}
m["oc-pro"] = {
"ဖရဝ်ဗေန်သော",
241243,
"oc",
aliases = {"Provencal"},
}
m["oc-pro-old"] = {
"ဖရဝ်ဗေန်သောတြေံ",
2779185,
"pro",
}
m["oc-viv"] = {
"ဝဳဝါရုဝ်-အောဖှာၚ်",
1649613,
"oc",
}
m["oc-jud"] = {
"Shuadit",
56472,
"oc",
aliases = {
"Chouhadite", "Chouhadit", "Chouadite", "Chouadit", "Shuhadit",
"Judeo-Occitan", "Judæo-Occitan", "Judaeo-Occitan",
"Judeo-Provençal", "Judæo-Provençal", "Judaeo-Provençal",
"Judeo-Provencal", "Judaeo-Provencal",
"Judeo-Comtadin", "Judæo-Comtadin", "Judaeo-Comtadin",
},
pseudo_families = "qfa-jew",
}
-----------------------------------------------------
-- Portuguese and derived creole varieties --
-----------------------------------------------------
-- Portuguese
m["pt-BR"] = {
"Brazilian Portuguese",
750553,
"pt",
}
m["pt-PT"] = {
"European Portuguese",
922399,
"pt",
}
-- Kabuverdianu (Cape Verde Creole, Cape Verdean Creole)
m["kea-bar"] = {
"Barlavento Kabuverdianu",
2217638,
"kea",
aliases = {"Barlavento", "Barlavento Creole", "Sampadjudu"},
}
m["kea-bvi"] = {
"Boa Vista Kabuverdianu",
16501837,
"kea-bar",
aliases = {"Boa Vista Creole"},
}
m["kea-sal"] = {
"Sal Kabuverdianu",
18707467,
"kea-bar",
aliases = {"Sal Creole"},
}
m["kea-saa"] = {
"Santo Antão Kabuverdianu",
18707472,
"kea-bar",
aliases = {"Santo Antão Creole"},
}
m["kea-sni"] = {
"São Nicolau Kabuverdianu",
18707549,
"kea-bar",
aliases = {"São Nicolau Creole"},
}
m["kea-svi"] = {
"São Vicente Kabuverdianu",
18707550,
"kea-bar",
aliases = {"São Vicente Creole"},
}
m["kea-sot"] = {
"Sotavento Kabuverdianu",
10261559,
"kea",
aliases = {"Sotavento", "Sotavento Creole", "Badiu"},
}
m["kea-bra"] = {
"Brava Kabuverdianu",
18670181,
"kea-sot",
aliases = {"Brava Creole"},
}
m["kea-fog"] = {
"Fogo Kabuverdianu",
18706861,
"kea-sot",
aliases = {"Fogo Creole"},
}
m["kea-mai"] = {
"Maio Kabuverdianu",
18707286,
"kea-sot",
aliases = {"Maio Creole"},
}
m["kea-san"] = {
"Santiago Kabuverdianu",
35117,
"kea-sot",
aliases = {"Santiago Creole"},
}
m["kea-alu"] = {
"ALUPEC Kabuverdianu",
375704,
"kea",
aliases = {"ALUPEC", "Alfabeto Unificado para a Escrita do Cabo-Verdiano"},
}
-----------------------------------------------------
-- Rhaeto-Romance varieties --
-----------------------------------------------------
-- Friulian varieties
m["fur-old"] = {
"Old Friulian",
nil,
"fur",
}
-- Ladin varieties
m["lld-amp"] = {
"Ampezan Ladin",
25617466,
"lld",
aliases = {"Anpezan", "Ampezan", "Ampezzan", "Ampezzano"},
}
m["lld-bad"] = {
"Badiot Ladin",
3706562,
"lld",
aliases = {"Badiot", "Badioto", "Badiotto"},
}
m["lld-cad"] = {
"Cadorino Ladin",
3706570,
"lld",
aliases = {"Cadorino"},
}
m["lld-fas"] = {
"Fascian Ladin",
742627,
"lld",
aliases = {"Fascian", "Fassano"},
}
m["lld-fod"] = {
"Fodom Ladin",
3706605,
"lld",
aliases = {"Fodom", "Livinallese"},
}
m["lld-for"] = {
"Fornes Ladin",
5470374,
"lld",
aliases = {"Fornes"},
}
m["lld-ghe"] = {
"Gherdëina Ladin",
3706597,
"lld",
aliases = {"Gherdëina", "Gardenese", "Val Gardena"},
}
m["lld-non"] = {
"Nones Ladin",
1055027,
"lld",
aliases = {"Nones", "Noneso"},
}
-- Romansh varieties
m["rm-old"] = {
"Old Romansh",
nil,
"rm",
}
m["rm-put"] = {
"Puter Romansh",
688309,
"rm",
aliases = {"Puter", "Putèr", "Upper Engadine", "rm-puter"},
}
m["rm-srm"] = {
"Surmiran Romansh",
690216,
"rm",
aliases = {"Surmiran", "rm-surmiran",
"Surmiran-Albula", -- Glottolog
},
}
m["rm-srs"] = {
"Sursilvan Romansh",
688348,
"rm",
aliases = {"Sursilvan", "rm-sursilv"},
}
m["rm-sut"] = {
"Sutsilvan Romansh",
688272,
"rm",
aliases = {"Sutsilvan", "rm-sutsilv"},
varieties = {"Scharans Sutsilvan"}, -- per Glottolog
}
m["rm-val"] = {
"Vallader Romansh",
690226,
"rm",
aliases = {"Vallader", "Putèr", "Lower Engadine", "rm-vallader"},
}
m["rm-gri"] = {
"Rumantsch Grischun",
688873,
"rm",
aliases = {"rm-rumgr"},
}
-----------------------------------------------------
-- Sardinian varieties --
-----------------------------------------------------
m["sc-old"] = {
"Old Sardinian",
nil,
"sc",
}
m["sc-src"] = {
"Logudorese",
777974,
"sc",
aliases = {"Logudorese Sardinian"},
}
m["sc-nuo"] = {
"Nuorese",
nil,
"sc-src",
aliases = {"Nuorese Sardinian"},
}
m["sc-sro"] = {
"Campidanese",
35348,
"sc",
aliases = {"Campidanese Sardinian"},
}
-----------------------------------------------------
-- Spanish varieties --
-----------------------------------------------------
m["es-ear"] = {
"Early Modern Spanish",
5364419,
"es",
}
m["es-AR"] = {
"Rioplatense Spanish",
509780,
"es",
}
m["es-BO"] = {
"Bolivian Spanish",
510730,
"es",
}
m["es-CL"] = {
"Chilean Spanish",
857295,
"es",
}
m["es-CO"] = {
"Colombian Spanish",
1115875,
"es",
}
m["es-CU"] = {
"Cuban Spanish",
824909,
"es",
}
m["es-MX"] = {
"Mexican Spanish",
616620,
"es",
}
m["es-PE"] = {
"Peruvian Spanish",
736236,
"es",
}
m["es-PH"] = {
"Philippine Spanish",
22091406,
"es",
}
m["es-US"] = {
"United States Spanish",
2301077,
"es",
aliases = {"US Spanish"},
}
--use label "US Spanish" to put Spanish terms in this category
m["es-PR"] = {
"Puerto Rican Spanish",
7258609,
"es",
}
m["es-VE"] = {
"Venezuelan Spanish",
840017,
"es",
}
m["es-lun"] = {
"Lunfardo",
1401612,
"es",
}
----------------------------------------------------------------------------------------------------------------------
-- Japonic varieties --
----------------------------------------------------------------------------------------------------------------------
-- Japanese varieties
m["ja-mid"] = {
"ဂျပါန် လဒေါဝ်",
6841474,
"ojp",
ancestors = "ojp",
}
m["ja-mid-ear"] = {
"Early Middle Japanese",
182695,
"ja-mid",
}
m["ja-mid-lat"] = {
"ဂျပါန်တြေံခေတ်လဇုဲ",
1816184,
"ja-mid",
ancestors = "ja-mid-ear",
}
m["ja-ear"] = {
"Early Modern Japanese",
5326692,
"ja",
ancestors = "ja-mid-lat",
}
m["ojp-eas"] = {
"Eastern Old Japanese",
65247957,
"ojp",
}
m["ja-cla"] = {
"Classical Japanese",
1332057,
"ja",
-- FIXME: This is redundant because Classical Japanese is considered a child of (Modern) Japanese, which has ja-mid-ear
-- (as well as ja-mid-lat) as ancestors. However, the intent here is that the *direct* ancestor of ja-cla is ja-mid-ear
-- and ja-mid-lat is not an ancestor. Need to rethink ancestor handling.
-- ancestors = "ja-mid-ear",
}
----------------------------------------------------------------------------------------------------------------------
-- Koreanic varieties --
----------------------------------------------------------------------------------------------------------------------
-- Korean varieties
m["oko-lat"] = {
"ကိုဝ်ရဳယျာတြေံခေတ်လဇုဲ",
nil,
"oko",
}
m["okm-ear"] = {
"Early Middle Korean",
nil,
"okm",
}
m["ko-cen"] = {
"Central Korean",
nil,
"ko",
}
m["ko-gyg"] = {
"Gyeonggi Korean",
485492,
"ko-cen",
aliases = {"Seoul Korean"},
}
m["ko-chu"] = {
"Chungcheong Korean",
625800,
"ko-cen",
aliases = {"Hoseo Korean"},
}
m["ko-hwa"] = {
"Hwanghae Korean",
16183706,
"ko-cen",
}
m["ko-gan"] = {
"Gangwon Korean",
11260444,
"ko-cen",
aliases = {"Yeongdong Korean"},
}
m["ko-gys"] = {
"Gyeongsang Korean",
488002,
"ko",
aliases = {"Southeastern Korean"},
}
m["ko-jeo"] = {
"Jeolla Korean",
11250166,
"ko",
aliases = {"Southwestern Korean"},
}
m["ko-pyo"] = {
"Pyongan Korean",
7263142,
"ko",
aliases = {"Northwestern Korean"},
}
m["ko-ham"] = {
"Hamgyong Korean",
860702,
"ko",
aliases = {"Northeastern Korean"},
}
m["ko-yuk"] = {
"Yukjin Korean",
16171275,
"ko",
aliases = {"Yukchin Korean", "Ryukjin Korean", "Ryukchin Korean"},
}
----------------------------------------------------------------------------------------------------------------------
-- Mongolic varieties --
----------------------------------------------------------------------------------------------------------------------
m["xng-ear"] = {
"Early Middle Mongol",
nil,
"xng",
}
m["xng-lat"] = {
"Late Middle Mongol",
nil,
"xng",
ancestors = "xng-ear",
}
m["mn-kha"] = {
"Khalkha Mongolian",
6399808,
"mn",
aliases = {"Khalkha"},
}
m["mn-ord"] = {
"Ordos Mongolian",
716904,
"mn",
aliases = {"Ordos"},
}
m["mn-cha"] = {
"Chakhar Mongolian",
907425,
"mn",
aliases = {"Chakhar"},
}
m["mn-khr"] = {
"Khorchin Mongolian",
3196210,
"mn",
aliases = {"Khorchin"},
}
----------------------------------------------------------------------------------------------------------------------
-- Niger-Congo varieties --
----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------
-- Akan varieties --
-----------------------------------------------------
m["tw"] = {
"Twi Akan",
36850,
"ak",
aliases = {"Twi"},
}
m["abr"] = {
"Abron",
34831,
"tw",
aliases = {"Brong", "Bono", "Bono Twi"},
}
m["tw-asa"] = {
"Asante Twi",
19261685,
"tw",
aliases = {"Asante", "Ashanti", "Ashante"},
}
m["tw-aku"] = {
"Akuapem Twi",
31150449,
"tw",
aliases = {"Akuapem", "Akuapim", "Akwapem Twi", "Akwapi"},
}
m["fat"] = {
"Fante Akan",
35570,
"ak",
aliases = {"Fante", "Fanti", "Fantse", "Mfantse"},
}
m["wss"] = {
"Wasa",
36914,
"ak",
}
-- creole
m["alv-kro"] = {
"Kromanti",
1093206,
"crp-mar",
}
-----------------------------------------------------
-- Bantu varieties --
-----------------------------------------------------
m["bnt-cmn"] = {
"Common Bantu",
nil,
"bnt-pro",
}
m["xh-bha"] = {
"Bhaca",
4900493,
"xh",
aliases = {"isiBhaca", "IsiBhaca"},
}
-- Rwanda-Rundi varieties
m["rw-kin"] = {
"Kinyarwanda",
33573,
"rw",
aliases = {"Rwanda"},
}
m["rw-run"] = {
"Kirundi",
33583,
"rw",
aliases = {"Rundi"},
}
-----------------------------------------------------
-- Fula varieties --
-----------------------------------------------------
m["fuc"] = {
"Pulaar",
1420205,
"ff",
}
m["fuf"] = {
"Pular",
3915357,
"ff",
}
m["ffm"] = {
"Maasina Fulfulde",
3915322,
"ff",
}
m["fue"] = {
-- no enwiki entry as of yet but frwiki and pmswiki have one
"Borgu Fulfulde",
12952426,
"ff",
}
m["fuh"] = {
-- no enwiki entry as of yet but frwiki and pmswiki have one
"Western Niger Fulfulde",
12952430,
"ff",
}
m["fuq"] = {
-- no enwiki entry as of yet but frwiki, hrwiki and pmswiki have one
"Central-Eastern Niger Fulfulde",
12628799,
"ff",
}
m["fuv"] = {
-- no enwiki entry as of yet but dewiki, frwiki, hrwiki, pmswiki and swwiki have one
"Nigerian Fulfulde",
36129,
"ff",
}
m["fub"] = {
-- no enwiki entry as of yet but dewiki, frwiki, hrwiki, pmswiki, ptwiki, swwiki and yowiki have one
"Adamawa Fulfulde",
34776,
"ff",
}
m["fui"] = {
-- no enwiki entry as of yet but pmswiki and swwiki have one
"Bagirmi Fulfulde",
11003859,
"ff",
}
----------------------------------------------------------------------------------------------------------------------
-- Papuan varieties --
----------------------------------------------------------------------------------------------------------------------
m["kze"] = {
"Kosena",
12952663,
"auy",
}
m["ont"] = {
"Ontenu",
3352827,
"gaj",
aliases = {"Ontena"},
}
----------------------------------------------------------------------------------------------------------------------
-- Salishan varieties --
----------------------------------------------------------------------------------------------------------------------
m["lut-nor"] = {
"Northern Lushootseed",
nil,
"lut",
aliases = {"Northern Puget Sound Salish"},
}
m["slh"] = {
"Southern Lushootseed",
7997684,
"lut",
aliases = {"Southern Puget Sound Salish", "Twulshootseed", "Whulshootseed"},
}
m["ska"] = {
"Skagit",
12642471,
"lut-nor",
}
m["sno"] = {
"Snohomish",
25559662,
"lut-nor",
}
----------------------------------------------------------------------------------------------------------------------
-- Sino-Tibetan varieties --
----------------------------------------------------------------------------------------------------------------------
m["tbq-pro"] = {
"ဗၟာ-တိဗဝ်တဝ် အခိုက်ကၞာ",
7251864,
"sit-pro",
}
-----------------------------------------------------
-- Chinese varieties --
-----------------------------------------------------
------------- Old Chinese, Middle Chinese -------------
m["och-ear"] = {
"Early Old Chinese",
nil,
"och",
}
m["och-lat"] = {
"Late Old Chinese",
nil,
"och",
}
m["ltc-ear"] = {
"Early Middle Chinese",
nil,
"ltc",
}
m["ltc-lat"] = {
"Late Middle Chinese",
nil,
"ltc",
}
------------- Classical/Literary varieties -------------
-- FIXME: Temporary.
m["lzh-shi"] = {
"Traditional Chinese poetry",
1759242,
"lzh",
}
-- FIXME: Temporary.
m["lzh-cii"] = {
"Ci",
1091366,
"lzh",
}
-- FIXME: Temporary.
m["lzh-yue"] = {
"Classical Cantonese",
nil,
"lzh",
}
-- FIXME: Temporary.
m["lzh-cmn"] = {
"Classical Mandarin",
nil,
"lzh",
}
-- FIXME: Temporary.
m["lzh-tai"] = {
"Classical Taishanese",
nil,
"lzh",
}
-- FIXME: Temporary.
m["lzh-cmn-TW"] = {
"Classical Taiwanese Mandarin",
nil,
"lzh-cmn",
}
-- FIXME: Temporary.
m["lzh-VI"] = {
"Vietnamese Classical Chinese",
17034227,
"lzh",
}
-- FIXME: Temporary.
m["lzh-KO"] = {
"Korean Classical Chinese",
10496257,
"lzh",
ietf_subtag = "lzh-KR" -- KR = South Korea, as there is no code for Korea as a whole
}
-- FIXME: Temporary.
m["lzh-lit"] = {
"Literary Chinese",
nil,
"lzh",
}
-- FIXME: Temporary. FIXME: Do we need this? How does it differ from Old Chinese?
m["lzh-pre"] = {
"Pre-Classical Chinese",
nil,
"lzh",
}
------------- Written Vernacular varieties -------------
-- FIXME: Temporary.
m["cmn-wvc"] = {
"Written vernacular Mandarin",
783605,
"cmn",
}
-- FIXME: Temporary. FIXME: How does this differ from "Literary Cantonese"?
m["yue-wvc"] = {
"Written vernacular Cantonese",
nil,
"yue",
}
-- FIXME: Temporary.
m["zhx-tai-wvc"] = {
"Written vernacular Taishanese",
nil,
"zhx-tai",
}
------------- Mandarin varieties -------------
-- FIXME: Temporary. NOTE: The Linguist List assigns the "w:Beijing dialect" (Wikidata 1147606) the code "cmn-bej" and
-- the larger "w:Beijing Mandarin (division of Mandarin)" dialect group (Wikidata 2169652; what we call "Beijingic
-- Mandarin", after Glottolog) the code "cmn-bei".
m["cmn-bei"] = {
"Beijing Mandarin",
1147606,
"cmn-bec",
}
-- FIXME: Temporary.
m["cmn-bec"] = {
"Beijingic Mandarin",
2169652,
"cmn",
}
-- FIXME: Temporary. NOTE: The Linguist List uses the code cmn-zho.
m["cmn-cep"] = {
"Central Plains Mandarin",
3048775,
"cmn",
aliases = {"Zhongyuan Mandarin"},
}
m["cmn-ear"] = {
"Early Mandarin",
837169,
"cmn",
ancestors = "ltc",
}
-- FIXME: Temporary.
m["cmn-gua"] = {
"Guanzhong Mandarin",
3431648,
"cmn-cep",
}
-- FIXME: Temporary. Appears to be a subdialect of Guiliu Mandarin, which in turn is a subdialect of Southwestern Mandarin.
m["cmn-gui"] = {
"Guilin Mandarin",
11111636,
"cmn-sow",
}
m["cmn-jhu"] = {
"Jianghuai Mandarin",
2128953,
"cmn",
aliases = {"Lower Yangtze Mandarin"},
}
-- FIXME: Temporary.
m["cmn-lan"] = {
"Lanyin Mandarin",
662754,
"cmn",
}
-- FIXME: Temporary.
m["cmn-MY"] = {
"Malaysian Mandarin",
13646143,
"cmn",
}
-- FIXME: Temporary.
m["cmn-nan"] = {
"Nanjing Mandarin",
2681098,
"cmn-jhu",
}
-- FIXME: Temporary.
m["cmn-noe"] = {
"Northeastern Mandarin",
1064504,
"cmn",
}
-- FIXME: Temporary.
m["cmn-PH"] = {
"Philippine Mandarin",
7185155,
"cmn",
}
-- FIXME: Temporary.
m["cmn-SG"] = {
"Singapore Mandarin",
1048980,
"cmn",
}
-- FIXME: Temporary.
m["cmn-sow"] = {
"Southwestern Mandarin",
2609239,
"cmn",
}
-- FIXME: Temporary. Appears to be a subdialect of Jilu Mandarin.
m["cmn-tia"] = {
"Tianjin Mandarin",
7800220,
"cmn",
}
-- FIXME: Temporary. NOTE: Wikidata also has Q4380827 "Taiwanese Mandarin", defined as "rare dialect of Standard Chinese
-- (Mandarin) used in Taiwan, which is strongly influenced by Taiwanese Hokkien; mostly used by elderlies" and having no
-- English Wikipedia article (but see w:zh:臺灣國語).
m["cmn-TW"] = {
"Taiwanese Mandarin",
262828,
"cmn",
}
-- FIXME: Temporary. Appears to be a subdialect of Wu-Tian Mandarin, in turn a subdialect of Southwestern Mandarin.
-- Given the code cmn-xwu in the Linguist List.
m["cmn-wuh"] = {
"Wuhan Mandarin",
11124731,
"cmn-sow",
aliases = {"Wuhanese"},
}
-- FIXME: Temporary. Appears to be a subdialect of Lanyin Mandarin.
m["cmn-xin"] = {
"Xining Mandarin",
nil,
"cmn-lan",
}
-- FIXME: Temporary.
m["cmn-yan"] = {
"Yangzhou Mandarin",
nil,
"cmn-jhu",
}
------------- Cantonese varieties -------------
-- FIXME: Temporary.
m["yue-gua"] = {
"Guangzhou Cantonese",
nil,
"yue",
}
-- FIXME: Temporary. Given the codes yue-yue or yue-can in the Linguist List.
m["yue-HK"] = {
"Hong Kong Cantonese",
5894342,
"yue",
}
-- FIXME: Temporary. FIXME: How does this differ from "Written vernacular Cantonese"?
m["yue-lit"] = {
"Literary Cantonese",
2472605,
"yue",
}
------------- Wu varieties -------------
m["wuu-han"] = {
"Hangzhounese",
5648144,
"wuu",
}
m["wuu-nin"] = {
"Ningbonese",
3972199,
"wuu",
}
-- FIXME: Temporary.
m["wuu-nor"] = {
"Northern Wu",
7675988,
"wuu",
aliases = {"Taihu Wu"},
}
-- FIXME: Temporary? Subvariety of Taihu Wu. NOTE: "chm" stands for Chongming, the main dialect, to avoid a conflict
-- with Shanghainese.
m["wuu-chm"] = {
"Shadi Wu",
6112340,
"wuu-nor",
}
m["wuu-sha"] = {
"Shanghainese",
36718,
"wuu-nor",
}
m["wuu-suz"] = {
"Suzhounese",
831744,
"wuu-nor",
}
-- FIXME: Temporary. May be converted into a full language and/or split.
m["wuu-wen"] = {
"Wenzhounese",
710218,
"wuu",
}
------------- Xiang varieties -------------
m["hsn-lou"] = {
"Loudi Xiang",
10943823,
"hsn-old",
}
m["hsn-hya"] = {
"Hengyang Xiang",
20689035,
"hsn-hzh",
}
m["hsn-hzh"] = {
"Hengzhou Xiang",
nil,
"hsn",
}
m["hsn-new"] = {
"New Xiang",
7012696,
"hsn",
aliases = {"Chang-Yi"},
}
m["hsn-old"] = {
"Old Xiang",
7085453,
"hsn",
aliases = {"Lou-Shao"},
}
------------- Hakka varieties -------------
-- FIXME: Temporary.
m["hak-dab"] = {
"Dabu Hakka",
19855566,
"hak", -- formerly hak-TW but seems to be spoken primary in Dabu County in Guangdong
}
-- FIXME: Temporary.
m["hak-eam"] = {
"Early Modern Hakka",
nil,
"hak",
}
-- FIXME: Temporary.
m["hak-hai"] = {
"Hailu Hakka",
17038519,
"hak", -- often considered a Taiwanese lect but also spoken in [[Shanwei]], [[Guangdong]]
}
-- FIXME: Temporary.
m["hak-HK"] = {
"Hong Kong Hakka",
2675834,
"hak",
}
-- FIXME: Temporary.
m["hak-hui"] = {
"Huiyang Hakka",
16873881,
"hak",
}
-- FIXME: Temporary.
m["hak-hui-MY"] = {
"Malaysian Huiyang Hakka",
nil,
"hak-hui",
}
-- FIXME: Temporary. Similar to and possibly the parent of Sixian Hakka in Taiwan.
m["hak-mei"] = {
"Meixian Hakka",
839295,
"hak",
aliases = {"Moiyan Hakka", "Meizhou Hakka"},
}
-- FIXME: Temporary.
m["hak-six"] = {
"Sixian Hakka",
9668261,
"hak-TW",
}
-- FIXME: Temporary.
m["hak-TW"] = {
"Taiwanese Hakka",
2391532,
"hak",
}
-- FIXME: Temporary.
m["hak-zha"] = {
"Zhao'an Hakka",
6703311,
"hak",
aliases = {"Zhangzhou Hakka"},
}
-- Southern Min varieties --
m["nan-anx"] = {
"Anxi Hokkien",
97064149,
"nan-qua",
}
m["nan-cha"] = {
"Changtai Hokkien",
nil,
"nan-zha",
}
m["nan-hou"] = {
"Houlu Min",
19855492,
"nan-dat",
}
m["nan-hui"] = {
"Hui'an Hokkien",
16241797,
"nan-qua",
}
m["nan-jin"] = {
"Jinjiang Hokkien",
11089375,
"nan-qua",
}
m["nan-kin"] = {
"Kinmenese Hokkien",
56278342,
"nan-xia",
aliases = {"Kinmen Hokkien"},
}
m["nan-med"] = {
"Medan Hokkien",
6805114,
"nan-zha",
}
m["nan-pen"] = {
"Penang Hokkien",
11120689,
"nan-zha",
}
m["nan-hbl-PH"] = {
"Philippine Hokkien",
3236692,
"nan-qua",
}
m["nan-qia"] = {
"Qianlu Min",
19842517,
"nan-dat",
}
m["nan-qua"] = {
"Quanzhou Hokkien",
2251677,
"nan-hbl",
aliases = {"Chinchew", "Choanchew"},
}
-- FIXME: Temporary? Derived from both Quanzhou and Zhangzhou Hokkien.
m["nan-hbl-SG"] = {
"Singapore Hokkien",
3846528,
"nan-hbl",
}
m["nan-spm"] = {
"Southern Malaysian Hokkien",
7570322,
"nan-qua",
aliases = {"Southern Malaysia Hokkien", "Southern Peninsular Malaysian Hokkien", "Southern Peninsular Malaysia Hokkien"}
}
m["nan-hbl-TW"] = {
"Taiwanese Hokkien",
36778,
"nan-hbl",
}
m["nan-ton"] = {
"Tong'an Hokkien",
nil,
"nan-xia",
}
m["nan-xia"] = {
"Xiamen Hokkien",
68744,
"nan-hbl",
aliases = {"Amoy", "Amoyese", "Amoynese", "Xiamenese"},
}
m["nan-yon"] = {
"Yongchun Hokkien",
65118728,
"nan-qua",
}
m["nan-zha"] = {
"Zhangzhou Hokkien",
8070492,
"nan-hbl",
aliases = {"Changchew", "Chiangchew", "Changchow"},
}
m["nan-zho"] = {
"Zhao'an Hokkien",
65118728,
"nan-zha",
aliases = {"Zhao'an", "Chawan", "Chawan Hokkien"},
}
m["nan-zhp"] = {
"Zhangping Hokkien",
15937822,
"nan-zha",
}
------------- Other Min varieties -------------
-- FIXME: Temporary. Affiliation within Min uncertain; some combination of Eastern and Southern.
m["zhx-zho"] = {
"Zhongshan Min",
8070958,
"zh",
}
------------- Other Chinese varieties -------------
-- FIXME: Temporary. Affiliation within Chinese uncertain; possibly Yue.
m["zhx-dan"] = {
"Danzhou Chinese",
2578935,
"zh",
}
------------- Chinese romanization varieties -------------
-- [[Wiktionary:Information desk/2022/June#Etymology Coding Issue]]
-- [[Wiktionary:Grease pit/2022/June#Transliteration Systems in Etymologies 2]]
m["cmn-pinyin"] = {
"Hanyu Pinyin",
42222,
"cmn",
aliases = {"Pinyin"},
}
m["cmn-tongyong"] = {
"Tongyong Pinyin",
700739,
"cmn",
}
m["cmn-wadegiles"] = {
"Wade–Giles",
208442,
"cmn",
aliases = {"Wade-Giles", "Wade Giles"},
}
m["zh-postal"] = {
"Postal Romanization",
151868,
"zh",
}
-- Chinese cyrillization
m["cmn-palladius"] = {
"Palladius",
1234239,
"cmn",
aliases = {"Palladius system"},
}
-----------------------------------------------------
-- Tibetic varieties --
-----------------------------------------------------
m["adx"] = {
"Amdo Tibetan",
56509,
"bo",
}
m["kbg"] = {
"Khamba",
12952626,
"bo",
}
m["khg"] = {
"Khams Tibetan",
56601,
"bo",
}
m["tsk"] = {
"Tseku",
11159532,
"bo",
}
----------------------------------------------------------------------------------------------------------------------
-- Tai-Kadai varieties --
----------------------------------------------------------------------------------------------------------------------
m["th-old"] = {
"သေံတြေံ",
nil,
"tai-swe-pro",
wikipedia_article = "Thai language#Old Thai",
}
m["th-suk"] = {
"သူခိုဝ်ထိုၚ် သေံတြေံ", -- 1238-1438. Cannot use "Sukhothai Thai" as Sukhothai is the current city and "Sukhothai Thai" is a lect.
nil,
"th-old",
aliases = {"Sukhothai Siamese"},
wikipedia_article = "Thai language#Old Thai",
}
m["th-ayu"] = {
"အယုဒ္ဓယ သေံတြေံ", -- 1351-1767. Cannot use "Ayutthaya Thai" as Ayutthaya is the current city.
nil,
"th-old",
aliases = {"Ayutthaya Siamese"},
wikipedia_article = "Thai language#Old Thai",
}
--[[
m["th-new"] = {
"Hacked Thai", -- temporary for testing new translit/display methods
nil,
"th",
translit = "User:Benwing2/th-scraping-translit",
display_text = "User:Benwing2/th-scraping-translit",
strip_diacritics = "User:Benwing2/th-scraping-translit",
preprocess_links = "User:Benwing2/th-scraping-translit",
}
]]
m["tai-shz"] = {
"Shangsi Zhuang",
13216,
"za",
}
----------------------------------------------------------------------------------------------------------------------
-- Turkic varieties --
----------------------------------------------------------------------------------------------------------------------
m["trk-cmn-pro"] = {
"Proto-Common Turkic",
1126028,
"trk-pro",
}
m["trk-ogr-pro"] = {
"Proto-Oghur",
1422731,
"trk-pro",
family = "trk-ogr",
}
m["trk-bul-pro"] = {
"Proto-Bulgar",
nil,
"trk-ogr-pro",
}
m["trk-ogz-pro"] = {
"Proto-Oghuz",
494600,
"trk-pro",
family = "trk-ogz",
aliases = {"Southwestern Common Turkic"},
}
m["crh-dbj"] = {
"Dobrujan Tatar",
12811566,
"crh",
aliases = {"Romanian Tatar"},
}
m["cv-ana"] = {
"Anatri Chuvash",
nil,
"cv",
aliases = {"Anatri", "Lower Chuvash"},
}
m["cv-mid"] = {
"Middle Chuvash",
nil,
"cv",
ancestors = "cv-old",
}
m["cv-old"] = {
"Old Chuvash",
nil,
"cv",
ancestors = "xbo-vol",
}
m["cv-vir"] = {
"Viryal Chuvash",
4278332,
"cv",
aliases = {"Viryal", "Upper Chuvash"},
}
m["kjh-fyu"] = {
"Fuyu Kyrgyz",
2598963,
"kjh",
aliases = {"Fuyu Kirgiz", "Fuyu Kirghiz", "Manchurian Kyrgyz", "Manchurian Kirgiz", "Manchurian Kirghiz"},
}
m["klj-arg"] = {
"Arghu",
33455,
"klj",
ancestors = "trk-cmn-pro",
}
m["otk-kir"] = {
"Old Kirghiz",
83142,
"otk",
aliases = {"Yenisei Turkic", "Yenisei Kyrgyz"},
}
m["otk-ork"] = {
"Orkhon Turkic",
31295480,
"otk",
}
m["qwm-cum"] = {
"Cuman",
1075050,
"qwm",
aliases = {"Kuman", "Polovtsian", "Polovcian"},
}
m["qwm-arm"] = {
"Armeno-Kipchak",
2027503,
"qwm",
ancestors = "qwm-cum",
aliases = {"Xıpçaχ tili", "Tatarça"},
}
m["qwm-mam"] = {
"Mamluk-Kipchak",
4279942,
"qwm",
aliases = {"Mameluk-Kipchak"},
}
m["az-cls"] = {
"Classical Azerbaijani",
nil,
"az",
aliases = {"Classical Azeri"},
}
m["qxq"] = {
"Qashqai",
13192,
"az",
aliases = {"Qaşqay", "Qashqayi", "Kashkai", "Kashkay"},
}
m["tr-CY"] = {
"Cypriot Turkish",
7917392,
"tr",
}
m["uz-afg"] = {
-- NOTE: has ISO 639-3 code uzs assigned to it.
"Afghan Uzbek",
1066787,
"uz",
aliases = {"Southern Uzbek"},
translit = "uz-afg-translit",
}
m["xbo-dan"] = {
"Danube Bulgar",
nil,
"xbo",
}
m["xbo-vol"] = {
"Volga Bulgar",
nil,
"xbo",
}
----------------------------------------------------------------------------------------------------------------------
-- Uralic varieties --
----------------------------------------------------------------------------------------------------------------------
m["fiu-pro"] = {
"ဖေန်နဝ်-ဥူဂရေတ်-အခိုက်ကၞာ",
79890,
"urj-pro",
}
m["urj-fpr-pro"] = {
"ဖေန်နဝ်-ပဵုမေတ်-အခိုက်ကၞာ",
nil,
"urj-pro",
}
m["krl-nor"] = {
"North Karelian",
125501196,
"krl",
}
m["krl-sou"] = {
"South Karelian",
129812730,
"krl",
}
m["mns-eas"] = {
"Eastern Mansi",
30311755,
"mns-cen",
}
m["mns-wes"] = {
"Western Mansi",
30311756,
"mns-cen",
}
----------------------------------------------------------------------------------------------------------------------
-- Yeneseian varieties --
----------------------------------------------------------------------------------------------------------------------
m["qfa-yke-pro"] = {
"Proto-Ketic",
nil,
"qfa-yen-pro",
family = "qfa-yke",
}
m["qfa-yko-pro"] = {
"Proto-Kottic",
nil,
"qfa-yen-pro",
family = "qfa-yko",
}
m["qfa-yrn-pro"] = {
"Proto-Arinic",
nil,
"qfa-yen-pro",
family = "qfa-yrn",
}
m["qfa-ypm-pro"] = {
"Proto-Pumpokolic",
nil,
"qfa-yen-pro",
family = "qfa-ypm",
}
----------------------------------------------------------------------------------------------------------------------
-- Miscellaneous varieties --
----------------------------------------------------------------------------------------------------------------------
m["mul-tax"] = {
"taxonomic name",
522190,
"mul",
}
-----------------------------------------------------
-- Elamite varieties --
-----------------------------------------------------
m["elx-old"] = {
"Old Elamite",
nil,
"elx",
}
m["elx-mid"] = {
"Middle Elamite",
nil,
"elx",
}
m["elx-neo"] = {
"Neo-Elamite",
nil,
"elx",
}
m["elx-ach"] = {
"Achaemenid Elamite",
nil,
"elx",
}
-----------------------------------------------------
-- Substrates --
-----------------------------------------------------
-- Pre-Roman substrates
m["qsb-ibe"] = {
"Paleo-Hispanic",
246801,
"und",
family = "qfa-sub",
aliases = {"Palaeo-Hispanic", "Paleohispanic", "Palaeohispanic", "Paleo-Iberian", "Palaeo-Iberian"},
}
m["qsb-bal"] = {
"Paleo-Balkan",
1815070,
"und",
family = "qfa-sub",
aliases = {"Palaeo-Balkan", "Paleobalkan", "Palaeobalkan"},
}
m["xaq"] = {
"Aquitanian",
500522,
"euq-pro",
family = "euq",
}
return require("Module:languages").finalizeData(m, "language", true)
eqd00had3b3sxs6ulnmw3i5v821818t
402262
402256
2026-10-01T05:46:33Z
Intobesa.bot
1035
Bot: ပွမကၠာဲစုတ်ယၟုနူဘာသာအၚ်္ဂလိက်
402262
Scribunto
text/plain
local m_langdata = require("Module:languages/data")
-- Loaded on demand, as it may not be needed (depending on the data).
local function u(...)
u = require("Module:string utilities").char
return u(...)
end
local c = m_langdata.chars
local p = m_langdata.puaChars
local s = m_langdata.shared
local m = {}
----------------------------------------------------------------------------------------------------------------------
-- Afroasiatic varieties --
----------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
-- Berber varieties --
--------------------------------------------------------------------------------------
m["shi-med"] = {
"Medieval Tashelhit",
34152,
"shi",
}
-- Tuareg lects
m["thv"] = {
"Tamahaq",
56703,
"tmh",
}
m["ttq"] = {
"ထာဝါလပ်မေတ်",
56390,
"tmh",
}
m["taq"] = {
"Tamasheq",
4670066,
"tmh",
}
m["thz"] = {
"ထေယျုက်",
56388,
"tmh",
}
m["thv-ght"] = {
"Ghat",
47012900,
"thv",
}
--------------------------------------------------------------------------------------
-- Cushitic varieties --
--------------------------------------------------------------------------------------
-- Oromo varieties
m["hae"] = {
"Harar Oromo",
5330355,
"om",
aliases = {"Eastern Oromo"},
}
m["gax"] = {
"Borana",
2910610,
"om",
aliases = {"Southern Oromo"},
}
m["orc"] = {
"Orma",
2919128,
"om",
}
m["ssn"] = {
"Waata",
3501553,
"om",
}
--------------------------------------------------------------------------------------
-- Egyptian varieties --
--------------------------------------------------------------------------------------
-----------------------------------------------------
-- Ancient Egyptian varieties --
-----------------------------------------------------
m["egy-old"] = {
"အဳဂျေပ်တြေံ",
447117,
"egy",
}
m["egy-mid"] = {
"အဳဂျေပ်လဒေါဝ်",
657330,
"egy",
aliases = {"Classical Egyptian"},
}
m["egy-nmi"] = {
"Neo-Middle Egyptian",
123735278,
"egy",
aliases = {"Égyptien de tradition", "Traditional Egyptian"},
}
m["egy-lat"] = {
"အဳဂျေပ်လဇုဲ",
1852329,
"egy",
}
-----------------------------------------------------
-- Coptic varieties --
-----------------------------------------------------
m["cop-akh"] = {
"Akhmimic Coptic",
125176464,
"cop",
aliases = {"Akhmimic"},
}
m["cop-boh"] = {
"Bohairic Coptic",
890733,
"cop",
aliases = {"Bohairic", "Memphitic Coptic", "Memphitic"},
}
m["cop-ggg"] = {
"Coptic Dialect G",
nil,
"cop",
aliases = {"Dialect G", "Mansuric Coptic", "Mansuric"},
}
m["cop-jjj"] = {
"Coptic Dialect J",
nil,
"cop",
}
m["cop-kkk"] = {
"Coptic Dialect K",
nil,
"cop",
}
m["cop-ppp"] = {
"Coptic Dialect P",
nil,
"cop",
aliases = {"Proto-Theban Coptic", "Palaeo-Theban Coptic"},
}
m["cop-fay"] = {
"Fayyumic Coptic",
1399115,
"cop",
aliases = {"Fayyumic", "Faiyumic Coptic", "Faiyumic", "Fayumic Coptic", "Fayumic",
"Bashmuric Coptic", "Bashmuric"},
}
m["cop-her"] = {
"Hermopolitan Coptic",
nil,
"cop",
aliases = {"Hermopolitan", "Coptic Dialect H", "Ashmuninic", "Ashmuninic Coptic"},
}
m["cop-lyc"] = {
"Lycopolitan Coptic",
nil,
"cop",
aliases = {
"Lycopolitan",
"Assiutic Coptic", "Asyutic Coptic", "Assiutic", "Asyutic",
"Lyco-Diospolitan Coptic", "Lyco-Diospolitan",
"Subakhmimic Coptic", "Subakhmimic"
},
}
m["cop-old"] = {
"Old Coptic",
115518040,
"cop",
}
m["cop-oxy"] = {
"Oxyrhynchite Coptic",
nil,
"cop",
aliases = {"Oxyrhynchite", "Mesokemic Coptic", "Mesokemic", "Middle Egyptian Coptic"},
}
m["cop-ply"] = {
"Proto-Lycopolitan Coptic",
nil,
"cop",
aliases = {"Coptic Dialect i", "Proto-Lyco-Diospolitan Coptic"},
}
m["cop-sah"] = {
"Sahidic Coptic",
2645851,
"cop",
aliases = {"Sahidic", "Saidic Coptic", "Saidic", "Thebaic Coptic", "Thebaic"},
}
--------------------------------------------------------------------------------------
-- Semitic varieties --
--------------------------------------------------------------------------------------
-----------------------------------------------------
-- Akkadian varieties --
-----------------------------------------------------
m["akk-old"] = {
"Old Akkadian",
nil,
"akk",
}
m["akk-obb"] = {
"Old Babylonian",
nil,
"akk",
}
m["akk-oas"] = {
"Old Assyrian",
nil,
"akk",
}
m["akk-mbb"] = {
"Middle Babylonian",
nil,
"akk",
}
m["akk-mas"] = {
"Middle Assyrian",
nil,
"akk",
}
m["akk-nbb"] = {
"Neo-Babylonian",
nil,
"akk",
}
m["akk-nas"] = {
"Neo-Assyrian",
nil,
"akk",
}
m["akk-lbb"] = {
"Late Babylonian",
nil,
"akk",
}
m["akk-stb"] = {
"Standard Babylonian",
nil,
"akk",
}
-----------------------------------------------------
-- Arabic varieties --
-----------------------------------------------------
m["jrb"] = {
"Judeo-Arabic",
37733,
"ar",
pseudo_families = "qfa-jew",
}
m["apc-leb"] = {
"Lebanese North Levantine Arabic",
1516642,
"apc",
aliases = {"Lebanese Arabic"},
}
m["apc-sle"] = {
"South Lebanese North Levantine Arabic",
14206590,
"apc",
aliases = {"South Lebanese Arabic"},
}
m["apc-nle"] = {
"North Lebanese North Levantine Arabic",
nil,
"apc",
aliases = {"North Lebanese Arabic"},
}
m["apc-syr"] = {
"Syrian North Levantine Arabic",
2143071,
"apc",
aliases = {"Syrian Arabic"},
}
m["apc-ale"] = {
"Aleppine North Levantine Arabic",
7056921,
"apc-syr",
aliases = {"Aleppo Arabic", "Aleppine Arabic"},
}
m["apc-dam"] = {
"Damascene North Levantine Arabic",
12237466,
"apc-syr",
aliases = {"Damascus Arabic", "Damascene Arabic"},
}
m["acm-khu"] = {
"Khuzestani Arabic",
1040944,
"acm",
}
-----------------------------------------------------
-- Aramaic varieties --
-----------------------------------------------------
m["arc-bib"] = {
"Biblical Aramaic",
843235,
"arc",
family = "sem-are",
}
m["arc-cpa"] = {
"Christian Palestinian Aramaic",
60790119,
"arc",
family = "sem-arw",
aliases = {"Melkite Aramaic", "Palestinian Syriac", "Syropalestinian Aramaic"},
}
m["arc-imp"] = {
"Imperial Aramaic",
7079491,
"arc",
aliases = {"Official Aramaic"},
}
m["arc-hat"] = {
"Hatran Aramaic",
3832926,
"arc",
family = "sem-are",
}
m["arc-jla"] = {
"Jewish Literary Aramaic",
105952842,
"arc",
pseudo_families = "qfa-jew",
}
m["arc-nab"] = {
"Nabataean Aramaic",
36178,
"arc",
}
m["arc-old"] = {
"Old Aramaic",
3398392,
"arc",
}
m["arc-pal"] = {
"Palmyrene Aramaic",
1510113,
"arc",
family = "sem-arw",
}
m["tmr"] = {
"Jewish Babylonian Aramaic",
33407,
"arc",
family = "sem-ase",
pseudo_families = "qfa-jew",
}
m["jpa"] = {
"Jewish Palestinian Aramaic",
948909,
"arc",
family = "sem-arw",
aliases = {"Galilean Aramaic"},
pseudo_families = "qfa-jew",
}
-----------------------------------------------------
-- Hebrew varieties --
-----------------------------------------------------
m["hbo"] = {
"Biblical Hebrew",
1982248,
"he",
aliases = {"Classical Hebrew"},
}
m["he-mis"] = {
"Mishnaic Hebrew",
1649362,
"he",
ancestors = "hbo",
}
m["he-med"] = {
"Medieval Hebrew",
2712572,
"he",
ancestors = "he-mis",
}
m["he-IL"] = {
"Israeli Hebrew",
8141,
"he",
}
----------------------------------------------------------------------------------------------------------------------
-- Ainu varieties --
----------------------------------------------------------------------------------------------------------------------
m["ain-hok"] = {
"Hokkaido Ainu",
20968488,
"ain",
aliases = {"Hokkaidō Ainu"},
}
m["ain-kur"] = {
"Kuril Ainu",
20967012,
"ain",
}
m["ain-sak"] = {
"Sakhalin Ainu",
20747371,
"ain",
}
----------------------------------------------------------------------------------------------------------------------
-- American indigenous varieties --
----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------
-- Inuit varieties --
-----------------------------------------------------
m["esi"] = {
"North Alaskan Inupiatun",
nil,
"ik"
}
m["esk"] = {
"Northwest Alaskan Inupiatun",
25559714,
"ik"
}
-----------------------------------------------------
-- Iroquoian varieties --
-----------------------------------------------------
m["iro-ohu"] = {
"Old Wendat",
nil,
"wdt",
}
m["iro-omo"] = {
"Old Mohawk",
nil,
"moh",
}
m["iro-oon"] = {
"Old Onondaga",
nil,
"ono",
}
-----------------------------------------------------
-- Tupi-Guarani varieties --
-----------------------------------------------------
-- Old Tupi varieties
m["tpw-lga"] = {
"Língua Geral Amazônica",
18275323,
"tpw",
aliases = {"Língua Geral"},
}
m["tpw-lgp"] = {
"Língua Geral Paulista",
2669239,
"tpw",
}
----------------------------------------------------------------------------------------------------------------------
-- Austroasiatic varieties --
----------------------------------------------------------------------------------------------------------------------
-- Khmer varieties
m["okz-ang"] = {
"ခမေန်တြေံ အာန်ခေါဝ်ရဳယာန်",
nil,
"okz",
wikipedia_article = "Khmer language#Historical periods",
}
m["okz-pre"] = {
"ခမေန်တြေံ ကၠာ-အာန်ခေါဝ်ရဳယာန်",
nil,
"okz",
wikipedia_article = "Khmer language#Historical periods",
}
-- Central Nicobarese varieties
m["ncb-cam"] = {
"Camorta",
5026908,
"ncb",
aliases = {"Kamorta"},
}
m["ncb-kat"] = {
"Katchal",
17064263,
"ncb",
aliases = {"Tehnu"},
}
m["ncb-nan"] = {
"Nancowry",
6962504,
"ncb",
aliases = {"Nankwari"},
}
----------------------------------------------------------------------------------------------------------------------
-- Austronesian varieties --
----------------------------------------------------------------------------------------------------------------------
-- Malay and related varieties
m["ms-old"] = { -- this has the ISO code 'omy'
"Old Malay",
nil,
"ms",
}
m["ms-cla"] = {
"Classical Malay",
nil,
"ms",
ancestors = "ms-old",
}
m["pse-bsm"] = {
"Besemah",
nil,
"pse",
}
m["bew-kot"] = {
"Betawi Kota",
nil,
"bew",
aliases = {"Urban Betawi"}, -- in Jakarta
}
-- Philippine varieties
m["xnn"] = {
"Northern Kankanaey",
12953609,
"kne",
aliases = {"Northern Kankanay", "Northern Kankana-ey"},
}
m["tl-old"] = {
"Old Tagalog",
12967437,
"tl",
}
m["tl-cls"] = {
"Classical Tagalog",
nil,
"tl",
}
----------------------------------------------------------------------------------------------------------------------
-- Caucasian varieties --
----------------------------------------------------------------------------------------------------------------------
-- Kartvelian varieties
m["ka-mid"] = {
"Middle Georgian",
nil,
"ka",
ancestors = "oge",
}
----------------------------------------------------------------------------------------------------------------------
-- Dravidian varieties --
----------------------------------------------------------------------------------------------------------------------
m["ta-mid"] = {
"Middle Tamil",
20987434,
"ta",
}
m["kn-hav"] = {
"Havigannada",
24276369,
"kn",
}
m["kn-kun"] = {
"Kundagannada",
6444255,
"kn",
}
----------------------------------------------------------------------------------------------------------------------
-- Indo-European varieties --
----------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
-- Albanian varieties --
--------------------------------------------------------------------------------------
m["aln"] = {
"Gheg Albanian",
181037,
"sq",
aliases = {"Gheg"},
}
m["aae"] = {
"Arbëresh Albanian",
1075302,
"als",
aliases = {"Arbëreshë", "Arbëresh"},
}
m["aat"] = {
"Arvanitika Albanian",
29347,
"als",
aliases = {"Arvanitika"},
}
m["als"] = {
"Tosk Albanian",
180937,
"sq",
aliases = {"Tosk"},
}
--------------------------------------------------------------------------------------
-- Armenian varieties --
--------------------------------------------------------------------------------------
m["hyw"] = {
"Western Armenian",
180945,
"hy",
}
m["hye"] = {
"Eastern Armenian",
181059,
"hy",
}
--------------------------------------------------------------------------------------
-- Balto-Slavic varieties --
--------------------------------------------------------------------------------------
-------------------------------------------------------------------------
-- Baltic varieties --
-------------------------------------------------------------------------
m["bat-pro"] = {
"ဗေါဝ်တေတ်-အခိုက်ကၞာ",
1703347,
"ine-bsl-pro",
}
m["bat-dni"] = {
"Dnieper Baltic",
4163178,
"bat-pro",
family = "bat",
aliases = {"Dniepr Baltic", "Dnieper-Oka Baltic", "Dniepr-Oka Baltic"},
}
m["bat-gol"] = {
"Golyad",
4142855,
"bat-dni",
aliases = {"Eastern Galindian", "East Galindian"},
}
-------------------------------------------------------------------------
-- Slavic varieties --
-------------------------------------------------------------------------
-----------------------------------------------------
-- Bulgarian varieties --
-----------------------------------------------------
m["cu-bgm"] = {
"ဗူလ်ဂရဳယာန် လဒေါဝ်",
12294897,
"cu",
ancestors = "cu"
}
-----------------------------------------------------
-- Church Slavonic varieties --
-----------------------------------------------------
-- Old Moscow Church Slavonic deleted as it seems not distinct enough from Russian (Synodal) Church Slavonic.
m["zls-chs-ru"] = {
"Russian Church Slavonic",
21662400,
"zls-chs",
aliases = {"Synodal Church Slavonic", "New Moscow Church Slavonic", "Novomoskovsk Church Slavonic"},
}
m["zls-chs-uk"] = {
"Ukrainian Church Slavonic",
12153548,
"zls-chs",
aliases = {"Rusyn Church Slavonic", "Belarusian Church Slavonic"},
}
--[=[
-- Not sure about these yet.
m["zls-chs-bg"] = {
"Bulgarian Church Slavonic",
nil,
"zls-chs",
}
m["zls-chs-cs"] = {
"Czech Church Slavonic",
nil,
"zls-chs",
}
m["zls-chs-hr"] = {
"Croatian Church Slavonic",
nil,
"zls-chs",
}
m["zls-chs-mk"] = {
"Macedonian Church Slavonic",
nil,
"zls-chs",
}
m["zls-chs-ro"] = {
"Romanian Church Slavonic",
nil,
"zls-chs",
}
m["zls-chs-sr"] = {
"Serbian Church Slavonic",
nil,
"zls-chs",
}
]=]
-----------------------------------------------------
-- Czech varieties --
-----------------------------------------------------
m["cs-ear"] = {
"Early Modern Czech",
nil,
"cs",
ancestors = "zlw-ocs"
}
-----------------------------------------------------
-- East Slavic varieties --
-----------------------------------------------------
m["zle-ops"] = {
"Old Pskovian",
4167885,
"zle-ono",
}
m["zle-mru"] = {
"ရုသျှာ လဒေါဝ်",
35228,
"ru",
"Cyrs",
ancestors = "orv",
translit = "ru-translit",
strip_diacritics = {
Cyrs = {
remove_diacritics = c.grave .. c.acute .. c.diaer,
},
},
}
m["zle-mbe"] = {
"Middle Belarusian",
13211,
"zle-ort",
ancestors = "zle-ort",
}
m["zle-muk"] = {
"ယူကရိန် လဒေါဝ်",
13211,
"zle-ort",
ancestors = "zle-ort",
}
m["uk-CA"] = {
"Canadian Ukrainian",
4161010,
"uk",
}
m["crp-cpr-kya"] = {
"Kyakhta Chinese Pidgin Russian",
1062960,
"crp-cpr",
}
-----------------------------------------------------
-- Polish varieties --
-----------------------------------------------------
m["zlw-mpl"] = {
"ပဝ်လာန် လဒေါဝ်",
402878,
"pl",
ancestors = "zlw-opl",
strip_diacritics = {
remove_diacritics = c.acute,
remove_exceptions = {"Ć", "ć", "Ń", "ń", "Ó", "ó", "Ś", "ś", "Ź", "ź"},
},
}
m["pl-gre"] = {
"Greater Polish",
4106789,
"pl",
}
m["pl-les"] = {
"Lesser Polish",
361709,
"pl",
}
m["pl-mas"] = {
"Masovian Polish",
4274559,
"pl",
}
m["pl-gor"] = {
"Goral",
452889,
"pl",
}
-----------------------------------------------------
-- Serbo-Croatian varieties --
-----------------------------------------------------
m["ckm"] = {
"Chakavian Serbo-Croatian",
337565,
"sh",
aliases = {"Čakavian"},
}
m["kjv"] = {
"Kajkavian Serbo-Croatian",
838165,
"sh",
}
m["sh-tor"] = { -- Linguist code srp-tor
"Torlakian Serbo-Croatian",
1078803,
"sh",
aliases = {"Torlak"},
}
--------------------------------------------------------------------------------------
-- Celtic varieties --
--------------------------------------------------------------------------------------
-----------------------------------------------------
-- Brythonic varieties --
-----------------------------------------------------
m["bry-ear"] = {
"Early Brythonic",
nil,
"cel-bry-pro",
}
m["bry-lat"] = {
"Late Brythonic",
nil,
"cel-bry-pro",
}
-----------------------------------------------------
-- Gaulish varieties --
-----------------------------------------------------
m["xcg"] = {
"Cisalpine Gaulish",
3832927,
"cel-gau",
}
m["xtg"] = {
"Transalpine Gaulish",
29977,
"cel-gau",
}
-----------------------------------------------------
-- Welsh varieties --
-----------------------------------------------------
m["cy-nor"] = {
"North Wales Welsh",
13127692,
"cy",
aliases = {"North Walian Welsh", "Northern Welsh"},
}
m["cy-sou"] = {
"South Wales Welsh",
13127689,
"cy",
aliases = {"South Walian Welsh", "Southern Welsh"},
}
--------------------------------------------------------------------------------------
-- Germanic varieties --
--------------------------------------------------------------------------------------
-- Proto-West Germanic varieties
m["frk"] = {
"Frankish",
10860505,
"gmw-pro",
family = "gmw-frk",
aliases = {"Old Frankish"},
}
m["gem-sue"] = {
"Suevic",
134600275,
"gmw-pro",
aliases = {"Suebian"},
}
m["gmw-afr-pro"] = {
"Proto-Anglo-Frisian",
134603379,
"gmw-nsg-pro",
family = "gmw-afr",
}
m["gmw-nsg-pro"] = {
"Proto-North Sea Germanic",
134603374,
"gmw-pro",
family = "gmw-nsg",
aliases = {"Proto-Ingvaeonic"},
}
-----------------------------------------------------
-- Dutch varieties --
-----------------------------------------------------
m["nl-BE"] = {
"Belgian Dutch",
34147,
"nl",
aliases = {"Flemish", "Flemish Dutch", "Southern Dutch"},
}
-----------------------------------------------------
-- English and Scots varieties --
-----------------------------------------------------
-- English varieties
m["en-AU"] = {
"Australian English",
44679,
"en",
}
m["en-GB"] = {
"British English",
7979,
"en",
}
m["en-GB-SCT"] = {
"Scottish English",
1553250,
"en-GB",
}
m["en-GB-WLS"] = {
"Welsh English",
2363292,
"en-GB",
}
m["en-IM"] = {
"Manx English",
6753295,
"en-GB",
}
m["en-aae"] = {
"Australian Aboriginal English",
783347,
"en-AU",
}
m["en-ear"] = {
"Early Modern English",
1472196,
"en",
ancestors = "enm",
aliases = {"Early New English"},
}
m["en-geo"] = {
"Geordie",
653421,
"en",
ancestors = "enm-nor",
}
m["en-IE"] = { -- FIXME: "IE" doesn't cover Northern Ireland
"Irish English",
665624,
"en",
}
m["en-uls"] = {
"Ulster English",
6840826,
"en-IE",
}
m["en-GB-NIR"] = {
"Northern Irish English",
6840826, -- actually the code for Ulster English
"en-uls",
}
m["en-NNN"] = { -- NA = Namibia; NNN is NATO 3-letter code for North America
"North American English",
7053766,
"en",
ietf_subtag = "en-021" -- 021 = UN M49 code for "Northern America" (i.e. North America wihout Central America or the Caribbean)
}
m["en-US"] = {
"American English",
7976,
"en-NNN",
}
m["en-NZ"] = {
"New Zealand English",
44661,
"en"
}
m["en-ZA"] = {
"South African English",
1156228,
"en"
}
m["en-US-CA"] = {
"California English",
1026812,
"en-US",
}
m["en-CA"] = {
"Canadian English",
44676,
"en-US",
}
m["en-HK"] = {
"Hong Kong English",
1068863,
"en",
}
m["en-IN"] = {
"Indian English",
1348800,
"en",
}
m["pld"] = {
"Polari",
1359130,
"en",
}
-- Scots varieties
m["sco-ins"] = {
"Insular Scots",
16919205,
"sco",
}
m["sco-uls"] = {
"Ulster Scots",
201966,
"sco",
}
m["sco-nor"] = {
"Northern Scots",
16928150,
"sco",
}
m["sco-sou"] = {
"Southern Scots",
7570457,
"sco",
aliases = {"South Scots", "Borders Scots"},
}
-- Middle English varieties
m["enm-esc"] = { -- Part of Middle English until it developed into Middle Scots.
"Early Scots",
5326738,
"enm",
ancestors = "enm-nor",
aliases = {"Old Scots", "Scottish Middle English"},
}
m["enm-emi"] = {
"East Midland Middle English",
134238810,
"enm",
ancestors = "ang-ang", -- Technically ang-mer, but attested Mercian is mostly WM IIRC
}
m["enm-ken"] = {
"Kentish Middle English",
134238532,
"enm",
ancestors = "ang-ken",
}
m["enm-nor"] = {
"Northern Middle English",
134238541,
"enm",
ancestors = "ang-nor",
}
m["enm-sou"] = {
"Southern Middle English",
134238528,
"enm",
ancestors = "ang-wsx",
}
m["enm-wmi"] = {
"West Midland Middle English",
134238824,
"enm",
ancestors = "ang-mer",
}
-- Old English varieties
-- Includes both Mercian and Northumbrian.
m["ang-ang"] = {
"Anglian Old English",
121142917,
"ang",
}
m["ang-ken"] = {
"Kentish Old English",
11687485,
"ang",
}
m["ang-mer"] = {
"Mercian Old English",
602072,
"ang-ang",
}
m["ang-nor"] = {
"Northumbrian Old English",
1798915,
"ang-ang",
}
m["ang-wsx"] = {
"West Saxon Old English",
2658603,
"ang",
}
-----------------------------------------------------
-- High German varieties --
-----------------------------------------------------
-- (modern) German varieties
m["de-AT"] = {
"Austrian German",
306626,
"de",
}
m["de-AT-vie"] = {
"Viennese German",
56474,
"de-AT",
}
m["de-CH"] = {
"Switzerland German",
1366643,
"de",
aliases = {"Schweizer Hochdeutsch", "Swiss Standard German", "Swiss High German"},
}
m["de-bal"] = {
"Baltic German",
15785413,
"de",
}
m["de-ear"] = {
"Early New High German",
1472199,
"de",
ancestors = "gmh",
aliases = {"Early Modern High German"},
}
m["ksh"] = {
"Kölsch",
4624,
"gmw-cfr",
}
m["pfl"] = {
"Palatine German",
23014,
"gmw-rfr",
aliases = {"Pfälzisch", "Pälzisch", "Palatinate German"},
}
m["sli"] = {
"Silesian East Central German",
152965,
"gmw-ecg",
aliases = {"Silesian"},
}
m["sxu"] = {
"Upper Saxon German",
699284,
"gmw-ecg",
}
-- Old High German varieties
m["lng"] = {
"Lombardic",
35972,
"goh",
}
-- Alemannic German varieties
m["gsw-low"] = {
"Low Alemannic German",
503724,
"gsw",
}
m["gsw-FR-als"] = {
"Alsatian Alemannic German",
8786,
"gsw-low",
}
m["gsw-hig"] = {
"High Alemannic German",
503728,
"gsw",
}
m["gsw-hst"] = {
"Highest Alemannic German",
687538,
"gsw",
}
m["wae"] = {
"Walser German",
680517,
"gsw-hst",
}
-----------------------------------------------------
-- Low German varieties --
-----------------------------------------------------
m["nds-de"] = {
"German Low German",
25433,
"nds",
ietf_subtag = "nds-DE", -- should we make this the actual code?
wikimedia_codes = "nds",
}
m["nds-nl"] = {
"Dutch Low Saxon",
516137,
"nds",
ietf_subtag = "nds-NL", -- should we make this the actual code?
wikimedia_codes = "nds-nl",
}
m["act"] = {
"Achterhoeks",
153627,
"nds-nl",
aliases = {"Achterhoek", "Achterhooks"},
}
m["drt"] = {
"Drents",
2736709,
"nds-nl",
aliases = {"Drèents", "Dreins", "Dreints", "Drints"},
}
m["frs"] = {
"East Frisian Low German",
149208,
"nds-de",
aliases = {"East Frisian", "East Frisian Low Saxon"},
}
m["gos"] = {
"Gronings",
508854,
"nds-nl",
aliases = {"Grunnegs", "Grönnegs"},
}
m["nds-lpr"] = {
"Low Prussian",
33982,
"nds-de",
}
m["sdz"] = {
"Sallands",
3436668,
"nds-nl",
aliases = {"Sallaans", "Sallaands"},
}
m["stl"] = {
"Stellingwerfs",
506010,
"nds-nl",
aliases = {"Stellingwarfs"},
}
m["twd"] = {
"Twents",
497363,
"nds-nl",
aliases = {"Tweants"},
}
m["vel"] = {
"Veluws",
2484810,
"nds-nl",
}
m["wep"] = {
"Westphalian",
505655,
"nds-de",
aliases = {"Westfalish", "Westphalien"},
}
-----------------------------------------------------
-- North Frisian varieties --
-----------------------------------------------------
m["frr-ins"] = {
"Insular North Frisian",
110629610,
"frr",
}
m["frr-fam"] = {
"Föhr-Amrum North Frisian",
110629601,
"frr-ins",
}
m["frr-foh"] = {
"Föhr North Frisian",
28185,
"frr-fam",
aliases = {"Föhr Frisian", "Fering",
"Ferring", -- Glottolog
},
varieties = {"Aasdring", "Weesdring"},
}
m["frr-amr"] = {
"Amrum North Frisian",
28192,
"frr-fam",
aliases = {"Amrum Frisian", "Amrum", "Öömrang"},
}
m["frr-hel"] = {
"Heligoland North Frisian",
28086,
"frr-ins",
aliases = {"Heligoland Frisian", "Halunder", "Heligolandic Frisian", "Heligolandic North Frisian",
"Helgoland Frisian", "Helgoland North Frisian", "Helgoland"},
}
m["frr-syl"] = {
"Sylt North Frisian",
28181,
"frr-ins",
aliases = {"Sylt Frisian", "Söl'ring",
"Sölreng", -- Glottolog
},
}
m["frr-mai"] = {
"Mainland North Frisian",
110629626,
"frr",
}
m["frr-hal"] = {
"Halligen North Frisian",
28177,
"frr-mai",
aliases = {"Halligen Frisian", "Halifreesk", "Hallingen Frisian", "Hallingen North Frisian",
"Hallingen", -- Glottolog
},
}
m["frr-moo"] = {
"Mooring North Frisian",
28187,
"frr-mai",
aliases = {"Bökingharde North Frisian", "Bökingharde Frisian", "Böökinghiirder frasch",
"Mooring", "Moring",
},
varieties = {{"East Mooring", "Ostermooring"}, {"West Mooring", "Westermooring"}},
}
m["frr-kar"] = {
"Karrharde North Frisian",
28191,
"frr-mai",
aliases = {"Karrharde Frisian", "Karrharder",
},
}
m["frr-goe"] = {
-- Technically this refers to three adjacent dialects (Northern, Central and Southern), the latter of which went
-- extinct in 1980-1981. As a result, Glottolog speaks of "Norder-Mittelgoesharde", referring to the remaining two.
"Goesharde North Frisian",
28183,
"frr-mai",
aliases = {"Norder-Mittelgoesharde North Frisian", "Norder-Mittelgoesharde Frisian", "Norder-Mittelgoesharde",
"Goesharde Frisian", "Goesharde", "Gooshiirder",
},
}
m["frr-wie"] = {
"Wiedingharde North Frisian",
28171,
"frr-mai",
aliases = {"Wiedingharde Frisian", "Wiedingharde", "Wiringhiirder freesk",
},
}
-----------------------------------------------------
-- Old Norse varieties --
-----------------------------------------------------
m["non-grn"] = {
"Greenlandic Norse",
855236,
"non-own",
}
m["non-oen"] = {
"Old East Norse",
10498031,
"non",
ancestors = "non",
}
m["non-own"] = {
"Old West Norse",
2377483,
"non",
ancestors = "non",
}
-----------------------------------------------------
-- Old Swedish varieties --
-----------------------------------------------------
m["gmq-osw-lat"] = {
"Late Old Swedish",
10723594,
"gmq-osw",
ancestors = "gmq-osw",
}
--------------------------------------------------------------------------------------
-- Greek varieties --
--------------------------------------------------------------------------------------
m["qsb-grc"] = {
"Pre-Greek",
965052,
"und",
family = "qfa-sub",
}
m["grc-aeo"] = {
"Aeolic Greek",
406373,
"grc",
aliases = {"Lesbic Greek", "Lesbian Greek", "Aeolian Greek"},
}
m["grc-arc"] = {
"Arcadian Greek",
nil,
"grc-arp",
}
m["grc-arp"] = {
"Arcadocypriot Greek",
499602,
"grc",
}
m["grc-att"] = {
"Attic Greek",
506588,
"grc",
}
m["grc-boi"] = {
"Boeotian Greek",
406373,
"grc-aeo",
}
m["grc-cyp"] = {
"Cypriot Ancient Greek", -- to distinguish from Cypriot Greek below
nil,
"grc-arp",
}
m["grc-dor"] = {
"Doric Greek",
285494,
"grc",
}
m["grc-ela"] = {
"Elean Greek",
nil,
"grc",
}
m["grc-epi"] = {
"Epic Greek",
990062,
"grc",
aliases = {"Homeric Greek"},
}
m["grc-ion"] = {
"Ionic Greek",
504165,
"grc",
}
m["grc-koi"] = {
"ဂရေတ် ခါဝ်အိန်",
107358,
"grc",
ancestors = "grc-att",
aliases = {"Hellenistic Greek"},
}
m["grc-kre"] = {
"Cretan Ancient Greek", -- to distinguish from Cretan Greek below
nil,
"grc-dor",
}
m["grc-opl"] = {
"Opuntian Locrian",
nil,
"grc",
}
m["grc-ozl"] = {
"Ozolian Locrian",
nil,
"grc",
}
m["grc-pam"] = {
"Pamphylian Greek",
2271793,
"grc",
}
m["grc-ths"] = {
"Thessalian Greek",
406373,
"grc-aeo",
}
m["gkm"] = {
"ဂရေတ် ဗေတ်သေန်ထေၚ်",
36387,
"grc",
ancestors = "grc-koi",
aliases = {"Medieval Greek"},
}
m["el-cyp"] = {
"Cypriot Greek",
245899,
"el",
aliases = {"Cypriotic Greek"},
}
m["el-pap"] = {
"Paphian Greek",
nil,
"el",
}
m["el-crt"] = {
"Cretan Greek",
588306,
"el",
}
m["el-kth"] = {
"Katharevousa",
35961,
"el",
"Polyt",
ancestors = "gkm",
aliases = {"Katharevousa Greek"},
-- Polyt display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["el-kal"] = {
"Kaliarda",
12878658,
"el",
}
--------------------------------------------------------------------------------------
-- Indo-Iranian varieties --
--------------------------------------------------------------------------------------
-------------------------------------------------------------------------
-- Indo-Aryan varieties --
-------------------------------------------------------------------------
-- reconstructed intermediate stages
m["pra-pro"] = {
"Proto-New Indo-Aryan",
nil,
"pra",
}
m["inc-ash-pro"] = {
"Proto-Middle Indo-Aryan",
nil,
"inc-ash",
}
m["inc-mit"] = {
"Mitanni",
1986700,
"inc-pro",
}
m["bra-old"] = {
"Old Braj",
nil,
"bra",
}
-- Apabhramsas
m["inc-aav"] = {
"အဝဟတာ",
nil,
"inc-apa",
aliases = {"Abahattha"},
}
m["inc-asa"] = {
"သဥူရေသဳနဳ အာပ်ပါပရာမ်သာ",
nil,
"inc-apa",
}
m["inc-agu"] = {
"ဂူဂျာရာ အာပ်ပါပရာမ်သာ",
nil,
"inc-apa",
}
m["inc-aka"] = {
"ခေပ်သမဳရဳ အာပ်ပါပရာမ်သာ",
nil,
"inc-apa",
}
m["inc-ama"] = {
"မဟာရာတ်သပ်ထရဳ အာပ်ပါပရာမ်သာ",
nil,
"inc-apa",
}
m["inc-ata"] = {
"တာကာ အာပ်ပါပရာမ်သာ",
nil,
"inc-apa",
}
m["inc-avr"] = {
"ဝရာခါဒါ အာပ်ပါပရာမ်သာ",
nil,
"inc-apa",
}
-- Assamese varieties
m["as-bkm"] = {
"Barpetia Kamrupi Assamese",
30642960,
"as",
}
m["as-nkm"] = {
"Nalbaria Kamrupi Assamese",
85787678,
"as",
}
m["as-pkm"] = {
"Palasbaria Kamrupi Assamese",
nil,
"as",
}
-- Bengali varieties
m["bn-dvn"] = {
"Dhakaiya Vaṅga Bengali",
48726851,
"bn", -- Eastern Bengali variety
}
m["bn-nvn"] = {
"Noakhailla Vaṅga Bengali",
107548681,
"bn", -- Eastern Bengali variety
}
-- Dhivehi varieties
m["dv-old"] = {
"Old Dhivehi",
117790875,
"dv",
}
m["dv-mul"] = {
"Mulaku Dhivehi",
nil,
"dv",
aliases = {"Mulaku Divehi", "Mulaku Bas"},
}
m["dv-huv"] = {
"Huvadhu Dhivehi",
nil,
"dv",
aliases = {"Huvadhu Divehi", "Huvadhu Bas"},
}
m["dv-add"] = {
"Addu Dhivehi",
nil,
"dv",
aliases = {"Addu Divehi", "Addu Bas"},
}
-- Gujarati varieties
m["gu-kat"] = {
"Kathiyawadi",
nil,
"gu",
aliases = {"Kathiyawadi Gujarati", "Kathiawadi"},
}
m["gu-lda"] = {
"Lisan ud-Dawat Gujarati",
nil,
"gu",
aliases = {"Lisan ud-Dawat", "LDA"},
}
-- Hindi varieties
m["hi-mum"] = {
"Bombay Hindi",
3543151,
"hi",
aliases = {"Mumbai Hindi", "Bambaiyya Hindi"},
}
m["hi-mid"] = {
"Middle Hindi",
nil,
"inc-ohi",
ancestors = "inc-ohi",
}
-- Konkani varieties
m["kok-mid"] = {
"Middle Konkani",
nil,
"kok",
aliases = {"Medieval Konkani"},
}
m["kok-old"] = {
"Old Konkani",
nil,
"kok",
aliases = {"Early Konkani"},
}
-- Prakrits
m["pra-ard"] = {
"အာတ်ဓၟဂါတ်ဒဳ ပရာကရေတ်",
35217,
"pra",
aliases = {"Ardhamagadhi"},
}
m["pra-hel"] = {
"ဟေဠူ ပရာကရေတ်",
15080869,
"pra",
aliases = {"Elu", "Elu Prakrit", "Helu"},
}
m["pra-kha"] = {
"ခါဿာ ပရာကရေတ်",
nil,
"pra",
aliases = {"Khasa"},
}
m["pra-mag"] = {
"မဂ္ဂဒိ ပရာကရေတ်", -- Not to be confused with Magahi (mag)
2652214,
"pra",
aliases = {"Magadhi"},
}
m["pra-mah"] = {
"မဟာရာတ်ထရဳ ပရာကရေတ်",
2586773,
"pra",
aliases = {"Maharashtri Prakrit", "Maharastri", "Maharashtri"},
}
m["pra-pai"] = {
"ပါအေတ်သာသဳ ပရာကရေတ်",
2995607,
"pra-sau",
aliases = {"Paisaci", "Paisachi"},
ancestors = "pra-sau"
}
m["pra-sau"] = {
"သောရာသေနဳ ပရာကရေတ်",
2452885,
"pra",
aliases = {"Sauraseni", "Shauraseni"},
}
m["pra-ava"] = {
"အဗါန်တဳ",
nil,
"pra",
aliases = {"Avanti Prakrit"},
}
m["pra-pra"] = {
"ပရာသဳယျာ",
nil,
"pra",
aliases = {"Pracya Prakrit"},
}
m["pra-bah"] = {
"ပါလိကဳ",
nil,
"pra",
aliases = {"Bahliki Prakrit"},
}
m["pra-dak"] = {
"ထေတ်သဳနတာယျ",
nil,
"pra",
aliases = {"Daksinatya Prakrit"},
}
m["pra-sak"] = {
"သာကာရဳ",
nil,
"pra",
aliases = {"Sakari Prakrit"},
}
m["pra-can"] = {
"ခေန်ဒါလဳ",
nil,
"pra",
aliases = {"Candali Prakrit"},
}
m["pra-sab"] = {
"သာဗါရဳ",
nil,
"pra",
aliases = {"Sabari Prakrit"},
}
m["pra-abh"] = {
"အဖိရဳ",
nil,
"pra",
aliases = {"Abhiri Prakrit"},
}
m["pra-dra"] = {
"ဒရာမဳလဳ",
nil,
"pra",
aliases = {"Dramili Prakrit"},
}
m["pra-odr"] = {
"အဝ်ဒရဳ",
nil,
"pra",
aliases = {"Odri Prakrit"},
}
-- Punjabi varieties
m["pnb"] = {
"Western Punjabi",
58635,
"pa",
"pa-Arab",
}
-- Sanskrit varieties
m["vsn"] = {
"Vedic Sanskrit",
36858,
"sa",
}
m["cls"] = {
"Classical Sanskrit",
9333703,
"sa",
}
m["sa-bhs"] = {
"Buddhist Hybrid Sanskrit",
248758,
"sa",
}
m["sa-bra"] = {
"Brahmanic Sanskrit",
139822891,
"vsn",
}
m["sa-epi"] = {
"Epic Sanskrit",
56702805,
"cls",
}
m["sa-neo"] = {
"New Sanskrit",
nil,
"sa",
}
m["sa-rig"] = {
"Rigvedic Sanskrit",
139822680,
"vsn",
}
-- Sinhalese varieties
m["si-med"] = {
"Medieval Sinhalese",
nil,
"si",
aliases = {"Medieval Sinhala"},
}
-------------------------------------------------------------------------
-- Iranian varieties --
-------------------------------------------------------------------------
m["qsb-bma"] = {
"the BMAC substrate",
133187435,
"und",
family = "qfa-sub",
aliases = {"the Bactria-Margiana substrate", "the Bactria-Margiana Archaeological Complex substrate"},
}
-- Historical and current Iranian dialects
m["ae-old"] = {
"Old Avestan",
29572,
"ae",
aliases = {"Gathic Avestan"},
}
m["ae-yng"] = {
"Younger Avestan",
29572,
"ae-old",
aliases = {"Young Avestan"},
}
m["bcc"] = {
"Southern Balochi",
33049,
"bal",
aliases = {"Southern Baluchi"},
}
m["bgp"] = {
"Eastern Balochi",
33049,
"bal",
aliases = {"Eastern Baluchi"},
}
m["bgn"] = {
"Western Balochi",
33049,
"bal",
aliases = {"Western Baluchi"},
}
m["bsg-ban"] = {
"Bandari",
nil,
"bsg",
}
m["bsg-hor"] = {
"Hormozi",
nil,
"bsg",
}
m["bsg-min"] = {
"Minabi",
nil,
"bsg",
}
m["kho-old"] = {
"Old Khotanese",
nil,
"kho",
}
m["kho-lat"] = {
"Late Khotanese",
nil,
"kho-old",
}
m["peo-ear"] = {
"Early Old Persian",
nil,
"peo",
}
m["peo-lat"] = {
"Late Old Persian",
nil,
"peo",
}
m["pal-ear"] = {
"Early Middle Persian",
nil,
"pal",
}
m["pal-lat"] = {
"Late Middle Persian",
nil,
"pal",
ancestors = "pal-ear",
}
m["ps-nwe"] = {
"Northwestern Pashto",
nil,
"ps",
}
m["ps-cgi"] = {
"Central Ghilzay",
nil,
"ps-nwe",
}
m["ps-mah"] = {
"Mahsudi",
nil,
"ps-nwe",
}
m["ps-nea"] = {
"Northeastern Pashto",
nil,
"ps",
}
m["ps-afr"] = {
"Afridi",
nil,
"ps-nea",
}
m["ps-bng"] = {
"Bangash",
nil,
"ps-nea",
}
m["ps-xat"] = {
"Khatak",
nil,
"ps-nea",
}
m["ps-pes"] = {
"Peshawari",
nil,
"ps-nea",
}
m["ps-sea"] = {
"Southeastern Pashto",
nil,
"ps",
}
m["ps-ban"] = {
"Bannu",
nil,
"ps-sea",
}
m["ps-kak"] = {
"Kakari",
nil,
"ps-sea",
}
m["ps-ser"] = {
"Sher",
nil,
"ps-sea",
}
m["ps-waz"] = {
"Waziri",
12274473,
"ps-sea",
}
m["ps-swe"] = {
"Southwestern Pashto",
nil,
"ps",
}
m["ps-kan"] = {
"Kandahari",
nil,
"ps-swe",
}
m["ps-jad"] = {
"Jadrani",
nil,
"ps",
ancestors = "ira-pat-pro"
}
m["xme-azr"] = {
"Old Azari",
nil,
"xme-ott",
aliases = {"Old Azeri", "Azari", "Azeri", "Āḏarī", "Adari", "Adhari"},
}
m["xme-ttc-cen"] = {
"Central Tati",
nil,
"xme-ott",
}
m["xme-ttc-eas"] = {
"Eastern Tati",
nil,
"xme-ott",
}
m["xme-ttc-nor"] = {
"Northern Tati",
nil,
"xme-ott",
}
m["xme-ttc-sou"] = {
"Southern Tati",
nil,
"xme-ott",
}
m["xme-ttc-wes"] = {
"Western Tati",
nil,
"xme-ott",
}
m["xmn"] = {
"Manichaean Middle Persian",
nil,
"pal-lat",
}
m["fa-ear"] = {
"Early New Persian",
127413796,
"fa",
ancestors = "pal-lat",
translit = "fa-cls-translit",
}
m["fa-cls"] = {
"Classical Persian",
9168,
"fa",
ancestors = "fa-ear",
translit = "fa-cls-translit",
}
m["fa-ira"] = {
"Iranian Persian",
3513637,
"fa",
aliases = {"Modern Persian", "Western Persian"},
translit = "fa-ira-translit",
}
m["prs"] = {
"Dari",
178440,
"fa",
aliases = {"Dari Persian", "Central Persian", "Eastern Persian", "Afghan Persian"},
translit = "fa-cls-translit",
}
m["haz"] = {
"Hazaragi",
33398,
"prs",
translit = "fa-cls-translit",
}
m["os-dig"] = {
"Digor Ossetian",
3027861,
"os",
aliases = {"Digoron", "Digor"},
}
m["os-iro"] = {
"Iron Ossetian",
nil,
"os",
aliases = {"Iron"},
}
m["sog-ear"] = {
"Early Sogdian",
nil,
"sog",
}
m["sog-lat"] = {
"Late Sogdian",
nil,
"sog-ear",
}
m["ro-MD"] = {
"Moldovan",
36392,
"ro",
aliases = {"Moldavian"},
}
m["oru-kan"] = {
"Kaniguram",
6363164,
"oru",
}
m["oru-log"] = {
"Logar",
nil,
"oru",
}
m["oos"] = {
"Old Ossetic",
65455882,
"xln",
}
m["oos-ear"] = {
"Early Old Ossetic",
nil,
"oos",
}
m["oos-lat"] = {
"Late Old Ossetic",
nil,
"oos",
}
m["rdb-jir"] = {
"Jirofti",
nil,
"rdb",
}
m["rdb-kah"] = {
"Kahnuji",
nil,
"rdb",
}
-- Southwestern Fars lects
m["fay-bur"] = {
"Burenjani",
nil,
"fay",
}
m["fay-bsh"] = {
"Bushehri",
nil,
"fay",
}
m["fay-dsh"] = {
"Dashtaki",
nil,
"fay",
}
m["fay-dav"] = {
"Davani",
5228140,
"fay",
}
m["fay-eze"] = {
"Emamzada Esmaili",
nil,
"fay",
}
m["fay-gav"] = {
"Gavkoshaki",
nil,
"fay",
}
m["fay-kho"] = {
"Khollari",
nil,
"fay",
}
m["fay-kon"] = {
"Kondazi",
nil,
"fay",
}
m["fay-kzo"] = {
"Old Kazeruni",
nil,
"fay",
}
m["fay-mas"] = {
"Masarami",
nil,
"fay",
}
m["fay-pap"] = {
"Papuni",
nil,
"fay",
}
m["fay-sam"] = {
"Samghani",
nil,
"fay",
}
m["fay-shr"] = {
"Shirazi",
nil,
"fay",
}
m["fay-sho"] = {
"Old Shirazi",
nil,
"fay",
}
m["fay-kar"] = {
"Khargi",
nil,
"fay",
}
m["fay-sor"] = {
"Sorkhi",
nil,
"fay",
}
-- Talysh lects
m["tly-cen"] = {
"Central Talysh",
nil,
"tly",
}
m["tly-asa"] = {
"Asalemi",
nil,
"tly-cen",
}
m["tly-kar"] = {
"Karganrudi",
nil,
"tly-cen",
}
m["tly-tul"] = {
"Tularudi",
nil,
"tly-cen",
}
m["tly-tal"] = {
"Taleshdulabi",
nil,
"tly-cen",
}
m["tly-nor"] = {
"Northern Talysh",
nil,
"tly",
}
m["tly-aze"] = {
"Azerbaijani Talysh",
nil,
"tly-nor",
}
m["tly-anb"] = {
"Anbarani",
nil,
"tly-nor",
}
m["tly-sou"] = {
"Southern Talysh",
nil,
"tly",
}
m["tly-fum"] = {
"Fumani",
nil,
"tly-sou",
}
m["tly-msu"] = {
"Masulei",
nil,
"tly-sou",
}
m["tly-msa"] = {
"Masali",
nil,
"tly-sou",
}
m["tly-san"] = {
"Shandarmani",
nil,
"tly-sou",
}
-- Tafreshi lects
m["xme-amo"] = {
"Amorehi",
nil,
"xme-taf",
}
m["atn"] = {
"Ashtiani",
3436590,
"xme-taf",
}
m["xme-bor"] = {
"Borujerdi",
nil,
"xme-taf",
}
m["xme-ham"] = {
"Hamadani",
6302426,
"xme-taf",
}
m["xme-kah"] = {
"Kahaki",
nil,
"xme-taf",
}
m["vaf"] = {
"Vafsi",
32611,
"xme-taf",
}
-- Kermanic lects
m["kfm"] = {
"Khunsari",
6403030,
"xme-ker",
}
m["xme-mah"] = {
"Mahallati",
nil,
"xme-ker",
}
m["xme-von"] = {
"Vonishuni",
nil,
"xme-ker",
}
m["xme-bdr"] = {
"Badrudi",
nil,
"xme-ker",
}
m["xme-del"] = {
"Delijani",
nil,
"xme-ker",
}
m["xme-kas"] = {
"Kashani",
nil,
"xme-ker",
}
m["xme-kes"] = {
"Kesehi",
nil,
"xme-ker",
}
m["xme-mey"] = {
"Meymehi",
nil,
"xme-ker",
}
m["ntz"] = {
"Natanzi",
6968399,
"xme-ker",
}
m["xme-abz"] = {
"Abuzeydabadi",
nil,
"xme-ker",
}
m["xme-aby"] = {
"Abyanehi",
nil,
"xme-ker",
}
m["xme-far"] = {
"Farizandi",
nil,
"xme-ker",
}
m["xme-jow"] = {
"Jowshaqani",
nil,
"xme-ker",
}
m["xme-nas"] = {
"Nashalji",
nil,
"xme-ker",
}
m["xme-qoh"] = {
"Qohrudi",
nil,
"xme-ker",
}
m["xme-yar"] = {
"Yarandi",
nil,
"xme-ker",
}
m["soj"] = {
"Soi",
7930463,
"xme-ker",
aliases = {"Sohi"},
}
m["xme-tar"] = {
"Tari",
nil,
"xme-ker",
}
m["gzi"] = {
"Gazi",
5529130,
"xme-ker",
}
m["xme-sed"] = {
"Sedehi",
nil,
"xme-ker",
}
m["xme-ard"] = {
"Ardestani",
nil,
"xme-ker",
}
m["xme-zef"] = {
"Zefrehi",
nil,
"xme-ker",
}
m["xme-isf"] = {
"Isfahani",
nil,
"xme-ker",
}
m["xme-kaf"] = {
"Kafroni",
nil,
"xme-ker",
}
m["xme-vrz"] = {
"Varzenehi",
nil,
"xme-ker",
}
m["xme-xur"] = {
"Khuri",
nil,
"xme-ker",
}
m["nyq"] = {
"Nayini",
6983146,
"xme-ker",
}
m["xme-ana"] = {
"Anaraki",
nil,
"xme-ker",
}
m["gbz"] = {
"Zoroastrian Dari",
32389,
"xme-ker",
aliases = {"Behdināni", "Gabri", "Gavrŭni", "Gabrōni"},
}
m["xme-krm"] = {
"Kermani",
nil,
"xme-ker",
}
m["xme-yaz"] = {
"Yazdi",
nil,
"xme-ker",
}
m["xme-bid"] = {
"Bidhandi",
nil,
"xme-ker",
}
m["xme-bij"] = {
"Bijagani",
nil,
"xme-ker",
}
m["xme-cim"] = {
"Chimehi",
nil,
"xme-ker",
}
m["xme-han"] = {
"Hanjani",
nil,
"xme-ker",
}
m["xme-kom"] = {
"Komjani",
nil,
"xme-ker",
}
m["xme-nar"] = {
"Naraqi",
nil,
"xme-ker",
}
m["xme-nus"] = {
"Nushabadi",
nil,
"xme-ker",
}
m["xme-qal"] = {
"Qalhari",
nil,
"xme-ker",
}
m["xme-trh"] = {
"Tarehi",
nil,
"xme-ker",
}
m["xme-val"] = {
"Valujerdi",
nil,
"xme-ker",
}
m["xme-var"] = {
"Varani",
nil,
"xme-ker",
}
m["xme-zor"] = {
"Zori",
nil,
"xme-ker",
}
-- Ramandi lects
m["tks-ebr"] = {
"Ebrahimabadi",
nil,
"tks",
}
m["tks-sag"] = {
"Sagzabadi",
nil,
"tks",
}
m["tks-esf"] = {
"Esfarvarini",
nil,
"tks",
}
m["tks-tak"] = {
"Takestani",
nil,
"tks",
}
m["tks-cal"] = {
"Chali Tati",
nil,
"tks",
aliases = {"Chāli"},
}
m["tks-dan"] = {
"Danesfani",
nil,
"tks",
}
m["tks-xia"] = {
"Khiaraji",
nil,
"tks",
}
m["tks-xoz"] = {
"Khoznini",
nil,
"tks",
}
-- Shughni dialects
m["sgh-bro"] = {
"Bartangi-Oroshori",
nil,
"sgh",
}
m["sgh-bar"] = {
"Bartangi",
nil,
"sgh-bro",
}
m["sgh-oro"] = {
"Oroshori",
nil,
"sgh-bro",
aliases = {"Roshorvi"},
}
m["sgh-rsx"] = {
"Roshani-Khufi",
nil,
"sgh",
}
m["sgh-xuf"] = {
"Khufi",
2562249,
"sgh-rsx",
aliases = {"Xufi", "Xūfī"},
}
m["sgh-ros"] = {
"Roshani",
2597566,
"sgh-rsx",
aliases = {"Rushani", "Rōšāni"},
}
m["sgh-xgb"] = {
"Khughni-Bajui",
nil,
"sgh",
}
m["sgh-xug"] = {
"Khughni",
nil,
"sgh-xgb",
}
m["sgh-baj"] = {
"Bajui",
nil,
"sgh-xgb",
}
-------------------------------------------------------------------------
-- Nuristani varieties --
-------------------------------------------------------------------------
m["bsh-kat"] = {
"Kativiri",
2605045,
"bsh",
aliases = {"Katə́viri"},
}
m["xvi"] = {
"Kamviri",
1193495,
"bsh",
aliases = {"Kamvíri"},
}
m["bsh-mum"] = {
"Mumviri",
nil,
"bsh",
aliases = {"Mumvíri"},
}
--------------------------------------------------------------------------------------
-- Italic varieties --
--------------------------------------------------------------------------------------
-------------------------------------------------------------------------
-- Latin varieties --
-------------------------------------------------------------------------
-- Latin varieties by period
m["itc-ola"] = {
"လပ်တေန်တြေံ",
12289,
"la",
"Latn, Ital",
translit = {
Ital = "Ital-translit"
},
}
m["itc-lan"] = {
"Lanuvian",
16890829,
"itc-ola",
aliases = {"Lanuvine"},
}
m["itc-pra"] = {
"Praenestine",
16889772,
"itc-ola",
aliases = {"Praenestinian"},
}
m["la-cla"] = {
"လပ်တေန်ဝၚ်ဂန္ထ",
253854,
"la",
}
m["la-vul"] = {
"လပ်တေန်အရိုၚ်",
37560,
"la-cla",
}
m["la-afr"] = {
"African Romance",
162064,
"roa-pro",
}
m["la-lat"] = {
"လပ်တေန်လဇုဲ",
1503113,
"la",
ancestors = "la-cla",
}
m["la-med"] = {
"လပ်တေန် ခေတ်လဒေါဝ်",
1163234,
"la",
ancestors = "la-lat",
}
m["la-eme"] = {
"လပ်တေန်ခေတ်လဒေါဝ်ဗွဲမပြဟ်",
nil,
"la-med",
}
m["la-ecc"] = {
"သာသနာခရေတ်လပ်တေန်",
1247932,
"la",
aliases = {"Church Latin", "Liturgical Latin"},
ancestors = "la-lat",
}
m["la-ren"] = {
"လပ်တေန်ခေတ်ကလေၚ်ပလေဝ်ပ္တိုန်တၟိ",
499083,
"la",
ancestors = "la-med",
}
m["la-new"] = {
"လပ်တေန်တၟိ",
1248221,
"la",
aliases = {"Modern Latin"},
ancestors = "la-ren",
}
m["la-con"] = {
"လပ်တေန်ခေတ်ပြိုၚ်ပ္ကာန်",
1246397,
"la-new",
}
-------------------------------------------------------------------------
-- Miscellaneous Italic varieties --
-------------------------------------------------------------------------
m["xfa-cap"] = {
"Capenate",
133182969,
"xfa",
}
m["osc-luc"] = {
"Lucanian",
3265025,
"osc",
}
m["osc-sam"] = {
"Samnite",
133184287,
"osc",
}
-------------------------------------------------------------------------
-- Romance varieties --
-------------------------------------------------------------------------
m["roa-pro"] = {
"Proto-Romance",
3408029,
"la-lat",
ancestors = "la-vul",
}
-----------------------------------------------------
-- Catalan varieties --
-----------------------------------------------------
m["ca-val"] = {
"Valencian",
32641,
"ca",
}
-----------------------------------------------------
-- Franco-Provençal varieties --
-----------------------------------------------------
m["frp-old"] = {
"Old Franco-Provençal",
nil,
"frp",
}
-----------------------------------------------------
-- French and derived creole varieties --
-----------------------------------------------------
m["fro-nor"] = {
"Old Northern French",
2044917,
"fro",
aliases = {"Old Norman", "Old Norman French"},
}
m["fro-pic"] = {
"Picard Old French",
nil,
"fro",
}
m["xno"] = {
"အာန်ဂဝ်-နဝ်မာန်",
35214,
"fro-nor",
}
m["xno-law"] = {
"Law French",
2044323,
"xno",
}
m["zrp"] = {
"Zarphatic",
36994,
"fro",
aliases = {"Judeo-French"},
pseudo_families = "qfa-jew",
}
m["fr-CA"] = {
"Canadian French",
1450506,
"fr",
}
m["fr-CH"] = {
"Swiss French",
1480152,
"fr",
}
m["fr-aca"] = {
"Acadian French",
415109,
"fr",
}
m["fr-lou"] = {
"Louisiana French",
3083213,
"fr",
}
m["fr-mis"] = {
"Missouri French",
3083210,
"fr",
}
m["frc"] = {
"Cajun French",
880301,
"fr-lou",
}
m["ht-sdm"] = {
"Saint Dominican Creole French",
nil,
"ht",
ancestors = "fr",
}
-- Norman varieties
m["nrf-grn"] = {
"Guernsey Norman",
56428,
"nrf",
aliases = {"Guernsey"},
}
m["nrf-jer"] = {
"Jersey Norman",
56430,
"nrf",
aliases = {"Jersey"},
}
-----------------------------------------------------
-- Gallo-Italic varieties --
-----------------------------------------------------
m["egl-old"] = {
"Old Emilian",
nil,
"egl",
}
m["lij-old"] = {
"လဳဂူရဳယာန်တြေံ",
nil,
"lij",
aliases = {"Old Genoese"},
}
m["lmo-old"] = {
"လောန်ဗါတ်တြေံ",
97165320,
"lmo",
}
m["pms-old"] = {
"Old Piedmontese",
nil,
"pms",
aliases = {"Old Piemontese"},
}
m["vec-old"] = {
"Old Venetan",
nil,
"vec",
aliases = {"Old Venetian"},
}
m["rgn-old"] = {
"Old Romagnol",
nil,
"rgn",
}
-----------------------------------------------------
-- Italo-Romance varieties --
-----------------------------------------------------
-- Italian varieties
m["roa-oit"] = {
"Old Italian",
nil,
"it",
}
m["it-CH"] = {
"Switzerland Italian",
672147,
"it",
}
-- Other Italo-Romance varieties
m["nap-old"] = {
"Old Neapolitan",
nil,
"nap",
}
m["scn-old"] = {
"Old Sicilian",
nil,
"scn",
}
-----------------------------------------------------
-- Occitan varieties --
-----------------------------------------------------
m["oc-auv"] = {
"Auvergnat",
35359,
"oc",
aliases = {"Auvernhat", "Auvergnese"},
}
m["oc-gas"] = {
"ဂေါသ်သကာန်",
35735,
"oc",
}
-- standardized dialect of Gascon
m["oc-ara"] = {
"Aranese",
10196,
"oc-gas",
}
m["oc-lan"] = {
"လာမ်ဂဝေအ်ဒံက်ဃှေန်",
942602,
"oc",
aliases = {"Lengadocian"},
}
m["oc-lim"] = {
"လိမူသေန်",
427614,
"oc",
}
m["oc-pro"] = {
"ဖရဝ်ဗေန်သော",
241243,
"oc",
aliases = {"Provencal"},
}
m["oc-pro-old"] = {
"ဖရဝ်ဗေန်သောတြေံ",
2779185,
"pro",
}
m["oc-viv"] = {
"ဝဳဝါရုဝ်-အောဖှာၚ်",
1649613,
"oc",
}
m["oc-jud"] = {
"Shuadit",
56472,
"oc",
aliases = {
"Chouhadite", "Chouhadit", "Chouadite", "Chouadit", "Shuhadit",
"Judeo-Occitan", "Judæo-Occitan", "Judaeo-Occitan",
"Judeo-Provençal", "Judæo-Provençal", "Judaeo-Provençal",
"Judeo-Provencal", "Judaeo-Provencal",
"Judeo-Comtadin", "Judæo-Comtadin", "Judaeo-Comtadin",
},
pseudo_families = "qfa-jew",
}
-----------------------------------------------------
-- Portuguese and derived creole varieties --
-----------------------------------------------------
-- Portuguese
m["pt-BR"] = {
"Brazilian Portuguese",
750553,
"pt",
}
m["pt-PT"] = {
"European Portuguese",
922399,
"pt",
}
-- Kabuverdianu (Cape Verde Creole, Cape Verdean Creole)
m["kea-bar"] = {
"Barlavento Kabuverdianu",
2217638,
"kea",
aliases = {"Barlavento", "Barlavento Creole", "Sampadjudu"},
}
m["kea-bvi"] = {
"Boa Vista Kabuverdianu",
16501837,
"kea-bar",
aliases = {"Boa Vista Creole"},
}
m["kea-sal"] = {
"Sal Kabuverdianu",
18707467,
"kea-bar",
aliases = {"Sal Creole"},
}
m["kea-saa"] = {
"Santo Antão Kabuverdianu",
18707472,
"kea-bar",
aliases = {"Santo Antão Creole"},
}
m["kea-sni"] = {
"São Nicolau Kabuverdianu",
18707549,
"kea-bar",
aliases = {"São Nicolau Creole"},
}
m["kea-svi"] = {
"São Vicente Kabuverdianu",
18707550,
"kea-bar",
aliases = {"São Vicente Creole"},
}
m["kea-sot"] = {
"Sotavento Kabuverdianu",
10261559,
"kea",
aliases = {"Sotavento", "Sotavento Creole", "Badiu"},
}
m["kea-bra"] = {
"Brava Kabuverdianu",
18670181,
"kea-sot",
aliases = {"Brava Creole"},
}
m["kea-fog"] = {
"Fogo Kabuverdianu",
18706861,
"kea-sot",
aliases = {"Fogo Creole"},
}
m["kea-mai"] = {
"Maio Kabuverdianu",
18707286,
"kea-sot",
aliases = {"Maio Creole"},
}
m["kea-san"] = {
"Santiago Kabuverdianu",
35117,
"kea-sot",
aliases = {"Santiago Creole"},
}
m["kea-alu"] = {
"ALUPEC Kabuverdianu",
375704,
"kea",
aliases = {"ALUPEC", "Alfabeto Unificado para a Escrita do Cabo-Verdiano"},
}
-----------------------------------------------------
-- Rhaeto-Romance varieties --
-----------------------------------------------------
-- Friulian varieties
m["fur-old"] = {
"Old Friulian",
nil,
"fur",
}
-- Ladin varieties
m["lld-amp"] = {
"Ampezan Ladin",
25617466,
"lld",
aliases = {"Anpezan", "Ampezan", "Ampezzan", "Ampezzano"},
}
m["lld-bad"] = {
"Badiot Ladin",
3706562,
"lld",
aliases = {"Badiot", "Badioto", "Badiotto"},
}
m["lld-cad"] = {
"Cadorino Ladin",
3706570,
"lld",
aliases = {"Cadorino"},
}
m["lld-fas"] = {
"Fascian Ladin",
742627,
"lld",
aliases = {"Fascian", "Fassano"},
}
m["lld-fod"] = {
"Fodom Ladin",
3706605,
"lld",
aliases = {"Fodom", "Livinallese"},
}
m["lld-for"] = {
"Fornes Ladin",
5470374,
"lld",
aliases = {"Fornes"},
}
m["lld-ghe"] = {
"Gherdëina Ladin",
3706597,
"lld",
aliases = {"Gherdëina", "Gardenese", "Val Gardena"},
}
m["lld-non"] = {
"Nones Ladin",
1055027,
"lld",
aliases = {"Nones", "Noneso"},
}
-- Romansh varieties
m["rm-old"] = {
"Old Romansh",
nil,
"rm",
}
m["rm-put"] = {
"Puter Romansh",
688309,
"rm",
aliases = {"Puter", "Putèr", "Upper Engadine", "rm-puter"},
}
m["rm-srm"] = {
"Surmiran Romansh",
690216,
"rm",
aliases = {"Surmiran", "rm-surmiran",
"Surmiran-Albula", -- Glottolog
},
}
m["rm-srs"] = {
"Sursilvan Romansh",
688348,
"rm",
aliases = {"Sursilvan", "rm-sursilv"},
}
m["rm-sut"] = {
"Sutsilvan Romansh",
688272,
"rm",
aliases = {"Sutsilvan", "rm-sutsilv"},
varieties = {"Scharans Sutsilvan"}, -- per Glottolog
}
m["rm-val"] = {
"Vallader Romansh",
690226,
"rm",
aliases = {"Vallader", "Putèr", "Lower Engadine", "rm-vallader"},
}
m["rm-gri"] = {
"Rumantsch Grischun",
688873,
"rm",
aliases = {"rm-rumgr"},
}
-----------------------------------------------------
-- Sardinian varieties --
-----------------------------------------------------
m["sc-old"] = {
"Old Sardinian",
nil,
"sc",
}
m["sc-src"] = {
"Logudorese",
777974,
"sc",
aliases = {"Logudorese Sardinian"},
}
m["sc-nuo"] = {
"Nuorese",
nil,
"sc-src",
aliases = {"Nuorese Sardinian"},
}
m["sc-sro"] = {
"Campidanese",
35348,
"sc",
aliases = {"Campidanese Sardinian"},
}
-----------------------------------------------------
-- Spanish varieties --
-----------------------------------------------------
m["es-ear"] = {
"Early Modern Spanish",
5364419,
"es",
}
m["es-AR"] = {
"Rioplatense Spanish",
509780,
"es",
}
m["es-BO"] = {
"Bolivian Spanish",
510730,
"es",
}
m["es-CL"] = {
"Chilean Spanish",
857295,
"es",
}
m["es-CO"] = {
"Colombian Spanish",
1115875,
"es",
}
m["es-CU"] = {
"Cuban Spanish",
824909,
"es",
}
m["es-MX"] = {
"Mexican Spanish",
616620,
"es",
}
m["es-PE"] = {
"Peruvian Spanish",
736236,
"es",
}
m["es-PH"] = {
"Philippine Spanish",
22091406,
"es",
}
m["es-US"] = {
"United States Spanish",
2301077,
"es",
aliases = {"US Spanish"},
}
--use label "US Spanish" to put Spanish terms in this category
m["es-PR"] = {
"Puerto Rican Spanish",
7258609,
"es",
}
m["es-VE"] = {
"Venezuelan Spanish",
840017,
"es",
}
m["es-lun"] = {
"Lunfardo",
1401612,
"es",
}
----------------------------------------------------------------------------------------------------------------------
-- Japonic varieties --
----------------------------------------------------------------------------------------------------------------------
-- Japanese varieties
m["ja-mid"] = {
"ဂျပါန် လဒေါဝ်",
6841474,
"ojp",
ancestors = "ojp",
}
m["ja-mid-ear"] = {
"Early Middle Japanese",
182695,
"ja-mid",
}
m["ja-mid-lat"] = {
"ဂျပါန်တြေံခေတ်လဇုဲ",
1816184,
"ja-mid",
ancestors = "ja-mid-ear",
}
m["ja-ear"] = {
"Early Modern Japanese",
5326692,
"ja",
ancestors = "ja-mid-lat",
}
m["ojp-eas"] = {
"Eastern Old Japanese",
65247957,
"ojp",
}
m["ja-cla"] = {
"Classical Japanese",
1332057,
"ja",
-- FIXME: This is redundant because Classical Japanese is considered a child of (Modern) Japanese, which has ja-mid-ear
-- (as well as ja-mid-lat) as ancestors. However, the intent here is that the *direct* ancestor of ja-cla is ja-mid-ear
-- and ja-mid-lat is not an ancestor. Need to rethink ancestor handling.
-- ancestors = "ja-mid-ear",
}
----------------------------------------------------------------------------------------------------------------------
-- Koreanic varieties --
----------------------------------------------------------------------------------------------------------------------
-- Korean varieties
m["oko-lat"] = {
"ကိုဝ်ရဳယျာတြေံခေတ်လဇုဲ",
nil,
"oko",
}
m["okm-ear"] = {
"Early Middle Korean",
nil,
"okm",
}
m["ko-cen"] = {
"Central Korean",
nil,
"ko",
}
m["ko-gyg"] = {
"Gyeonggi Korean",
485492,
"ko-cen",
aliases = {"Seoul Korean"},
}
m["ko-chu"] = {
"Chungcheong Korean",
625800,
"ko-cen",
aliases = {"Hoseo Korean"},
}
m["ko-hwa"] = {
"Hwanghae Korean",
16183706,
"ko-cen",
}
m["ko-gan"] = {
"Gangwon Korean",
11260444,
"ko-cen",
aliases = {"Yeongdong Korean"},
}
m["ko-gys"] = {
"Gyeongsang Korean",
488002,
"ko",
aliases = {"Southeastern Korean"},
}
m["ko-jeo"] = {
"Jeolla Korean",
11250166,
"ko",
aliases = {"Southwestern Korean"},
}
m["ko-pyo"] = {
"Pyongan Korean",
7263142,
"ko",
aliases = {"Northwestern Korean"},
}
m["ko-ham"] = {
"Hamgyong Korean",
860702,
"ko",
aliases = {"Northeastern Korean"},
}
m["ko-yuk"] = {
"Yukjin Korean",
16171275,
"ko",
aliases = {"Yukchin Korean", "Ryukjin Korean", "Ryukchin Korean"},
}
----------------------------------------------------------------------------------------------------------------------
-- Mongolic varieties --
----------------------------------------------------------------------------------------------------------------------
m["xng-ear"] = {
"Early Middle Mongol",
nil,
"xng",
}
m["xng-lat"] = {
"Late Middle Mongol",
nil,
"xng",
ancestors = "xng-ear",
}
m["mn-kha"] = {
"Khalkha Mongolian",
6399808,
"mn",
aliases = {"Khalkha"},
}
m["mn-ord"] = {
"Ordos Mongolian",
716904,
"mn",
aliases = {"Ordos"},
}
m["mn-cha"] = {
"Chakhar Mongolian",
907425,
"mn",
aliases = {"Chakhar"},
}
m["mn-khr"] = {
"Khorchin Mongolian",
3196210,
"mn",
aliases = {"Khorchin"},
}
----------------------------------------------------------------------------------------------------------------------
-- Niger-Congo varieties --
----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------
-- Akan varieties --
-----------------------------------------------------
m["tw"] = {
"Twi Akan",
36850,
"ak",
aliases = {"Twi"},
}
m["abr"] = {
"Abron",
34831,
"tw",
aliases = {"Brong", "Bono", "Bono Twi"},
}
m["tw-asa"] = {
"Asante Twi",
19261685,
"tw",
aliases = {"Asante", "Ashanti", "Ashante"},
}
m["tw-aku"] = {
"Akuapem Twi",
31150449,
"tw",
aliases = {"Akuapem", "Akuapim", "Akwapem Twi", "Akwapi"},
}
m["fat"] = {
"Fante Akan",
35570,
"ak",
aliases = {"Fante", "Fanti", "Fantse", "Mfantse"},
}
m["wss"] = {
"Wasa",
36914,
"ak",
}
-- creole
m["alv-kro"] = {
"Kromanti",
1093206,
"crp-mar",
}
-----------------------------------------------------
-- Bantu varieties --
-----------------------------------------------------
m["bnt-cmn"] = {
"Common Bantu",
nil,
"bnt-pro",
}
m["xh-bha"] = {
"Bhaca",
4900493,
"xh",
aliases = {"isiBhaca", "IsiBhaca"},
}
-- Rwanda-Rundi varieties
m["rw-kin"] = {
"Kinyarwanda",
33573,
"rw",
aliases = {"Rwanda"},
}
m["rw-run"] = {
"Kirundi",
33583,
"rw",
aliases = {"Rundi"},
}
-----------------------------------------------------
-- Fula varieties --
-----------------------------------------------------
m["fuc"] = {
"Pulaar",
1420205,
"ff",
}
m["fuf"] = {
"Pular",
3915357,
"ff",
}
m["ffm"] = {
"Maasina Fulfulde",
3915322,
"ff",
}
m["fue"] = {
-- no enwiki entry as of yet but frwiki and pmswiki have one
"Borgu Fulfulde",
12952426,
"ff",
}
m["fuh"] = {
-- no enwiki entry as of yet but frwiki and pmswiki have one
"Western Niger Fulfulde",
12952430,
"ff",
}
m["fuq"] = {
-- no enwiki entry as of yet but frwiki, hrwiki and pmswiki have one
"Central-Eastern Niger Fulfulde",
12628799,
"ff",
}
m["fuv"] = {
-- no enwiki entry as of yet but dewiki, frwiki, hrwiki, pmswiki and swwiki have one
"Nigerian Fulfulde",
36129,
"ff",
}
m["fub"] = {
-- no enwiki entry as of yet but dewiki, frwiki, hrwiki, pmswiki, ptwiki, swwiki and yowiki have one
"Adamawa Fulfulde",
34776,
"ff",
}
m["fui"] = {
-- no enwiki entry as of yet but pmswiki and swwiki have one
"Bagirmi Fulfulde",
11003859,
"ff",
}
----------------------------------------------------------------------------------------------------------------------
-- Papuan varieties --
----------------------------------------------------------------------------------------------------------------------
m["kze"] = {
"Kosena",
12952663,
"auy",
}
m["ont"] = {
"Ontenu",
3352827,
"gaj",
aliases = {"Ontena"},
}
----------------------------------------------------------------------------------------------------------------------
-- Salishan varieties --
----------------------------------------------------------------------------------------------------------------------
m["lut-nor"] = {
"Northern Lushootseed",
nil,
"lut",
aliases = {"Northern Puget Sound Salish"},
}
m["slh"] = {
"Southern Lushootseed",
7997684,
"lut",
aliases = {"Southern Puget Sound Salish", "Twulshootseed", "Whulshootseed"},
}
m["ska"] = {
"Skagit",
12642471,
"lut-nor",
}
m["sno"] = {
"Snohomish",
25559662,
"lut-nor",
}
----------------------------------------------------------------------------------------------------------------------
-- Sino-Tibetan varieties --
----------------------------------------------------------------------------------------------------------------------
m["tbq-pro"] = {
"ဗၟာ-တိဗဝ်တဝ် အခိုက်ကၞာ",
7251864,
"sit-pro",
}
-----------------------------------------------------
-- Chinese varieties --
-----------------------------------------------------
------------- Old Chinese, Middle Chinese -------------
m["och-ear"] = {
"Early Old Chinese",
nil,
"och",
}
m["och-lat"] = {
"Late Old Chinese",
nil,
"och",
}
m["ltc-ear"] = {
"Early Middle Chinese",
nil,
"ltc",
}
m["ltc-lat"] = {
"Late Middle Chinese",
nil,
"ltc",
}
------------- Classical/Literary varieties -------------
-- FIXME: Temporary.
m["lzh-shi"] = {
"Traditional Chinese poetry",
1759242,
"lzh",
}
-- FIXME: Temporary.
m["lzh-cii"] = {
"Ci",
1091366,
"lzh",
}
-- FIXME: Temporary.
m["lzh-yue"] = {
"Classical Cantonese",
nil,
"lzh",
}
-- FIXME: Temporary.
m["lzh-cmn"] = {
"Classical Mandarin",
nil,
"lzh",
}
-- FIXME: Temporary.
m["lzh-tai"] = {
"Classical Taishanese",
nil,
"lzh",
}
-- FIXME: Temporary.
m["lzh-cmn-TW"] = {
"Classical Taiwanese Mandarin",
nil,
"lzh-cmn",
}
-- FIXME: Temporary.
m["lzh-VI"] = {
"Vietnamese Classical Chinese",
17034227,
"lzh",
}
-- FIXME: Temporary.
m["lzh-KO"] = {
"Korean Classical Chinese",
10496257,
"lzh",
ietf_subtag = "lzh-KR" -- KR = South Korea, as there is no code for Korea as a whole
}
-- FIXME: Temporary.
m["lzh-lit"] = {
"Literary Chinese",
nil,
"lzh",
}
-- FIXME: Temporary. FIXME: Do we need this? How does it differ from Old Chinese?
m["lzh-pre"] = {
"Pre-Classical Chinese",
nil,
"lzh",
}
------------- Written Vernacular varieties -------------
-- FIXME: Temporary.
m["cmn-wvc"] = {
"Written vernacular Mandarin",
783605,
"cmn",
}
-- FIXME: Temporary. FIXME: How does this differ from "Literary Cantonese"?
m["yue-wvc"] = {
"Written vernacular Cantonese",
nil,
"yue",
}
-- FIXME: Temporary.
m["zhx-tai-wvc"] = {
"Written vernacular Taishanese",
nil,
"zhx-tai",
}
------------- Mandarin varieties -------------
-- FIXME: Temporary. NOTE: The Linguist List assigns the "w:Beijing dialect" (Wikidata 1147606) the code "cmn-bej" and
-- the larger "w:Beijing Mandarin (division of Mandarin)" dialect group (Wikidata 2169652; what we call "Beijingic
-- Mandarin", after Glottolog) the code "cmn-bei".
m["cmn-bei"] = {
"Beijing Mandarin",
1147606,
"cmn-bec",
}
-- FIXME: Temporary.
m["cmn-bec"] = {
"Beijingic Mandarin",
2169652,
"cmn",
}
-- FIXME: Temporary. NOTE: The Linguist List uses the code cmn-zho.
m["cmn-cep"] = {
"Central Plains Mandarin",
3048775,
"cmn",
aliases = {"Zhongyuan Mandarin"},
}
m["cmn-ear"] = {
"Early Mandarin",
837169,
"cmn",
ancestors = "ltc",
}
-- FIXME: Temporary.
m["cmn-gua"] = {
"Guanzhong Mandarin",
3431648,
"cmn-cep",
}
-- FIXME: Temporary. Appears to be a subdialect of Guiliu Mandarin, which in turn is a subdialect of Southwestern Mandarin.
m["cmn-gui"] = {
"Guilin Mandarin",
11111636,
"cmn-sow",
}
m["cmn-jhu"] = {
"Jianghuai Mandarin",
2128953,
"cmn",
aliases = {"Lower Yangtze Mandarin"},
}
-- FIXME: Temporary.
m["cmn-lan"] = {
"Lanyin Mandarin",
662754,
"cmn",
}
-- FIXME: Temporary.
m["cmn-MY"] = {
"Malaysian Mandarin",
13646143,
"cmn",
}
-- FIXME: Temporary.
m["cmn-nan"] = {
"Nanjing Mandarin",
2681098,
"cmn-jhu",
}
-- FIXME: Temporary.
m["cmn-noe"] = {
"Northeastern Mandarin",
1064504,
"cmn",
}
-- FIXME: Temporary.
m["cmn-PH"] = {
"Philippine Mandarin",
7185155,
"cmn",
}
-- FIXME: Temporary.
m["cmn-SG"] = {
"Singapore Mandarin",
1048980,
"cmn",
}
-- FIXME: Temporary.
m["cmn-sow"] = {
"Southwestern Mandarin",
2609239,
"cmn",
}
-- FIXME: Temporary. Appears to be a subdialect of Jilu Mandarin.
m["cmn-tia"] = {
"Tianjin Mandarin",
7800220,
"cmn",
}
-- FIXME: Temporary. NOTE: Wikidata also has Q4380827 "Taiwanese Mandarin", defined as "rare dialect of Standard Chinese
-- (Mandarin) used in Taiwan, which is strongly influenced by Taiwanese Hokkien; mostly used by elderlies" and having no
-- English Wikipedia article (but see w:zh:臺灣國語).
m["cmn-TW"] = {
"Taiwanese Mandarin",
262828,
"cmn",
}
-- FIXME: Temporary. Appears to be a subdialect of Wu-Tian Mandarin, in turn a subdialect of Southwestern Mandarin.
-- Given the code cmn-xwu in the Linguist List.
m["cmn-wuh"] = {
"Wuhan Mandarin",
11124731,
"cmn-sow",
aliases = {"Wuhanese"},
}
-- FIXME: Temporary. Appears to be a subdialect of Lanyin Mandarin.
m["cmn-xin"] = {
"Xining Mandarin",
nil,
"cmn-lan",
}
-- FIXME: Temporary.
m["cmn-yan"] = {
"Yangzhou Mandarin",
nil,
"cmn-jhu",
}
------------- Cantonese varieties -------------
-- FIXME: Temporary.
m["yue-gua"] = {
"Guangzhou Cantonese",
nil,
"yue",
}
-- FIXME: Temporary. Given the codes yue-yue or yue-can in the Linguist List.
m["yue-HK"] = {
"Hong Kong Cantonese",
5894342,
"yue",
}
-- FIXME: Temporary. FIXME: How does this differ from "Written vernacular Cantonese"?
m["yue-lit"] = {
"Literary Cantonese",
2472605,
"yue",
}
------------- Wu varieties -------------
m["wuu-han"] = {
"Hangzhounese",
5648144,
"wuu",
}
m["wuu-nin"] = {
"Ningbonese",
3972199,
"wuu",
}
-- FIXME: Temporary.
m["wuu-nor"] = {
"Northern Wu",
7675988,
"wuu",
aliases = {"Taihu Wu"},
}
-- FIXME: Temporary? Subvariety of Taihu Wu. NOTE: "chm" stands for Chongming, the main dialect, to avoid a conflict
-- with Shanghainese.
m["wuu-chm"] = {
"Shadi Wu",
6112340,
"wuu-nor",
}
m["wuu-sha"] = {
"Shanghainese",
36718,
"wuu-nor",
}
m["wuu-suz"] = {
"Suzhounese",
831744,
"wuu-nor",
}
-- FIXME: Temporary. May be converted into a full language and/or split.
m["wuu-wen"] = {
"Wenzhounese",
710218,
"wuu",
}
------------- Xiang varieties -------------
m["hsn-lou"] = {
"Loudi Xiang",
10943823,
"hsn-old",
}
m["hsn-hya"] = {
"Hengyang Xiang",
20689035,
"hsn-hzh",
}
m["hsn-hzh"] = {
"Hengzhou Xiang",
nil,
"hsn",
}
m["hsn-new"] = {
"New Xiang",
7012696,
"hsn",
aliases = {"Chang-Yi"},
}
m["hsn-old"] = {
"Old Xiang",
7085453,
"hsn",
aliases = {"Lou-Shao"},
}
------------- Hakka varieties -------------
-- FIXME: Temporary.
m["hak-dab"] = {
"Dabu Hakka",
19855566,
"hak", -- formerly hak-TW but seems to be spoken primary in Dabu County in Guangdong
}
-- FIXME: Temporary.
m["hak-eam"] = {
"Early Modern Hakka",
nil,
"hak",
}
-- FIXME: Temporary.
m["hak-hai"] = {
"Hailu Hakka",
17038519,
"hak", -- often considered a Taiwanese lect but also spoken in [[Shanwei]], [[Guangdong]]
}
-- FIXME: Temporary.
m["hak-HK"] = {
"Hong Kong Hakka",
2675834,
"hak",
}
-- FIXME: Temporary.
m["hak-hui"] = {
"Huiyang Hakka",
16873881,
"hak",
}
-- FIXME: Temporary.
m["hak-hui-MY"] = {
"Malaysian Huiyang Hakka",
nil,
"hak-hui",
}
-- FIXME: Temporary. Similar to and possibly the parent of Sixian Hakka in Taiwan.
m["hak-mei"] = {
"Meixian Hakka",
839295,
"hak",
aliases = {"Moiyan Hakka", "Meizhou Hakka"},
}
-- FIXME: Temporary.
m["hak-six"] = {
"Sixian Hakka",
9668261,
"hak-TW",
}
-- FIXME: Temporary.
m["hak-TW"] = {
"Taiwanese Hakka",
2391532,
"hak",
}
-- FIXME: Temporary.
m["hak-zha"] = {
"Zhao'an Hakka",
6703311,
"hak",
aliases = {"Zhangzhou Hakka"},
}
-- Southern Min varieties --
m["nan-anx"] = {
"Anxi Hokkien",
97064149,
"nan-qua",
}
m["nan-cha"] = {
"Changtai Hokkien",
nil,
"nan-zha",
}
m["nan-hou"] = {
"Houlu Min",
19855492,
"nan-dat",
}
m["nan-hui"] = {
"Hui'an Hokkien",
16241797,
"nan-qua",
}
m["nan-jin"] = {
"Jinjiang Hokkien",
11089375,
"nan-qua",
}
m["nan-kin"] = {
"Kinmenese Hokkien",
56278342,
"nan-xia",
aliases = {"Kinmen Hokkien"},
}
m["nan-med"] = {
"Medan Hokkien",
6805114,
"nan-zha",
}
m["nan-pen"] = {
"Penang Hokkien",
11120689,
"nan-zha",
}
m["nan-hbl-PH"] = {
"Philippine Hokkien",
3236692,
"nan-qua",
}
m["nan-qia"] = {
"Qianlu Min",
19842517,
"nan-dat",
}
m["nan-qua"] = {
"Quanzhou Hokkien",
2251677,
"nan-hbl",
aliases = {"Chinchew", "Choanchew"},
}
-- FIXME: Temporary? Derived from both Quanzhou and Zhangzhou Hokkien.
m["nan-hbl-SG"] = {
"Singapore Hokkien",
3846528,
"nan-hbl",
}
m["nan-spm"] = {
"Southern Malaysian Hokkien",
7570322,
"nan-qua",
aliases = {"Southern Malaysia Hokkien", "Southern Peninsular Malaysian Hokkien", "Southern Peninsular Malaysia Hokkien"}
}
m["nan-hbl-TW"] = {
"Taiwanese Hokkien",
36778,
"nan-hbl",
}
m["nan-ton"] = {
"Tong'an Hokkien",
nil,
"nan-xia",
}
m["nan-xia"] = {
"Xiamen Hokkien",
68744,
"nan-hbl",
aliases = {"Amoy", "Amoyese", "Amoynese", "Xiamenese"},
}
m["nan-yon"] = {
"Yongchun Hokkien",
65118728,
"nan-qua",
}
m["nan-zha"] = {
"Zhangzhou Hokkien",
8070492,
"nan-hbl",
aliases = {"Changchew", "Chiangchew", "Changchow"},
}
m["nan-zho"] = {
"Zhao'an Hokkien",
65118728,
"nan-zha",
aliases = {"Zhao'an", "Chawan", "Chawan Hokkien"},
}
m["nan-zhp"] = {
"Zhangping Hokkien",
15937822,
"nan-zha",
}
------------- Other Min varieties -------------
-- FIXME: Temporary. Affiliation within Min uncertain; some combination of Eastern and Southern.
m["zhx-zho"] = {
"Zhongshan Min",
8070958,
"zh",
}
------------- Other Chinese varieties -------------
-- FIXME: Temporary. Affiliation within Chinese uncertain; possibly Yue.
m["zhx-dan"] = {
"Danzhou Chinese",
2578935,
"zh",
}
------------- Chinese romanization varieties -------------
-- [[Wiktionary:Information desk/2022/June#Etymology Coding Issue]]
-- [[Wiktionary:Grease pit/2022/June#Transliteration Systems in Etymologies 2]]
m["cmn-pinyin"] = {
"Hanyu Pinyin",
42222,
"cmn",
aliases = {"Pinyin"},
}
m["cmn-tongyong"] = {
"Tongyong Pinyin",
700739,
"cmn",
}
m["cmn-wadegiles"] = {
"Wade–Giles",
208442,
"cmn",
aliases = {"Wade-Giles", "Wade Giles"},
}
m["zh-postal"] = {
"Postal Romanization",
151868,
"zh",
}
-- Chinese cyrillization
m["cmn-palladius"] = {
"Palladius",
1234239,
"cmn",
aliases = {"Palladius system"},
}
-----------------------------------------------------
-- Tibetic varieties --
-----------------------------------------------------
m["adx"] = {
"Amdo Tibetan",
56509,
"bo",
}
m["kbg"] = {
"Khamba",
12952626,
"bo",
}
m["khg"] = {
"Khams Tibetan",
56601,
"bo",
}
m["tsk"] = {
"Tseku",
11159532,
"bo",
}
----------------------------------------------------------------------------------------------------------------------
-- Tai-Kadai varieties --
----------------------------------------------------------------------------------------------------------------------
m["th-old"] = {
"သေံတြေံ",
nil,
"tai-swe-pro",
wikipedia_article = "Thai language#Old Thai",
}
m["th-suk"] = {
"သူခိုဝ်ထိုၚ် သေံတြေံ", -- 1238-1438. Cannot use "Sukhothai Thai" as Sukhothai is the current city and "Sukhothai Thai" is a lect.
nil,
"th-old",
aliases = {"Sukhothai Siamese"},
wikipedia_article = "Thai language#Old Thai",
}
m["th-ayu"] = {
"အယုဒ္ဓယ သေံတြေံ", -- 1351-1767. Cannot use "Ayutthaya Thai" as Ayutthaya is the current city.
nil,
"th-old",
aliases = {"Ayutthaya Siamese"},
wikipedia_article = "Thai language#Old Thai",
}
--[[
m["th-new"] = {
"Hacked Thai", -- temporary for testing new translit/display methods
nil,
"th",
translit = "User:Benwing2/th-scraping-translit",
display_text = "User:Benwing2/th-scraping-translit",
strip_diacritics = "User:Benwing2/th-scraping-translit",
preprocess_links = "User:Benwing2/th-scraping-translit",
}
]]
m["tai-shz"] = {
"Shangsi Zhuang",
13216,
"za",
}
----------------------------------------------------------------------------------------------------------------------
-- Turkic varieties --
----------------------------------------------------------------------------------------------------------------------
m["trk-cmn-pro"] = {
"Proto-Common Turkic",
1126028,
"trk-pro",
}
m["trk-ogr-pro"] = {
"Proto-Oghur",
1422731,
"trk-pro",
family = "trk-ogr",
}
m["trk-bul-pro"] = {
"Proto-Bulgar",
nil,
"trk-ogr-pro",
}
m["trk-ogz-pro"] = {
"Proto-Oghuz",
494600,
"trk-pro",
family = "trk-ogz",
aliases = {"Southwestern Common Turkic"},
}
m["crh-dbj"] = {
"Dobrujan Tatar",
12811566,
"crh",
aliases = {"Romanian Tatar"},
}
m["cv-ana"] = {
"Anatri Chuvash",
nil,
"cv",
aliases = {"Anatri", "Lower Chuvash"},
}
m["cv-mid"] = {
"Middle Chuvash",
nil,
"cv",
ancestors = "cv-old",
}
m["cv-old"] = {
"Old Chuvash",
nil,
"cv",
ancestors = "xbo-vol",
}
m["cv-vir"] = {
"Viryal Chuvash",
4278332,
"cv",
aliases = {"Viryal", "Upper Chuvash"},
}
m["kjh-fyu"] = {
"Fuyu Kyrgyz",
2598963,
"kjh",
aliases = {"Fuyu Kirgiz", "Fuyu Kirghiz", "Manchurian Kyrgyz", "Manchurian Kirgiz", "Manchurian Kirghiz"},
}
m["klj-arg"] = {
"Arghu",
33455,
"klj",
ancestors = "trk-cmn-pro",
}
m["otk-kir"] = {
"Old Kirghiz",
83142,
"otk",
aliases = {"Yenisei Turkic", "Yenisei Kyrgyz"},
}
m["otk-ork"] = {
"Orkhon Turkic",
31295480,
"otk",
}
m["qwm-cum"] = {
"Cuman",
1075050,
"qwm",
aliases = {"Kuman", "Polovtsian", "Polovcian"},
}
m["qwm-arm"] = {
"Armeno-Kipchak",
2027503,
"qwm",
ancestors = "qwm-cum",
aliases = {"Xıpçaχ tili", "Tatarça"},
}
m["qwm-mam"] = {
"Mamluk-Kipchak",
4279942,
"qwm",
aliases = {"Mameluk-Kipchak"},
}
m["az-cls"] = {
"Classical Azerbaijani",
nil,
"az",
aliases = {"Classical Azeri"},
}
m["qxq"] = {
"Qashqai",
13192,
"az",
aliases = {"Qaşqay", "Qashqayi", "Kashkai", "Kashkay"},
}
m["tr-CY"] = {
"Cypriot Turkish",
7917392,
"tr",
}
m["uz-afg"] = {
-- NOTE: has ISO 639-3 code uzs assigned to it.
"Afghan Uzbek",
1066787,
"uz",
aliases = {"Southern Uzbek"},
translit = "uz-afg-translit",
}
m["xbo-dan"] = {
"Danube Bulgar",
nil,
"xbo",
}
m["xbo-vol"] = {
"Volga Bulgar",
nil,
"xbo",
}
----------------------------------------------------------------------------------------------------------------------
-- Uralic varieties --
----------------------------------------------------------------------------------------------------------------------
m["fiu-pro"] = {
"ဖေန်နဝ်-ဥူဂရေတ်-အခိုက်ကၞာ",
79890,
"urj-pro",
}
m["urj-fpr-pro"] = {
"ဖေန်နဝ်-ပဵုမေတ်-အခိုက်ကၞာ",
nil,
"urj-pro",
}
m["krl-nor"] = {
"North Karelian",
125501196,
"krl",
}
m["krl-sou"] = {
"South Karelian",
129812730,
"krl",
}
m["mns-eas"] = {
"Eastern Mansi",
30311755,
"mns-cen",
}
m["mns-wes"] = {
"Western Mansi",
30311756,
"mns-cen",
}
----------------------------------------------------------------------------------------------------------------------
-- Yeneseian varieties --
----------------------------------------------------------------------------------------------------------------------
m["qfa-yke-pro"] = {
"Proto-Ketic",
nil,
"qfa-yen-pro",
family = "qfa-yke",
}
m["qfa-yko-pro"] = {
"Proto-Kottic",
nil,
"qfa-yen-pro",
family = "qfa-yko",
}
m["qfa-yrn-pro"] = {
"Proto-Arinic",
nil,
"qfa-yen-pro",
family = "qfa-yrn",
}
m["qfa-ypm-pro"] = {
"Proto-Pumpokolic",
nil,
"qfa-yen-pro",
family = "qfa-ypm",
}
----------------------------------------------------------------------------------------------------------------------
-- Miscellaneous varieties --
----------------------------------------------------------------------------------------------------------------------
m["mul-tax"] = {
"taxonomic name",
522190,
"mul",
}
-----------------------------------------------------
-- Elamite varieties --
-----------------------------------------------------
m["elx-old"] = {
"Old Elamite",
nil,
"elx",
}
m["elx-mid"] = {
"Middle Elamite",
nil,
"elx",
}
m["elx-neo"] = {
"Neo-Elamite",
nil,
"elx",
}
m["elx-ach"] = {
"Achaemenid Elamite",
nil,
"elx",
}
-----------------------------------------------------
-- Substrates --
-----------------------------------------------------
-- Pre-Roman substrates
m["qsb-ibe"] = {
"Paleo-Hispanic",
246801,
"und",
family = "qfa-sub",
aliases = {"Palaeo-Hispanic", "Paleohispanic", "Palaeohispanic", "Paleo-Iberian", "Palaeo-Iberian"},
}
m["qsb-bal"] = {
"Paleo-Balkan",
1815070,
"und",
family = "qfa-sub",
aliases = {"Palaeo-Balkan", "Paleobalkan", "Palaeobalkan"},
}
m["xaq"] = {
"Aquitanian",
500522,
"euq-pro",
family = "euq",
}
return require("Module:languages").finalizeData(m, "language", true)
9uheqvyyc715jluhekguy3t6fc6aff9
402265
402262
2026-10-01T05:51:44Z
Intobesa.bot
1035
Bot: ပွမကၠာဲစုတ်ယၟုနူဘာသာအၚ်္ဂလိက်
402265
Scribunto
text/plain
local m_langdata = require("Module:languages/data")
-- Loaded on demand, as it may not be needed (depending on the data).
local function u(...)
u = require("Module:string utilities").char
return u(...)
end
local c = m_langdata.chars
local p = m_langdata.puaChars
local s = m_langdata.shared
local m = {}
----------------------------------------------------------------------------------------------------------------------
-- Afroasiatic varieties --
----------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
-- Berber varieties --
--------------------------------------------------------------------------------------
m["shi-med"] = {
"ထေယျုက်",
34152,
"shi",
}
-- Tuareg lects
m["thv"] = {
"Tamahaq",
56703,
"tmh",
}
m["ttq"] = {
"ထာဝါလပ်မေတ်",
56390,
"tmh",
}
m["taq"] = {
"Tamasheq",
4670066,
"tmh",
}
m["thz"] = {
"ထေယျုက်",
56388,
"tmh",
}
m["thv-ght"] = {
"Ghat",
47012900,
"thv",
}
--------------------------------------------------------------------------------------
-- Cushitic varieties --
--------------------------------------------------------------------------------------
-- Oromo varieties
m["hae"] = {
"Harar Oromo",
5330355,
"om",
aliases = {"Eastern Oromo"},
}
m["gax"] = {
"Borana",
2910610,
"om",
aliases = {"Southern Oromo"},
}
m["orc"] = {
"Orma",
2919128,
"om",
}
m["ssn"] = {
"Waata",
3501553,
"om",
}
--------------------------------------------------------------------------------------
-- Egyptian varieties --
--------------------------------------------------------------------------------------
-----------------------------------------------------
-- Ancient Egyptian varieties --
-----------------------------------------------------
m["egy-old"] = {
"အဳဂျေပ်တြေံ",
447117,
"egy",
}
m["egy-mid"] = {
"အဳဂျေပ်လဒေါဝ်",
657330,
"egy",
aliases = {"Classical Egyptian"},
}
m["egy-nmi"] = {
"Neo-Middle Egyptian",
123735278,
"egy",
aliases = {"Égyptien de tradition", "Traditional Egyptian"},
}
m["egy-lat"] = {
"အဳဂျေပ်လဇုဲ",
1852329,
"egy",
}
-----------------------------------------------------
-- Coptic varieties --
-----------------------------------------------------
m["cop-akh"] = {
"Akhmimic Coptic",
125176464,
"cop",
aliases = {"Akhmimic"},
}
m["cop-boh"] = {
"Bohairic Coptic",
890733,
"cop",
aliases = {"Bohairic", "Memphitic Coptic", "Memphitic"},
}
m["cop-ggg"] = {
"Coptic Dialect G",
nil,
"cop",
aliases = {"Dialect G", "Mansuric Coptic", "Mansuric"},
}
m["cop-jjj"] = {
"Coptic Dialect J",
nil,
"cop",
}
m["cop-kkk"] = {
"Coptic Dialect K",
nil,
"cop",
}
m["cop-ppp"] = {
"Coptic Dialect P",
nil,
"cop",
aliases = {"Proto-Theban Coptic", "Palaeo-Theban Coptic"},
}
m["cop-fay"] = {
"Fayyumic Coptic",
1399115,
"cop",
aliases = {"Fayyumic", "Faiyumic Coptic", "Faiyumic", "Fayumic Coptic", "Fayumic",
"Bashmuric Coptic", "Bashmuric"},
}
m["cop-her"] = {
"Hermopolitan Coptic",
nil,
"cop",
aliases = {"Hermopolitan", "Coptic Dialect H", "Ashmuninic", "Ashmuninic Coptic"},
}
m["cop-lyc"] = {
"Lycopolitan Coptic",
nil,
"cop",
aliases = {
"Lycopolitan",
"Assiutic Coptic", "Asyutic Coptic", "Assiutic", "Asyutic",
"Lyco-Diospolitan Coptic", "Lyco-Diospolitan",
"Subakhmimic Coptic", "Subakhmimic"
},
}
m["cop-old"] = {
"Old Coptic",
115518040,
"cop",
}
m["cop-oxy"] = {
"Oxyrhynchite Coptic",
nil,
"cop",
aliases = {"Oxyrhynchite", "Mesokemic Coptic", "Mesokemic", "Middle Egyptian Coptic"},
}
m["cop-ply"] = {
"Proto-Lycopolitan Coptic",
nil,
"cop",
aliases = {"Coptic Dialect i", "Proto-Lyco-Diospolitan Coptic"},
}
m["cop-sah"] = {
"Sahidic Coptic",
2645851,
"cop",
aliases = {"Sahidic", "Saidic Coptic", "Saidic", "Thebaic Coptic", "Thebaic"},
}
--------------------------------------------------------------------------------------
-- Semitic varieties --
--------------------------------------------------------------------------------------
-----------------------------------------------------
-- Akkadian varieties --
-----------------------------------------------------
m["akk-old"] = {
"Old Akkadian",
nil,
"akk",
}
m["akk-obb"] = {
"Old Babylonian",
nil,
"akk",
}
m["akk-oas"] = {
"Old Assyrian",
nil,
"akk",
}
m["akk-mbb"] = {
"Middle Babylonian",
nil,
"akk",
}
m["akk-mas"] = {
"Middle Assyrian",
nil,
"akk",
}
m["akk-nbb"] = {
"Neo-Babylonian",
nil,
"akk",
}
m["akk-nas"] = {
"Neo-Assyrian",
nil,
"akk",
}
m["akk-lbb"] = {
"Late Babylonian",
nil,
"akk",
}
m["akk-stb"] = {
"Standard Babylonian",
nil,
"akk",
}
-----------------------------------------------------
-- Arabic varieties --
-----------------------------------------------------
m["jrb"] = {
"Judeo-Arabic",
37733,
"ar",
pseudo_families = "qfa-jew",
}
m["apc-leb"] = {
"Lebanese North Levantine Arabic",
1516642,
"apc",
aliases = {"Lebanese Arabic"},
}
m["apc-sle"] = {
"South Lebanese North Levantine Arabic",
14206590,
"apc",
aliases = {"South Lebanese Arabic"},
}
m["apc-nle"] = {
"North Lebanese North Levantine Arabic",
nil,
"apc",
aliases = {"North Lebanese Arabic"},
}
m["apc-syr"] = {
"Syrian North Levantine Arabic",
2143071,
"apc",
aliases = {"Syrian Arabic"},
}
m["apc-ale"] = {
"Aleppine North Levantine Arabic",
7056921,
"apc-syr",
aliases = {"Aleppo Arabic", "Aleppine Arabic"},
}
m["apc-dam"] = {
"Damascene North Levantine Arabic",
12237466,
"apc-syr",
aliases = {"Damascus Arabic", "Damascene Arabic"},
}
m["acm-khu"] = {
"Khuzestani Arabic",
1040944,
"acm",
}
-----------------------------------------------------
-- Aramaic varieties --
-----------------------------------------------------
m["arc-bib"] = {
"Biblical Aramaic",
843235,
"arc",
family = "sem-are",
}
m["arc-cpa"] = {
"Christian Palestinian Aramaic",
60790119,
"arc",
family = "sem-arw",
aliases = {"Melkite Aramaic", "Palestinian Syriac", "Syropalestinian Aramaic"},
}
m["arc-imp"] = {
"Imperial Aramaic",
7079491,
"arc",
aliases = {"Official Aramaic"},
}
m["arc-hat"] = {
"Hatran Aramaic",
3832926,
"arc",
family = "sem-are",
}
m["arc-jla"] = {
"Jewish Literary Aramaic",
105952842,
"arc",
pseudo_families = "qfa-jew",
}
m["arc-nab"] = {
"Nabataean Aramaic",
36178,
"arc",
}
m["arc-old"] = {
"Old Aramaic",
3398392,
"arc",
}
m["arc-pal"] = {
"Palmyrene Aramaic",
1510113,
"arc",
family = "sem-arw",
}
m["tmr"] = {
"Jewish Babylonian Aramaic",
33407,
"arc",
family = "sem-ase",
pseudo_families = "qfa-jew",
}
m["jpa"] = {
"Jewish Palestinian Aramaic",
948909,
"arc",
family = "sem-arw",
aliases = {"Galilean Aramaic"},
pseudo_families = "qfa-jew",
}
-----------------------------------------------------
-- Hebrew varieties --
-----------------------------------------------------
m["hbo"] = {
"Biblical Hebrew",
1982248,
"he",
aliases = {"Classical Hebrew"},
}
m["he-mis"] = {
"Mishnaic Hebrew",
1649362,
"he",
ancestors = "hbo",
}
m["he-med"] = {
"Medieval Hebrew",
2712572,
"he",
ancestors = "he-mis",
}
m["he-IL"] = {
"Israeli Hebrew",
8141,
"he",
}
----------------------------------------------------------------------------------------------------------------------
-- Ainu varieties --
----------------------------------------------------------------------------------------------------------------------
m["ain-hok"] = {
"Hokkaido Ainu",
20968488,
"ain",
aliases = {"Hokkaidō Ainu"},
}
m["ain-kur"] = {
"Kuril Ainu",
20967012,
"ain",
}
m["ain-sak"] = {
"Sakhalin Ainu",
20747371,
"ain",
}
----------------------------------------------------------------------------------------------------------------------
-- American indigenous varieties --
----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------
-- Inuit varieties --
-----------------------------------------------------
m["esi"] = {
"North Alaskan Inupiatun",
nil,
"ik"
}
m["esk"] = {
"Northwest Alaskan Inupiatun",
25559714,
"ik"
}
-----------------------------------------------------
-- Iroquoian varieties --
-----------------------------------------------------
m["iro-ohu"] = {
"Old Wendat",
nil,
"wdt",
}
m["iro-omo"] = {
"Old Mohawk",
nil,
"moh",
}
m["iro-oon"] = {
"Old Onondaga",
nil,
"ono",
}
-----------------------------------------------------
-- Tupi-Guarani varieties --
-----------------------------------------------------
-- Old Tupi varieties
m["tpw-lga"] = {
"Língua Geral Amazônica",
18275323,
"tpw",
aliases = {"Língua Geral"},
}
m["tpw-lgp"] = {
"Língua Geral Paulista",
2669239,
"tpw",
}
----------------------------------------------------------------------------------------------------------------------
-- Austroasiatic varieties --
----------------------------------------------------------------------------------------------------------------------
-- Khmer varieties
m["okz-ang"] = {
"ခမေန်တြေံ အာန်ခေါဝ်ရဳယာန်",
nil,
"okz",
wikipedia_article = "Khmer language#Historical periods",
}
m["okz-pre"] = {
"ခမေန်တြေံ ကၠာ-အာန်ခေါဝ်ရဳယာန်",
nil,
"okz",
wikipedia_article = "Khmer language#Historical periods",
}
-- Central Nicobarese varieties
m["ncb-cam"] = {
"Camorta",
5026908,
"ncb",
aliases = {"Kamorta"},
}
m["ncb-kat"] = {
"Katchal",
17064263,
"ncb",
aliases = {"Tehnu"},
}
m["ncb-nan"] = {
"Nancowry",
6962504,
"ncb",
aliases = {"Nankwari"},
}
----------------------------------------------------------------------------------------------------------------------
-- Austronesian varieties --
----------------------------------------------------------------------------------------------------------------------
-- Malay and related varieties
m["ms-old"] = { -- this has the ISO code 'omy'
"Old Malay",
nil,
"ms",
}
m["ms-cla"] = {
"Classical Malay",
nil,
"ms",
ancestors = "ms-old",
}
m["pse-bsm"] = {
"Besemah",
nil,
"pse",
}
m["bew-kot"] = {
"Betawi Kota",
nil,
"bew",
aliases = {"Urban Betawi"}, -- in Jakarta
}
-- Philippine varieties
m["xnn"] = {
"Northern Kankanaey",
12953609,
"kne",
aliases = {"Northern Kankanay", "Northern Kankana-ey"},
}
m["tl-old"] = {
"Old Tagalog",
12967437,
"tl",
}
m["tl-cls"] = {
"Classical Tagalog",
nil,
"tl",
}
----------------------------------------------------------------------------------------------------------------------
-- Caucasian varieties --
----------------------------------------------------------------------------------------------------------------------
-- Kartvelian varieties
m["ka-mid"] = {
"Middle Georgian",
nil,
"ka",
ancestors = "oge",
}
----------------------------------------------------------------------------------------------------------------------
-- Dravidian varieties --
----------------------------------------------------------------------------------------------------------------------
m["ta-mid"] = {
"Middle Tamil",
20987434,
"ta",
}
m["kn-hav"] = {
"Havigannada",
24276369,
"kn",
}
m["kn-kun"] = {
"Kundagannada",
6444255,
"kn",
}
----------------------------------------------------------------------------------------------------------------------
-- Indo-European varieties --
----------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
-- Albanian varieties --
--------------------------------------------------------------------------------------
m["aln"] = {
"Gheg Albanian",
181037,
"sq",
aliases = {"Gheg"},
}
m["aae"] = {
"Arbëresh Albanian",
1075302,
"als",
aliases = {"Arbëreshë", "Arbëresh"},
}
m["aat"] = {
"Arvanitika Albanian",
29347,
"als",
aliases = {"Arvanitika"},
}
m["als"] = {
"Tosk Albanian",
180937,
"sq",
aliases = {"Tosk"},
}
--------------------------------------------------------------------------------------
-- Armenian varieties --
--------------------------------------------------------------------------------------
m["hyw"] = {
"Western Armenian",
180945,
"hy",
}
m["hye"] = {
"Eastern Armenian",
181059,
"hy",
}
--------------------------------------------------------------------------------------
-- Balto-Slavic varieties --
--------------------------------------------------------------------------------------
-------------------------------------------------------------------------
-- Baltic varieties --
-------------------------------------------------------------------------
m["bat-pro"] = {
"ဗေါဝ်တေတ်-အခိုက်ကၞာ",
1703347,
"ine-bsl-pro",
}
m["bat-dni"] = {
"Dnieper Baltic",
4163178,
"bat-pro",
family = "bat",
aliases = {"Dniepr Baltic", "Dnieper-Oka Baltic", "Dniepr-Oka Baltic"},
}
m["bat-gol"] = {
"Golyad",
4142855,
"bat-dni",
aliases = {"Eastern Galindian", "East Galindian"},
}
-------------------------------------------------------------------------
-- Slavic varieties --
-------------------------------------------------------------------------
-----------------------------------------------------
-- Bulgarian varieties --
-----------------------------------------------------
m["cu-bgm"] = {
"ဗူလ်ဂရဳယာန် လဒေါဝ်",
12294897,
"cu",
ancestors = "cu"
}
-----------------------------------------------------
-- Church Slavonic varieties --
-----------------------------------------------------
-- Old Moscow Church Slavonic deleted as it seems not distinct enough from Russian (Synodal) Church Slavonic.
m["zls-chs-ru"] = {
"Russian Church Slavonic",
21662400,
"zls-chs",
aliases = {"Synodal Church Slavonic", "New Moscow Church Slavonic", "Novomoskovsk Church Slavonic"},
}
m["zls-chs-uk"] = {
"Ukrainian Church Slavonic",
12153548,
"zls-chs",
aliases = {"Rusyn Church Slavonic", "Belarusian Church Slavonic"},
}
--[=[
-- Not sure about these yet.
m["zls-chs-bg"] = {
"Bulgarian Church Slavonic",
nil,
"zls-chs",
}
m["zls-chs-cs"] = {
"Czech Church Slavonic",
nil,
"zls-chs",
}
m["zls-chs-hr"] = {
"Croatian Church Slavonic",
nil,
"zls-chs",
}
m["zls-chs-mk"] = {
"Macedonian Church Slavonic",
nil,
"zls-chs",
}
m["zls-chs-ro"] = {
"Romanian Church Slavonic",
nil,
"zls-chs",
}
m["zls-chs-sr"] = {
"Serbian Church Slavonic",
nil,
"zls-chs",
}
]=]
-----------------------------------------------------
-- Czech varieties --
-----------------------------------------------------
m["cs-ear"] = {
"Early Modern Czech",
nil,
"cs",
ancestors = "zlw-ocs"
}
-----------------------------------------------------
-- East Slavic varieties --
-----------------------------------------------------
m["zle-ops"] = {
"Old Pskovian",
4167885,
"zle-ono",
}
m["zle-mru"] = {
"ရုသျှာ လဒေါဝ်",
35228,
"ru",
"Cyrs",
ancestors = "orv",
translit = "ru-translit",
strip_diacritics = {
Cyrs = {
remove_diacritics = c.grave .. c.acute .. c.diaer,
},
},
}
m["zle-mbe"] = {
"Middle Belarusian",
13211,
"zle-ort",
ancestors = "zle-ort",
}
m["zle-muk"] = {
"ယူကရိန် လဒေါဝ်",
13211,
"zle-ort",
ancestors = "zle-ort",
}
m["uk-CA"] = {
"Canadian Ukrainian",
4161010,
"uk",
}
m["crp-cpr-kya"] = {
"Kyakhta Chinese Pidgin Russian",
1062960,
"crp-cpr",
}
-----------------------------------------------------
-- Polish varieties --
-----------------------------------------------------
m["zlw-mpl"] = {
"ပဝ်လာန် လဒေါဝ်",
402878,
"pl",
ancestors = "zlw-opl",
strip_diacritics = {
remove_diacritics = c.acute,
remove_exceptions = {"Ć", "ć", "Ń", "ń", "Ó", "ó", "Ś", "ś", "Ź", "ź"},
},
}
m["pl-gre"] = {
"Greater Polish",
4106789,
"pl",
}
m["pl-les"] = {
"Lesser Polish",
361709,
"pl",
}
m["pl-mas"] = {
"Masovian Polish",
4274559,
"pl",
}
m["pl-gor"] = {
"Goral",
452889,
"pl",
}
-----------------------------------------------------
-- Serbo-Croatian varieties --
-----------------------------------------------------
m["ckm"] = {
"Chakavian Serbo-Croatian",
337565,
"sh",
aliases = {"Čakavian"},
}
m["kjv"] = {
"Kajkavian Serbo-Croatian",
838165,
"sh",
}
m["sh-tor"] = { -- Linguist code srp-tor
"Torlakian Serbo-Croatian",
1078803,
"sh",
aliases = {"Torlak"},
}
--------------------------------------------------------------------------------------
-- Celtic varieties --
--------------------------------------------------------------------------------------
-----------------------------------------------------
-- Brythonic varieties --
-----------------------------------------------------
m["bry-ear"] = {
"Early Brythonic",
nil,
"cel-bry-pro",
}
m["bry-lat"] = {
"Late Brythonic",
nil,
"cel-bry-pro",
}
-----------------------------------------------------
-- Gaulish varieties --
-----------------------------------------------------
m["xcg"] = {
"Cisalpine Gaulish",
3832927,
"cel-gau",
}
m["xtg"] = {
"Transalpine Gaulish",
29977,
"cel-gau",
}
-----------------------------------------------------
-- Welsh varieties --
-----------------------------------------------------
m["cy-nor"] = {
"North Wales Welsh",
13127692,
"cy",
aliases = {"North Walian Welsh", "Northern Welsh"},
}
m["cy-sou"] = {
"South Wales Welsh",
13127689,
"cy",
aliases = {"South Walian Welsh", "Southern Welsh"},
}
--------------------------------------------------------------------------------------
-- Germanic varieties --
--------------------------------------------------------------------------------------
-- Proto-West Germanic varieties
m["frk"] = {
"Frankish",
10860505,
"gmw-pro",
family = "gmw-frk",
aliases = {"Old Frankish"},
}
m["gem-sue"] = {
"Suevic",
134600275,
"gmw-pro",
aliases = {"Suebian"},
}
m["gmw-afr-pro"] = {
"Proto-Anglo-Frisian",
134603379,
"gmw-nsg-pro",
family = "gmw-afr",
}
m["gmw-nsg-pro"] = {
"Proto-North Sea Germanic",
134603374,
"gmw-pro",
family = "gmw-nsg",
aliases = {"Proto-Ingvaeonic"},
}
-----------------------------------------------------
-- Dutch varieties --
-----------------------------------------------------
m["nl-BE"] = {
"Belgian Dutch",
34147,
"nl",
aliases = {"Flemish", "Flemish Dutch", "Southern Dutch"},
}
-----------------------------------------------------
-- English and Scots varieties --
-----------------------------------------------------
-- English varieties
m["en-AU"] = {
"Australian English",
44679,
"en",
}
m["en-GB"] = {
"British English",
7979,
"en",
}
m["en-GB-SCT"] = {
"Scottish English",
1553250,
"en-GB",
}
m["en-GB-WLS"] = {
"Welsh English",
2363292,
"en-GB",
}
m["en-IM"] = {
"Manx English",
6753295,
"en-GB",
}
m["en-aae"] = {
"Australian Aboriginal English",
783347,
"en-AU",
}
m["en-ear"] = {
"Early Modern English",
1472196,
"en",
ancestors = "enm",
aliases = {"Early New English"},
}
m["en-geo"] = {
"Geordie",
653421,
"en",
ancestors = "enm-nor",
}
m["en-IE"] = { -- FIXME: "IE" doesn't cover Northern Ireland
"Irish English",
665624,
"en",
}
m["en-uls"] = {
"Ulster English",
6840826,
"en-IE",
}
m["en-GB-NIR"] = {
"Northern Irish English",
6840826, -- actually the code for Ulster English
"en-uls",
}
m["en-NNN"] = { -- NA = Namibia; NNN is NATO 3-letter code for North America
"North American English",
7053766,
"en",
ietf_subtag = "en-021" -- 021 = UN M49 code for "Northern America" (i.e. North America wihout Central America or the Caribbean)
}
m["en-US"] = {
"American English",
7976,
"en-NNN",
}
m["en-NZ"] = {
"New Zealand English",
44661,
"en"
}
m["en-ZA"] = {
"South African English",
1156228,
"en"
}
m["en-US-CA"] = {
"California English",
1026812,
"en-US",
}
m["en-CA"] = {
"Canadian English",
44676,
"en-US",
}
m["en-HK"] = {
"Hong Kong English",
1068863,
"en",
}
m["en-IN"] = {
"Indian English",
1348800,
"en",
}
m["pld"] = {
"Polari",
1359130,
"en",
}
-- Scots varieties
m["sco-ins"] = {
"Insular Scots",
16919205,
"sco",
}
m["sco-uls"] = {
"Ulster Scots",
201966,
"sco",
}
m["sco-nor"] = {
"Northern Scots",
16928150,
"sco",
}
m["sco-sou"] = {
"Southern Scots",
7570457,
"sco",
aliases = {"South Scots", "Borders Scots"},
}
-- Middle English varieties
m["enm-esc"] = { -- Part of Middle English until it developed into Middle Scots.
"Early Scots",
5326738,
"enm",
ancestors = "enm-nor",
aliases = {"Old Scots", "Scottish Middle English"},
}
m["enm-emi"] = {
"East Midland Middle English",
134238810,
"enm",
ancestors = "ang-ang", -- Technically ang-mer, but attested Mercian is mostly WM IIRC
}
m["enm-ken"] = {
"Kentish Middle English",
134238532,
"enm",
ancestors = "ang-ken",
}
m["enm-nor"] = {
"Northern Middle English",
134238541,
"enm",
ancestors = "ang-nor",
}
m["enm-sou"] = {
"Southern Middle English",
134238528,
"enm",
ancestors = "ang-wsx",
}
m["enm-wmi"] = {
"West Midland Middle English",
134238824,
"enm",
ancestors = "ang-mer",
}
-- Old English varieties
-- Includes both Mercian and Northumbrian.
m["ang-ang"] = {
"Anglian Old English",
121142917,
"ang",
}
m["ang-ken"] = {
"Kentish Old English",
11687485,
"ang",
}
m["ang-mer"] = {
"Mercian Old English",
602072,
"ang-ang",
}
m["ang-nor"] = {
"Northumbrian Old English",
1798915,
"ang-ang",
}
m["ang-wsx"] = {
"West Saxon Old English",
2658603,
"ang",
}
-----------------------------------------------------
-- High German varieties --
-----------------------------------------------------
-- (modern) German varieties
m["de-AT"] = {
"Austrian German",
306626,
"de",
}
m["de-AT-vie"] = {
"Viennese German",
56474,
"de-AT",
}
m["de-CH"] = {
"Switzerland German",
1366643,
"de",
aliases = {"Schweizer Hochdeutsch", "Swiss Standard German", "Swiss High German"},
}
m["de-bal"] = {
"Baltic German",
15785413,
"de",
}
m["de-ear"] = {
"Early New High German",
1472199,
"de",
ancestors = "gmh",
aliases = {"Early Modern High German"},
}
m["ksh"] = {
"Kölsch",
4624,
"gmw-cfr",
}
m["pfl"] = {
"Palatine German",
23014,
"gmw-rfr",
aliases = {"Pfälzisch", "Pälzisch", "Palatinate German"},
}
m["sli"] = {
"Silesian East Central German",
152965,
"gmw-ecg",
aliases = {"Silesian"},
}
m["sxu"] = {
"Upper Saxon German",
699284,
"gmw-ecg",
}
-- Old High German varieties
m["lng"] = {
"Lombardic",
35972,
"goh",
}
-- Alemannic German varieties
m["gsw-low"] = {
"Low Alemannic German",
503724,
"gsw",
}
m["gsw-FR-als"] = {
"Alsatian Alemannic German",
8786,
"gsw-low",
}
m["gsw-hig"] = {
"High Alemannic German",
503728,
"gsw",
}
m["gsw-hst"] = {
"Highest Alemannic German",
687538,
"gsw",
}
m["wae"] = {
"Walser German",
680517,
"gsw-hst",
}
-----------------------------------------------------
-- Low German varieties --
-----------------------------------------------------
m["nds-de"] = {
"German Low German",
25433,
"nds",
ietf_subtag = "nds-DE", -- should we make this the actual code?
wikimedia_codes = "nds",
}
m["nds-nl"] = {
"Dutch Low Saxon",
516137,
"nds",
ietf_subtag = "nds-NL", -- should we make this the actual code?
wikimedia_codes = "nds-nl",
}
m["act"] = {
"Achterhoeks",
153627,
"nds-nl",
aliases = {"Achterhoek", "Achterhooks"},
}
m["drt"] = {
"Drents",
2736709,
"nds-nl",
aliases = {"Drèents", "Dreins", "Dreints", "Drints"},
}
m["frs"] = {
"East Frisian Low German",
149208,
"nds-de",
aliases = {"East Frisian", "East Frisian Low Saxon"},
}
m["gos"] = {
"Gronings",
508854,
"nds-nl",
aliases = {"Grunnegs", "Grönnegs"},
}
m["nds-lpr"] = {
"Low Prussian",
33982,
"nds-de",
}
m["sdz"] = {
"Sallands",
3436668,
"nds-nl",
aliases = {"Sallaans", "Sallaands"},
}
m["stl"] = {
"Stellingwerfs",
506010,
"nds-nl",
aliases = {"Stellingwarfs"},
}
m["twd"] = {
"Twents",
497363,
"nds-nl",
aliases = {"Tweants"},
}
m["vel"] = {
"Veluws",
2484810,
"nds-nl",
}
m["wep"] = {
"Westphalian",
505655,
"nds-de",
aliases = {"Westfalish", "Westphalien"},
}
-----------------------------------------------------
-- North Frisian varieties --
-----------------------------------------------------
m["frr-ins"] = {
"Insular North Frisian",
110629610,
"frr",
}
m["frr-fam"] = {
"Föhr-Amrum North Frisian",
110629601,
"frr-ins",
}
m["frr-foh"] = {
"Föhr North Frisian",
28185,
"frr-fam",
aliases = {"Föhr Frisian", "Fering",
"Ferring", -- Glottolog
},
varieties = {"Aasdring", "Weesdring"},
}
m["frr-amr"] = {
"Amrum North Frisian",
28192,
"frr-fam",
aliases = {"Amrum Frisian", "Amrum", "Öömrang"},
}
m["frr-hel"] = {
"Heligoland North Frisian",
28086,
"frr-ins",
aliases = {"Heligoland Frisian", "Halunder", "Heligolandic Frisian", "Heligolandic North Frisian",
"Helgoland Frisian", "Helgoland North Frisian", "Helgoland"},
}
m["frr-syl"] = {
"Sylt North Frisian",
28181,
"frr-ins",
aliases = {"Sylt Frisian", "Söl'ring",
"Sölreng", -- Glottolog
},
}
m["frr-mai"] = {
"Mainland North Frisian",
110629626,
"frr",
}
m["frr-hal"] = {
"Halligen North Frisian",
28177,
"frr-mai",
aliases = {"Halligen Frisian", "Halifreesk", "Hallingen Frisian", "Hallingen North Frisian",
"Hallingen", -- Glottolog
},
}
m["frr-moo"] = {
"Mooring North Frisian",
28187,
"frr-mai",
aliases = {"Bökingharde North Frisian", "Bökingharde Frisian", "Böökinghiirder frasch",
"Mooring", "Moring",
},
varieties = {{"East Mooring", "Ostermooring"}, {"West Mooring", "Westermooring"}},
}
m["frr-kar"] = {
"Karrharde North Frisian",
28191,
"frr-mai",
aliases = {"Karrharde Frisian", "Karrharder",
},
}
m["frr-goe"] = {
-- Technically this refers to three adjacent dialects (Northern, Central and Southern), the latter of which went
-- extinct in 1980-1981. As a result, Glottolog speaks of "Norder-Mittelgoesharde", referring to the remaining two.
"Goesharde North Frisian",
28183,
"frr-mai",
aliases = {"Norder-Mittelgoesharde North Frisian", "Norder-Mittelgoesharde Frisian", "Norder-Mittelgoesharde",
"Goesharde Frisian", "Goesharde", "Gooshiirder",
},
}
m["frr-wie"] = {
"Wiedingharde North Frisian",
28171,
"frr-mai",
aliases = {"Wiedingharde Frisian", "Wiedingharde", "Wiringhiirder freesk",
},
}
-----------------------------------------------------
-- Old Norse varieties --
-----------------------------------------------------
m["non-grn"] = {
"Greenlandic Norse",
855236,
"non-own",
}
m["non-oen"] = {
"Old East Norse",
10498031,
"non",
ancestors = "non",
}
m["non-own"] = {
"Old West Norse",
2377483,
"non",
ancestors = "non",
}
-----------------------------------------------------
-- Old Swedish varieties --
-----------------------------------------------------
m["gmq-osw-lat"] = {
"Late Old Swedish",
10723594,
"gmq-osw",
ancestors = "gmq-osw",
}
--------------------------------------------------------------------------------------
-- Greek varieties --
--------------------------------------------------------------------------------------
m["qsb-grc"] = {
"Pre-Greek",
965052,
"und",
family = "qfa-sub",
}
m["grc-aeo"] = {
"Aeolic Greek",
406373,
"grc",
aliases = {"Lesbic Greek", "Lesbian Greek", "Aeolian Greek"},
}
m["grc-arc"] = {
"Arcadian Greek",
nil,
"grc-arp",
}
m["grc-arp"] = {
"Arcadocypriot Greek",
499602,
"grc",
}
m["grc-att"] = {
"Attic Greek",
506588,
"grc",
}
m["grc-boi"] = {
"Boeotian Greek",
406373,
"grc-aeo",
}
m["grc-cyp"] = {
"Cypriot Ancient Greek", -- to distinguish from Cypriot Greek below
nil,
"grc-arp",
}
m["grc-dor"] = {
"Doric Greek",
285494,
"grc",
}
m["grc-ela"] = {
"Elean Greek",
nil,
"grc",
}
m["grc-epi"] = {
"Epic Greek",
990062,
"grc",
aliases = {"Homeric Greek"},
}
m["grc-ion"] = {
"Ionic Greek",
504165,
"grc",
}
m["grc-koi"] = {
"ဂရေတ် ခါဝ်အိန်",
107358,
"grc",
ancestors = "grc-att",
aliases = {"Hellenistic Greek"},
}
m["grc-kre"] = {
"Cretan Ancient Greek", -- to distinguish from Cretan Greek below
nil,
"grc-dor",
}
m["grc-opl"] = {
"Opuntian Locrian",
nil,
"grc",
}
m["grc-ozl"] = {
"Ozolian Locrian",
nil,
"grc",
}
m["grc-pam"] = {
"Pamphylian Greek",
2271793,
"grc",
}
m["grc-ths"] = {
"Thessalian Greek",
406373,
"grc-aeo",
}
m["gkm"] = {
"ဂရေတ် ဗေတ်သေန်ထေၚ်",
36387,
"grc",
ancestors = "grc-koi",
aliases = {"Medieval Greek"},
}
m["el-cyp"] = {
"Cypriot Greek",
245899,
"el",
aliases = {"Cypriotic Greek"},
}
m["el-pap"] = {
"Paphian Greek",
nil,
"el",
}
m["el-crt"] = {
"Cretan Greek",
588306,
"el",
}
m["el-kth"] = {
"Katharevousa",
35961,
"el",
"Polyt",
ancestors = "gkm",
aliases = {"Katharevousa Greek"},
-- Polyt display_text, strip_diacritics, sort_key in [[Module:scripts/data]]
}
m["el-kal"] = {
"Kaliarda",
12878658,
"el",
}
--------------------------------------------------------------------------------------
-- Indo-Iranian varieties --
--------------------------------------------------------------------------------------
-------------------------------------------------------------------------
-- Indo-Aryan varieties --
-------------------------------------------------------------------------
-- reconstructed intermediate stages
m["pra-pro"] = {
"Proto-New Indo-Aryan",
nil,
"pra",
}
m["inc-ash-pro"] = {
"Proto-Middle Indo-Aryan",
nil,
"inc-ash",
}
m["inc-mit"] = {
"Mitanni",
1986700,
"inc-pro",
}
m["bra-old"] = {
"Old Braj",
nil,
"bra",
}
-- Apabhramsas
m["inc-aav"] = {
"အဝဟတာ",
nil,
"inc-apa",
aliases = {"Abahattha"},
}
m["inc-asa"] = {
"သဥူရေသဳနဳ အာပ်ပါပရာမ်သာ",
nil,
"inc-apa",
}
m["inc-agu"] = {
"ဂူဂျာရာ အာပ်ပါပရာမ်သာ",
nil,
"inc-apa",
}
m["inc-aka"] = {
"ခေပ်သမဳရဳ အာပ်ပါပရာမ်သာ",
nil,
"inc-apa",
}
m["inc-ama"] = {
"မဟာရာတ်သပ်ထရဳ အာပ်ပါပရာမ်သာ",
nil,
"inc-apa",
}
m["inc-ata"] = {
"တာကာ အာပ်ပါပရာမ်သာ",
nil,
"inc-apa",
}
m["inc-avr"] = {
"ဝရာခါဒါ အာပ်ပါပရာမ်သာ",
nil,
"inc-apa",
}
-- Assamese varieties
m["as-bkm"] = {
"Barpetia Kamrupi Assamese",
30642960,
"as",
}
m["as-nkm"] = {
"Nalbaria Kamrupi Assamese",
85787678,
"as",
}
m["as-pkm"] = {
"Palasbaria Kamrupi Assamese",
nil,
"as",
}
-- Bengali varieties
m["bn-dvn"] = {
"Dhakaiya Vaṅga Bengali",
48726851,
"bn", -- Eastern Bengali variety
}
m["bn-nvn"] = {
"Noakhailla Vaṅga Bengali",
107548681,
"bn", -- Eastern Bengali variety
}
-- Dhivehi varieties
m["dv-old"] = {
"Old Dhivehi",
117790875,
"dv",
}
m["dv-mul"] = {
"Mulaku Dhivehi",
nil,
"dv",
aliases = {"Mulaku Divehi", "Mulaku Bas"},
}
m["dv-huv"] = {
"Huvadhu Dhivehi",
nil,
"dv",
aliases = {"Huvadhu Divehi", "Huvadhu Bas"},
}
m["dv-add"] = {
"Addu Dhivehi",
nil,
"dv",
aliases = {"Addu Divehi", "Addu Bas"},
}
-- Gujarati varieties
m["gu-kat"] = {
"Kathiyawadi",
nil,
"gu",
aliases = {"Kathiyawadi Gujarati", "Kathiawadi"},
}
m["gu-lda"] = {
"Lisan ud-Dawat Gujarati",
nil,
"gu",
aliases = {"Lisan ud-Dawat", "LDA"},
}
-- Hindi varieties
m["hi-mum"] = {
"Bombay Hindi",
3543151,
"hi",
aliases = {"Mumbai Hindi", "Bambaiyya Hindi"},
}
m["hi-mid"] = {
"Middle Hindi",
nil,
"inc-ohi",
ancestors = "inc-ohi",
}
-- Konkani varieties
m["kok-mid"] = {
"Middle Konkani",
nil,
"kok",
aliases = {"Medieval Konkani"},
}
m["kok-old"] = {
"Old Konkani",
nil,
"kok",
aliases = {"Early Konkani"},
}
-- Prakrits
m["pra-ard"] = {
"အာတ်ဓၟဂါတ်ဒဳ ပရာကရေတ်",
35217,
"pra",
aliases = {"Ardhamagadhi"},
}
m["pra-hel"] = {
"ဟေဠူ ပရာကရေတ်",
15080869,
"pra",
aliases = {"Elu", "Elu Prakrit", "Helu"},
}
m["pra-kha"] = {
"ခါဿာ ပရာကရေတ်",
nil,
"pra",
aliases = {"Khasa"},
}
m["pra-mag"] = {
"မဂ္ဂဒိ ပရာကရေတ်", -- Not to be confused with Magahi (mag)
2652214,
"pra",
aliases = {"Magadhi"},
}
m["pra-mah"] = {
"မဟာရာတ်ထရဳ ပရာကရေတ်",
2586773,
"pra",
aliases = {"Maharashtri Prakrit", "Maharastri", "Maharashtri"},
}
m["pra-pai"] = {
"ပါအေတ်သာသဳ ပရာကရေတ်",
2995607,
"pra-sau",
aliases = {"Paisaci", "Paisachi"},
ancestors = "pra-sau"
}
m["pra-sau"] = {
"သောရာသေနဳ ပရာကရေတ်",
2452885,
"pra",
aliases = {"Sauraseni", "Shauraseni"},
}
m["pra-ava"] = {
"အဗါန်တဳ",
nil,
"pra",
aliases = {"Avanti Prakrit"},
}
m["pra-pra"] = {
"ပရာသဳယျာ",
nil,
"pra",
aliases = {"Pracya Prakrit"},
}
m["pra-bah"] = {
"ပါလိကဳ",
nil,
"pra",
aliases = {"Bahliki Prakrit"},
}
m["pra-dak"] = {
"ထေတ်သဳနတာယျ",
nil,
"pra",
aliases = {"Daksinatya Prakrit"},
}
m["pra-sak"] = {
"သာကာရဳ",
nil,
"pra",
aliases = {"Sakari Prakrit"},
}
m["pra-can"] = {
"ခေန်ဒါလဳ",
nil,
"pra",
aliases = {"Candali Prakrit"},
}
m["pra-sab"] = {
"သာဗါရဳ",
nil,
"pra",
aliases = {"Sabari Prakrit"},
}
m["pra-abh"] = {
"အဖိရဳ",
nil,
"pra",
aliases = {"Abhiri Prakrit"},
}
m["pra-dra"] = {
"ဒရာမဳလဳ",
nil,
"pra",
aliases = {"Dramili Prakrit"},
}
m["pra-odr"] = {
"အဝ်ဒရဳ",
nil,
"pra",
aliases = {"Odri Prakrit"},
}
-- Punjabi varieties
m["pnb"] = {
"Western Punjabi",
58635,
"pa",
"pa-Arab",
}
-- Sanskrit varieties
m["vsn"] = {
"Vedic Sanskrit",
36858,
"sa",
}
m["cls"] = {
"Classical Sanskrit",
9333703,
"sa",
}
m["sa-bhs"] = {
"Buddhist Hybrid Sanskrit",
248758,
"sa",
}
m["sa-bra"] = {
"Brahmanic Sanskrit",
139822891,
"vsn",
}
m["sa-epi"] = {
"Epic Sanskrit",
56702805,
"cls",
}
m["sa-neo"] = {
"New Sanskrit",
nil,
"sa",
}
m["sa-rig"] = {
"Rigvedic Sanskrit",
139822680,
"vsn",
}
-- Sinhalese varieties
m["si-med"] = {
"Medieval Sinhalese",
nil,
"si",
aliases = {"Medieval Sinhala"},
}
-------------------------------------------------------------------------
-- Iranian varieties --
-------------------------------------------------------------------------
m["qsb-bma"] = {
"the BMAC substrate",
133187435,
"und",
family = "qfa-sub",
aliases = {"the Bactria-Margiana substrate", "the Bactria-Margiana Archaeological Complex substrate"},
}
-- Historical and current Iranian dialects
m["ae-old"] = {
"Old Avestan",
29572,
"ae",
aliases = {"Gathic Avestan"},
}
m["ae-yng"] = {
"Younger Avestan",
29572,
"ae-old",
aliases = {"Young Avestan"},
}
m["bcc"] = {
"Southern Balochi",
33049,
"bal",
aliases = {"Southern Baluchi"},
}
m["bgp"] = {
"Eastern Balochi",
33049,
"bal",
aliases = {"Eastern Baluchi"},
}
m["bgn"] = {
"Western Balochi",
33049,
"bal",
aliases = {"Western Baluchi"},
}
m["bsg-ban"] = {
"Bandari",
nil,
"bsg",
}
m["bsg-hor"] = {
"Hormozi",
nil,
"bsg",
}
m["bsg-min"] = {
"Minabi",
nil,
"bsg",
}
m["kho-old"] = {
"Old Khotanese",
nil,
"kho",
}
m["kho-lat"] = {
"Late Khotanese",
nil,
"kho-old",
}
m["peo-ear"] = {
"Early Old Persian",
nil,
"peo",
}
m["peo-lat"] = {
"Late Old Persian",
nil,
"peo",
}
m["pal-ear"] = {
"Early Middle Persian",
nil,
"pal",
}
m["pal-lat"] = {
"Late Middle Persian",
nil,
"pal",
ancestors = "pal-ear",
}
m["ps-nwe"] = {
"Northwestern Pashto",
nil,
"ps",
}
m["ps-cgi"] = {
"Central Ghilzay",
nil,
"ps-nwe",
}
m["ps-mah"] = {
"Mahsudi",
nil,
"ps-nwe",
}
m["ps-nea"] = {
"Northeastern Pashto",
nil,
"ps",
}
m["ps-afr"] = {
"Afridi",
nil,
"ps-nea",
}
m["ps-bng"] = {
"Bangash",
nil,
"ps-nea",
}
m["ps-xat"] = {
"Khatak",
nil,
"ps-nea",
}
m["ps-pes"] = {
"Peshawari",
nil,
"ps-nea",
}
m["ps-sea"] = {
"Southeastern Pashto",
nil,
"ps",
}
m["ps-ban"] = {
"Bannu",
nil,
"ps-sea",
}
m["ps-kak"] = {
"Kakari",
nil,
"ps-sea",
}
m["ps-ser"] = {
"Sher",
nil,
"ps-sea",
}
m["ps-waz"] = {
"Waziri",
12274473,
"ps-sea",
}
m["ps-swe"] = {
"Southwestern Pashto",
nil,
"ps",
}
m["ps-kan"] = {
"Kandahari",
nil,
"ps-swe",
}
m["ps-jad"] = {
"Jadrani",
nil,
"ps",
ancestors = "ira-pat-pro"
}
m["xme-azr"] = {
"Old Azari",
nil,
"xme-ott",
aliases = {"Old Azeri", "Azari", "Azeri", "Āḏarī", "Adari", "Adhari"},
}
m["xme-ttc-cen"] = {
"Central Tati",
nil,
"xme-ott",
}
m["xme-ttc-eas"] = {
"Eastern Tati",
nil,
"xme-ott",
}
m["xme-ttc-nor"] = {
"Northern Tati",
nil,
"xme-ott",
}
m["xme-ttc-sou"] = {
"Southern Tati",
nil,
"xme-ott",
}
m["xme-ttc-wes"] = {
"Western Tati",
nil,
"xme-ott",
}
m["xmn"] = {
"Manichaean Middle Persian",
nil,
"pal-lat",
}
m["fa-ear"] = {
"Early New Persian",
127413796,
"fa",
ancestors = "pal-lat",
translit = "fa-cls-translit",
}
m["fa-cls"] = {
"Classical Persian",
9168,
"fa",
ancestors = "fa-ear",
translit = "fa-cls-translit",
}
m["fa-ira"] = {
"Iranian Persian",
3513637,
"fa",
aliases = {"Modern Persian", "Western Persian"},
translit = "fa-ira-translit",
}
m["prs"] = {
"Dari",
178440,
"fa",
aliases = {"Dari Persian", "Central Persian", "Eastern Persian", "Afghan Persian"},
translit = "fa-cls-translit",
}
m["haz"] = {
"Hazaragi",
33398,
"prs",
translit = "fa-cls-translit",
}
m["os-dig"] = {
"Digor Ossetian",
3027861,
"os",
aliases = {"Digoron", "Digor"},
}
m["os-iro"] = {
"Iron Ossetian",
nil,
"os",
aliases = {"Iron"},
}
m["sog-ear"] = {
"Early Sogdian",
nil,
"sog",
}
m["sog-lat"] = {
"Late Sogdian",
nil,
"sog-ear",
}
m["ro-MD"] = {
"Moldovan",
36392,
"ro",
aliases = {"Moldavian"},
}
m["oru-kan"] = {
"Kaniguram",
6363164,
"oru",
}
m["oru-log"] = {
"Logar",
nil,
"oru",
}
m["oos"] = {
"Old Ossetic",
65455882,
"xln",
}
m["oos-ear"] = {
"Early Old Ossetic",
nil,
"oos",
}
m["oos-lat"] = {
"Late Old Ossetic",
nil,
"oos",
}
m["rdb-jir"] = {
"Jirofti",
nil,
"rdb",
}
m["rdb-kah"] = {
"Kahnuji",
nil,
"rdb",
}
-- Southwestern Fars lects
m["fay-bur"] = {
"Burenjani",
nil,
"fay",
}
m["fay-bsh"] = {
"Bushehri",
nil,
"fay",
}
m["fay-dsh"] = {
"Dashtaki",
nil,
"fay",
}
m["fay-dav"] = {
"Davani",
5228140,
"fay",
}
m["fay-eze"] = {
"Emamzada Esmaili",
nil,
"fay",
}
m["fay-gav"] = {
"Gavkoshaki",
nil,
"fay",
}
m["fay-kho"] = {
"Khollari",
nil,
"fay",
}
m["fay-kon"] = {
"Kondazi",
nil,
"fay",
}
m["fay-kzo"] = {
"Old Kazeruni",
nil,
"fay",
}
m["fay-mas"] = {
"Masarami",
nil,
"fay",
}
m["fay-pap"] = {
"Papuni",
nil,
"fay",
}
m["fay-sam"] = {
"Samghani",
nil,
"fay",
}
m["fay-shr"] = {
"Shirazi",
nil,
"fay",
}
m["fay-sho"] = {
"Old Shirazi",
nil,
"fay",
}
m["fay-kar"] = {
"Khargi",
nil,
"fay",
}
m["fay-sor"] = {
"Sorkhi",
nil,
"fay",
}
-- Talysh lects
m["tly-cen"] = {
"Central Talysh",
nil,
"tly",
}
m["tly-asa"] = {
"Asalemi",
nil,
"tly-cen",
}
m["tly-kar"] = {
"Karganrudi",
nil,
"tly-cen",
}
m["tly-tul"] = {
"Tularudi",
nil,
"tly-cen",
}
m["tly-tal"] = {
"Taleshdulabi",
nil,
"tly-cen",
}
m["tly-nor"] = {
"Northern Talysh",
nil,
"tly",
}
m["tly-aze"] = {
"Azerbaijani Talysh",
nil,
"tly-nor",
}
m["tly-anb"] = {
"Anbarani",
nil,
"tly-nor",
}
m["tly-sou"] = {
"Southern Talysh",
nil,
"tly",
}
m["tly-fum"] = {
"Fumani",
nil,
"tly-sou",
}
m["tly-msu"] = {
"Masulei",
nil,
"tly-sou",
}
m["tly-msa"] = {
"Masali",
nil,
"tly-sou",
}
m["tly-san"] = {
"Shandarmani",
nil,
"tly-sou",
}
-- Tafreshi lects
m["xme-amo"] = {
"Amorehi",
nil,
"xme-taf",
}
m["atn"] = {
"Ashtiani",
3436590,
"xme-taf",
}
m["xme-bor"] = {
"Borujerdi",
nil,
"xme-taf",
}
m["xme-ham"] = {
"Hamadani",
6302426,
"xme-taf",
}
m["xme-kah"] = {
"Kahaki",
nil,
"xme-taf",
}
m["vaf"] = {
"Vafsi",
32611,
"xme-taf",
}
-- Kermanic lects
m["kfm"] = {
"Khunsari",
6403030,
"xme-ker",
}
m["xme-mah"] = {
"Mahallati",
nil,
"xme-ker",
}
m["xme-von"] = {
"Vonishuni",
nil,
"xme-ker",
}
m["xme-bdr"] = {
"Badrudi",
nil,
"xme-ker",
}
m["xme-del"] = {
"Delijani",
nil,
"xme-ker",
}
m["xme-kas"] = {
"Kashani",
nil,
"xme-ker",
}
m["xme-kes"] = {
"Kesehi",
nil,
"xme-ker",
}
m["xme-mey"] = {
"Meymehi",
nil,
"xme-ker",
}
m["ntz"] = {
"Natanzi",
6968399,
"xme-ker",
}
m["xme-abz"] = {
"Abuzeydabadi",
nil,
"xme-ker",
}
m["xme-aby"] = {
"Abyanehi",
nil,
"xme-ker",
}
m["xme-far"] = {
"Farizandi",
nil,
"xme-ker",
}
m["xme-jow"] = {
"Jowshaqani",
nil,
"xme-ker",
}
m["xme-nas"] = {
"Nashalji",
nil,
"xme-ker",
}
m["xme-qoh"] = {
"Qohrudi",
nil,
"xme-ker",
}
m["xme-yar"] = {
"Yarandi",
nil,
"xme-ker",
}
m["soj"] = {
"Soi",
7930463,
"xme-ker",
aliases = {"Sohi"},
}
m["xme-tar"] = {
"Tari",
nil,
"xme-ker",
}
m["gzi"] = {
"Gazi",
5529130,
"xme-ker",
}
m["xme-sed"] = {
"Sedehi",
nil,
"xme-ker",
}
m["xme-ard"] = {
"Ardestani",
nil,
"xme-ker",
}
m["xme-zef"] = {
"Zefrehi",
nil,
"xme-ker",
}
m["xme-isf"] = {
"Isfahani",
nil,
"xme-ker",
}
m["xme-kaf"] = {
"Kafroni",
nil,
"xme-ker",
}
m["xme-vrz"] = {
"Varzenehi",
nil,
"xme-ker",
}
m["xme-xur"] = {
"Khuri",
nil,
"xme-ker",
}
m["nyq"] = {
"Nayini",
6983146,
"xme-ker",
}
m["xme-ana"] = {
"Anaraki",
nil,
"xme-ker",
}
m["gbz"] = {
"Zoroastrian Dari",
32389,
"xme-ker",
aliases = {"Behdināni", "Gabri", "Gavrŭni", "Gabrōni"},
}
m["xme-krm"] = {
"Kermani",
nil,
"xme-ker",
}
m["xme-yaz"] = {
"Yazdi",
nil,
"xme-ker",
}
m["xme-bid"] = {
"Bidhandi",
nil,
"xme-ker",
}
m["xme-bij"] = {
"Bijagani",
nil,
"xme-ker",
}
m["xme-cim"] = {
"Chimehi",
nil,
"xme-ker",
}
m["xme-han"] = {
"Hanjani",
nil,
"xme-ker",
}
m["xme-kom"] = {
"Komjani",
nil,
"xme-ker",
}
m["xme-nar"] = {
"Naraqi",
nil,
"xme-ker",
}
m["xme-nus"] = {
"Nushabadi",
nil,
"xme-ker",
}
m["xme-qal"] = {
"Qalhari",
nil,
"xme-ker",
}
m["xme-trh"] = {
"Tarehi",
nil,
"xme-ker",
}
m["xme-val"] = {
"Valujerdi",
nil,
"xme-ker",
}
m["xme-var"] = {
"Varani",
nil,
"xme-ker",
}
m["xme-zor"] = {
"Zori",
nil,
"xme-ker",
}
-- Ramandi lects
m["tks-ebr"] = {
"Ebrahimabadi",
nil,
"tks",
}
m["tks-sag"] = {
"Sagzabadi",
nil,
"tks",
}
m["tks-esf"] = {
"Esfarvarini",
nil,
"tks",
}
m["tks-tak"] = {
"Takestani",
nil,
"tks",
}
m["tks-cal"] = {
"Chali Tati",
nil,
"tks",
aliases = {"Chāli"},
}
m["tks-dan"] = {
"Danesfani",
nil,
"tks",
}
m["tks-xia"] = {
"Khiaraji",
nil,
"tks",
}
m["tks-xoz"] = {
"Khoznini",
nil,
"tks",
}
-- Shughni dialects
m["sgh-bro"] = {
"Bartangi-Oroshori",
nil,
"sgh",
}
m["sgh-bar"] = {
"Bartangi",
nil,
"sgh-bro",
}
m["sgh-oro"] = {
"Oroshori",
nil,
"sgh-bro",
aliases = {"Roshorvi"},
}
m["sgh-rsx"] = {
"Roshani-Khufi",
nil,
"sgh",
}
m["sgh-xuf"] = {
"Khufi",
2562249,
"sgh-rsx",
aliases = {"Xufi", "Xūfī"},
}
m["sgh-ros"] = {
"Roshani",
2597566,
"sgh-rsx",
aliases = {"Rushani", "Rōšāni"},
}
m["sgh-xgb"] = {
"Khughni-Bajui",
nil,
"sgh",
}
m["sgh-xug"] = {
"Khughni",
nil,
"sgh-xgb",
}
m["sgh-baj"] = {
"Bajui",
nil,
"sgh-xgb",
}
-------------------------------------------------------------------------
-- Nuristani varieties --
-------------------------------------------------------------------------
m["bsh-kat"] = {
"Kativiri",
2605045,
"bsh",
aliases = {"Katə́viri"},
}
m["xvi"] = {
"Kamviri",
1193495,
"bsh",
aliases = {"Kamvíri"},
}
m["bsh-mum"] = {
"Mumviri",
nil,
"bsh",
aliases = {"Mumvíri"},
}
--------------------------------------------------------------------------------------
-- Italic varieties --
--------------------------------------------------------------------------------------
-------------------------------------------------------------------------
-- Latin varieties --
-------------------------------------------------------------------------
-- Latin varieties by period
m["itc-ola"] = {
"လပ်တေန်တြေံ",
12289,
"la",
"Latn, Ital",
translit = {
Ital = "Ital-translit"
},
}
m["itc-lan"] = {
"Lanuvian",
16890829,
"itc-ola",
aliases = {"Lanuvine"},
}
m["itc-pra"] = {
"Praenestine",
16889772,
"itc-ola",
aliases = {"Praenestinian"},
}
m["la-cla"] = {
"လပ်တေန်ဝၚ်ဂန္ထ",
253854,
"la",
}
m["la-vul"] = {
"လပ်တေန်အရိုၚ်",
37560,
"la-cla",
}
m["la-afr"] = {
"African Romance",
162064,
"roa-pro",
}
m["la-lat"] = {
"လပ်တေန်လဇုဲ",
1503113,
"la",
ancestors = "la-cla",
}
m["la-med"] = {
"လပ်တေန် ခေတ်လဒေါဝ်",
1163234,
"la",
ancestors = "la-lat",
}
m["la-eme"] = {
"လပ်တေန်ခေတ်လဒေါဝ်ဗွဲမပြဟ်",
nil,
"la-med",
}
m["la-ecc"] = {
"သာသနာခရေတ်လပ်တေန်",
1247932,
"la",
aliases = {"Church Latin", "Liturgical Latin"},
ancestors = "la-lat",
}
m["la-ren"] = {
"လပ်တေန်ခေတ်ကလေၚ်ပလေဝ်ပ္တိုန်တၟိ",
499083,
"la",
ancestors = "la-med",
}
m["la-new"] = {
"လပ်တေန်တၟိ",
1248221,
"la",
aliases = {"Modern Latin"},
ancestors = "la-ren",
}
m["la-con"] = {
"လပ်တေန်ခေတ်ပြိုၚ်ပ္ကာန်",
1246397,
"la-new",
}
-------------------------------------------------------------------------
-- Miscellaneous Italic varieties --
-------------------------------------------------------------------------
m["xfa-cap"] = {
"Capenate",
133182969,
"xfa",
}
m["osc-luc"] = {
"Lucanian",
3265025,
"osc",
}
m["osc-sam"] = {
"Samnite",
133184287,
"osc",
}
-------------------------------------------------------------------------
-- Romance varieties --
-------------------------------------------------------------------------
m["roa-pro"] = {
"Proto-Romance",
3408029,
"la-lat",
ancestors = "la-vul",
}
-----------------------------------------------------
-- Catalan varieties --
-----------------------------------------------------
m["ca-val"] = {
"Valencian",
32641,
"ca",
}
-----------------------------------------------------
-- Franco-Provençal varieties --
-----------------------------------------------------
m["frp-old"] = {
"Old Franco-Provençal",
nil,
"frp",
}
-----------------------------------------------------
-- French and derived creole varieties --
-----------------------------------------------------
m["fro-nor"] = {
"Old Northern French",
2044917,
"fro",
aliases = {"Old Norman", "Old Norman French"},
}
m["fro-pic"] = {
"Picard Old French",
nil,
"fro",
}
m["xno"] = {
"အာန်ဂဝ်-နဝ်မာန်",
35214,
"fro-nor",
}
m["xno-law"] = {
"Law French",
2044323,
"xno",
}
m["zrp"] = {
"Zarphatic",
36994,
"fro",
aliases = {"Judeo-French"},
pseudo_families = "qfa-jew",
}
m["fr-CA"] = {
"Canadian French",
1450506,
"fr",
}
m["fr-CH"] = {
"Swiss French",
1480152,
"fr",
}
m["fr-aca"] = {
"Acadian French",
415109,
"fr",
}
m["fr-lou"] = {
"Louisiana French",
3083213,
"fr",
}
m["fr-mis"] = {
"Missouri French",
3083210,
"fr",
}
m["frc"] = {
"Cajun French",
880301,
"fr-lou",
}
m["ht-sdm"] = {
"Saint Dominican Creole French",
nil,
"ht",
ancestors = "fr",
}
-- Norman varieties
m["nrf-grn"] = {
"Guernsey Norman",
56428,
"nrf",
aliases = {"Guernsey"},
}
m["nrf-jer"] = {
"Jersey Norman",
56430,
"nrf",
aliases = {"Jersey"},
}
-----------------------------------------------------
-- Gallo-Italic varieties --
-----------------------------------------------------
m["egl-old"] = {
"Old Emilian",
nil,
"egl",
}
m["lij-old"] = {
"လဳဂူရဳယာန်တြေံ",
nil,
"lij",
aliases = {"Old Genoese"},
}
m["lmo-old"] = {
"လောန်ဗါတ်တြေံ",
97165320,
"lmo",
}
m["pms-old"] = {
"Old Piedmontese",
nil,
"pms",
aliases = {"Old Piemontese"},
}
m["vec-old"] = {
"Old Venetan",
nil,
"vec",
aliases = {"Old Venetian"},
}
m["rgn-old"] = {
"Old Romagnol",
nil,
"rgn",
}
-----------------------------------------------------
-- Italo-Romance varieties --
-----------------------------------------------------
-- Italian varieties
m["roa-oit"] = {
"Old Italian",
nil,
"it",
}
m["it-CH"] = {
"Switzerland Italian",
672147,
"it",
}
-- Other Italo-Romance varieties
m["nap-old"] = {
"Old Neapolitan",
nil,
"nap",
}
m["scn-old"] = {
"Old Sicilian",
nil,
"scn",
}
-----------------------------------------------------
-- Occitan varieties --
-----------------------------------------------------
m["oc-auv"] = {
"Auvergnat",
35359,
"oc",
aliases = {"Auvernhat", "Auvergnese"},
}
m["oc-gas"] = {
"ဂေါသ်သကာန်",
35735,
"oc",
}
-- standardized dialect of Gascon
m["oc-ara"] = {
"Aranese",
10196,
"oc-gas",
}
m["oc-lan"] = {
"လာမ်ဂဝေအ်ဒံက်ဃှေန်",
942602,
"oc",
aliases = {"Lengadocian"},
}
m["oc-lim"] = {
"လိမူသေန်",
427614,
"oc",
}
m["oc-pro"] = {
"ဖရဝ်ဗေန်သော",
241243,
"oc",
aliases = {"Provencal"},
}
m["oc-pro-old"] = {
"ဖရဝ်ဗေန်သောတြေံ",
2779185,
"pro",
}
m["oc-viv"] = {
"ဝဳဝါရုဝ်-အောဖှာၚ်",
1649613,
"oc",
}
m["oc-jud"] = {
"Shuadit",
56472,
"oc",
aliases = {
"Chouhadite", "Chouhadit", "Chouadite", "Chouadit", "Shuhadit",
"Judeo-Occitan", "Judæo-Occitan", "Judaeo-Occitan",
"Judeo-Provençal", "Judæo-Provençal", "Judaeo-Provençal",
"Judeo-Provencal", "Judaeo-Provencal",
"Judeo-Comtadin", "Judæo-Comtadin", "Judaeo-Comtadin",
},
pseudo_families = "qfa-jew",
}
-----------------------------------------------------
-- Portuguese and derived creole varieties --
-----------------------------------------------------
-- Portuguese
m["pt-BR"] = {
"Brazilian Portuguese",
750553,
"pt",
}
m["pt-PT"] = {
"European Portuguese",
922399,
"pt",
}
-- Kabuverdianu (Cape Verde Creole, Cape Verdean Creole)
m["kea-bar"] = {
"Barlavento Kabuverdianu",
2217638,
"kea",
aliases = {"Barlavento", "Barlavento Creole", "Sampadjudu"},
}
m["kea-bvi"] = {
"Boa Vista Kabuverdianu",
16501837,
"kea-bar",
aliases = {"Boa Vista Creole"},
}
m["kea-sal"] = {
"Sal Kabuverdianu",
18707467,
"kea-bar",
aliases = {"Sal Creole"},
}
m["kea-saa"] = {
"Santo Antão Kabuverdianu",
18707472,
"kea-bar",
aliases = {"Santo Antão Creole"},
}
m["kea-sni"] = {
"São Nicolau Kabuverdianu",
18707549,
"kea-bar",
aliases = {"São Nicolau Creole"},
}
m["kea-svi"] = {
"São Vicente Kabuverdianu",
18707550,
"kea-bar",
aliases = {"São Vicente Creole"},
}
m["kea-sot"] = {
"Sotavento Kabuverdianu",
10261559,
"kea",
aliases = {"Sotavento", "Sotavento Creole", "Badiu"},
}
m["kea-bra"] = {
"Brava Kabuverdianu",
18670181,
"kea-sot",
aliases = {"Brava Creole"},
}
m["kea-fog"] = {
"Fogo Kabuverdianu",
18706861,
"kea-sot",
aliases = {"Fogo Creole"},
}
m["kea-mai"] = {
"Maio Kabuverdianu",
18707286,
"kea-sot",
aliases = {"Maio Creole"},
}
m["kea-san"] = {
"Santiago Kabuverdianu",
35117,
"kea-sot",
aliases = {"Santiago Creole"},
}
m["kea-alu"] = {
"ALUPEC Kabuverdianu",
375704,
"kea",
aliases = {"ALUPEC", "Alfabeto Unificado para a Escrita do Cabo-Verdiano"},
}
-----------------------------------------------------
-- Rhaeto-Romance varieties --
-----------------------------------------------------
-- Friulian varieties
m["fur-old"] = {
"Old Friulian",
nil,
"fur",
}
-- Ladin varieties
m["lld-amp"] = {
"Ampezan Ladin",
25617466,
"lld",
aliases = {"Anpezan", "Ampezan", "Ampezzan", "Ampezzano"},
}
m["lld-bad"] = {
"Badiot Ladin",
3706562,
"lld",
aliases = {"Badiot", "Badioto", "Badiotto"},
}
m["lld-cad"] = {
"Cadorino Ladin",
3706570,
"lld",
aliases = {"Cadorino"},
}
m["lld-fas"] = {
"Fascian Ladin",
742627,
"lld",
aliases = {"Fascian", "Fassano"},
}
m["lld-fod"] = {
"Fodom Ladin",
3706605,
"lld",
aliases = {"Fodom", "Livinallese"},
}
m["lld-for"] = {
"Fornes Ladin",
5470374,
"lld",
aliases = {"Fornes"},
}
m["lld-ghe"] = {
"Gherdëina Ladin",
3706597,
"lld",
aliases = {"Gherdëina", "Gardenese", "Val Gardena"},
}
m["lld-non"] = {
"Nones Ladin",
1055027,
"lld",
aliases = {"Nones", "Noneso"},
}
-- Romansh varieties
m["rm-old"] = {
"Old Romansh",
nil,
"rm",
}
m["rm-put"] = {
"Puter Romansh",
688309,
"rm",
aliases = {"Puter", "Putèr", "Upper Engadine", "rm-puter"},
}
m["rm-srm"] = {
"Surmiran Romansh",
690216,
"rm",
aliases = {"Surmiran", "rm-surmiran",
"Surmiran-Albula", -- Glottolog
},
}
m["rm-srs"] = {
"Sursilvan Romansh",
688348,
"rm",
aliases = {"Sursilvan", "rm-sursilv"},
}
m["rm-sut"] = {
"Sutsilvan Romansh",
688272,
"rm",
aliases = {"Sutsilvan", "rm-sutsilv"},
varieties = {"Scharans Sutsilvan"}, -- per Glottolog
}
m["rm-val"] = {
"Vallader Romansh",
690226,
"rm",
aliases = {"Vallader", "Putèr", "Lower Engadine", "rm-vallader"},
}
m["rm-gri"] = {
"Rumantsch Grischun",
688873,
"rm",
aliases = {"rm-rumgr"},
}
-----------------------------------------------------
-- Sardinian varieties --
-----------------------------------------------------
m["sc-old"] = {
"Old Sardinian",
nil,
"sc",
}
m["sc-src"] = {
"Logudorese",
777974,
"sc",
aliases = {"Logudorese Sardinian"},
}
m["sc-nuo"] = {
"Nuorese",
nil,
"sc-src",
aliases = {"Nuorese Sardinian"},
}
m["sc-sro"] = {
"Campidanese",
35348,
"sc",
aliases = {"Campidanese Sardinian"},
}
-----------------------------------------------------
-- Spanish varieties --
-----------------------------------------------------
m["es-ear"] = {
"Early Modern Spanish",
5364419,
"es",
}
m["es-AR"] = {
"Rioplatense Spanish",
509780,
"es",
}
m["es-BO"] = {
"Bolivian Spanish",
510730,
"es",
}
m["es-CL"] = {
"Chilean Spanish",
857295,
"es",
}
m["es-CO"] = {
"Colombian Spanish",
1115875,
"es",
}
m["es-CU"] = {
"Cuban Spanish",
824909,
"es",
}
m["es-MX"] = {
"Mexican Spanish",
616620,
"es",
}
m["es-PE"] = {
"Peruvian Spanish",
736236,
"es",
}
m["es-PH"] = {
"Philippine Spanish",
22091406,
"es",
}
m["es-US"] = {
"United States Spanish",
2301077,
"es",
aliases = {"US Spanish"},
}
--use label "US Spanish" to put Spanish terms in this category
m["es-PR"] = {
"Puerto Rican Spanish",
7258609,
"es",
}
m["es-VE"] = {
"Venezuelan Spanish",
840017,
"es",
}
m["es-lun"] = {
"Lunfardo",
1401612,
"es",
}
----------------------------------------------------------------------------------------------------------------------
-- Japonic varieties --
----------------------------------------------------------------------------------------------------------------------
-- Japanese varieties
m["ja-mid"] = {
"ဂျပါန် လဒေါဝ်",
6841474,
"ojp",
ancestors = "ojp",
}
m["ja-mid-ear"] = {
"Early Middle Japanese",
182695,
"ja-mid",
}
m["ja-mid-lat"] = {
"ဂျပါန်တြေံခေတ်လဇုဲ",
1816184,
"ja-mid",
ancestors = "ja-mid-ear",
}
m["ja-ear"] = {
"Early Modern Japanese",
5326692,
"ja",
ancestors = "ja-mid-lat",
}
m["ojp-eas"] = {
"Eastern Old Japanese",
65247957,
"ojp",
}
m["ja-cla"] = {
"Classical Japanese",
1332057,
"ja",
-- FIXME: This is redundant because Classical Japanese is considered a child of (Modern) Japanese, which has ja-mid-ear
-- (as well as ja-mid-lat) as ancestors. However, the intent here is that the *direct* ancestor of ja-cla is ja-mid-ear
-- and ja-mid-lat is not an ancestor. Need to rethink ancestor handling.
-- ancestors = "ja-mid-ear",
}
----------------------------------------------------------------------------------------------------------------------
-- Koreanic varieties --
----------------------------------------------------------------------------------------------------------------------
-- Korean varieties
m["oko-lat"] = {
"ကိုဝ်ရဳယျာတြေံခေတ်လဇုဲ",
nil,
"oko",
}
m["okm-ear"] = {
"Early Middle Korean",
nil,
"okm",
}
m["ko-cen"] = {
"Central Korean",
nil,
"ko",
}
m["ko-gyg"] = {
"Gyeonggi Korean",
485492,
"ko-cen",
aliases = {"Seoul Korean"},
}
m["ko-chu"] = {
"Chungcheong Korean",
625800,
"ko-cen",
aliases = {"Hoseo Korean"},
}
m["ko-hwa"] = {
"Hwanghae Korean",
16183706,
"ko-cen",
}
m["ko-gan"] = {
"Gangwon Korean",
11260444,
"ko-cen",
aliases = {"Yeongdong Korean"},
}
m["ko-gys"] = {
"Gyeongsang Korean",
488002,
"ko",
aliases = {"Southeastern Korean"},
}
m["ko-jeo"] = {
"Jeolla Korean",
11250166,
"ko",
aliases = {"Southwestern Korean"},
}
m["ko-pyo"] = {
"Pyongan Korean",
7263142,
"ko",
aliases = {"Northwestern Korean"},
}
m["ko-ham"] = {
"Hamgyong Korean",
860702,
"ko",
aliases = {"Northeastern Korean"},
}
m["ko-yuk"] = {
"Yukjin Korean",
16171275,
"ko",
aliases = {"Yukchin Korean", "Ryukjin Korean", "Ryukchin Korean"},
}
----------------------------------------------------------------------------------------------------------------------
-- Mongolic varieties --
----------------------------------------------------------------------------------------------------------------------
m["xng-ear"] = {
"Early Middle Mongol",
nil,
"xng",
}
m["xng-lat"] = {
"Late Middle Mongol",
nil,
"xng",
ancestors = "xng-ear",
}
m["mn-kha"] = {
"Khalkha Mongolian",
6399808,
"mn",
aliases = {"Khalkha"},
}
m["mn-ord"] = {
"Ordos Mongolian",
716904,
"mn",
aliases = {"Ordos"},
}
m["mn-cha"] = {
"Chakhar Mongolian",
907425,
"mn",
aliases = {"Chakhar"},
}
m["mn-khr"] = {
"Khorchin Mongolian",
3196210,
"mn",
aliases = {"Khorchin"},
}
----------------------------------------------------------------------------------------------------------------------
-- Niger-Congo varieties --
----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------
-- Akan varieties --
-----------------------------------------------------
m["tw"] = {
"Twi Akan",
36850,
"ak",
aliases = {"Twi"},
}
m["abr"] = {
"Abron",
34831,
"tw",
aliases = {"Brong", "Bono", "Bono Twi"},
}
m["tw-asa"] = {
"Asante Twi",
19261685,
"tw",
aliases = {"Asante", "Ashanti", "Ashante"},
}
m["tw-aku"] = {
"Akuapem Twi",
31150449,
"tw",
aliases = {"Akuapem", "Akuapim", "Akwapem Twi", "Akwapi"},
}
m["fat"] = {
"Fante Akan",
35570,
"ak",
aliases = {"Fante", "Fanti", "Fantse", "Mfantse"},
}
m["wss"] = {
"Wasa",
36914,
"ak",
}
-- creole
m["alv-kro"] = {
"Kromanti",
1093206,
"crp-mar",
}
-----------------------------------------------------
-- Bantu varieties --
-----------------------------------------------------
m["bnt-cmn"] = {
"Common Bantu",
nil,
"bnt-pro",
}
m["xh-bha"] = {
"Bhaca",
4900493,
"xh",
aliases = {"isiBhaca", "IsiBhaca"},
}
-- Rwanda-Rundi varieties
m["rw-kin"] = {
"Kinyarwanda",
33573,
"rw",
aliases = {"Rwanda"},
}
m["rw-run"] = {
"Kirundi",
33583,
"rw",
aliases = {"Rundi"},
}
-----------------------------------------------------
-- Fula varieties --
-----------------------------------------------------
m["fuc"] = {
"Pulaar",
1420205,
"ff",
}
m["fuf"] = {
"Pular",
3915357,
"ff",
}
m["ffm"] = {
"Maasina Fulfulde",
3915322,
"ff",
}
m["fue"] = {
-- no enwiki entry as of yet but frwiki and pmswiki have one
"Borgu Fulfulde",
12952426,
"ff",
}
m["fuh"] = {
-- no enwiki entry as of yet but frwiki and pmswiki have one
"Western Niger Fulfulde",
12952430,
"ff",
}
m["fuq"] = {
-- no enwiki entry as of yet but frwiki, hrwiki and pmswiki have one
"Central-Eastern Niger Fulfulde",
12628799,
"ff",
}
m["fuv"] = {
-- no enwiki entry as of yet but dewiki, frwiki, hrwiki, pmswiki and swwiki have one
"Nigerian Fulfulde",
36129,
"ff",
}
m["fub"] = {
-- no enwiki entry as of yet but dewiki, frwiki, hrwiki, pmswiki, ptwiki, swwiki and yowiki have one
"Adamawa Fulfulde",
34776,
"ff",
}
m["fui"] = {
-- no enwiki entry as of yet but pmswiki and swwiki have one
"Bagirmi Fulfulde",
11003859,
"ff",
}
----------------------------------------------------------------------------------------------------------------------
-- Papuan varieties --
----------------------------------------------------------------------------------------------------------------------
m["kze"] = {
"Kosena",
12952663,
"auy",
}
m["ont"] = {
"Ontenu",
3352827,
"gaj",
aliases = {"Ontena"},
}
----------------------------------------------------------------------------------------------------------------------
-- Salishan varieties --
----------------------------------------------------------------------------------------------------------------------
m["lut-nor"] = {
"Northern Lushootseed",
nil,
"lut",
aliases = {"Northern Puget Sound Salish"},
}
m["slh"] = {
"Southern Lushootseed",
7997684,
"lut",
aliases = {"Southern Puget Sound Salish", "Twulshootseed", "Whulshootseed"},
}
m["ska"] = {
"Skagit",
12642471,
"lut-nor",
}
m["sno"] = {
"Snohomish",
25559662,
"lut-nor",
}
----------------------------------------------------------------------------------------------------------------------
-- Sino-Tibetan varieties --
----------------------------------------------------------------------------------------------------------------------
m["tbq-pro"] = {
"ဗၟာ-တိဗဝ်တဝ် အခိုက်ကၞာ",
7251864,
"sit-pro",
}
-----------------------------------------------------
-- Chinese varieties --
-----------------------------------------------------
------------- Old Chinese, Middle Chinese -------------
m["och-ear"] = {
"Early Old Chinese",
nil,
"och",
}
m["och-lat"] = {
"Late Old Chinese",
nil,
"och",
}
m["ltc-ear"] = {
"Early Middle Chinese",
nil,
"ltc",
}
m["ltc-lat"] = {
"Late Middle Chinese",
nil,
"ltc",
}
------------- Classical/Literary varieties -------------
-- FIXME: Temporary.
m["lzh-shi"] = {
"Traditional Chinese poetry",
1759242,
"lzh",
}
-- FIXME: Temporary.
m["lzh-cii"] = {
"Ci",
1091366,
"lzh",
}
-- FIXME: Temporary.
m["lzh-yue"] = {
"Classical Cantonese",
nil,
"lzh",
}
-- FIXME: Temporary.
m["lzh-cmn"] = {
"Classical Mandarin",
nil,
"lzh",
}
-- FIXME: Temporary.
m["lzh-tai"] = {
"Classical Taishanese",
nil,
"lzh",
}
-- FIXME: Temporary.
m["lzh-cmn-TW"] = {
"Classical Taiwanese Mandarin",
nil,
"lzh-cmn",
}
-- FIXME: Temporary.
m["lzh-VI"] = {
"Vietnamese Classical Chinese",
17034227,
"lzh",
}
-- FIXME: Temporary.
m["lzh-KO"] = {
"Korean Classical Chinese",
10496257,
"lzh",
ietf_subtag = "lzh-KR" -- KR = South Korea, as there is no code for Korea as a whole
}
-- FIXME: Temporary.
m["lzh-lit"] = {
"Literary Chinese",
nil,
"lzh",
}
-- FIXME: Temporary. FIXME: Do we need this? How does it differ from Old Chinese?
m["lzh-pre"] = {
"Pre-Classical Chinese",
nil,
"lzh",
}
------------- Written Vernacular varieties -------------
-- FIXME: Temporary.
m["cmn-wvc"] = {
"Written vernacular Mandarin",
783605,
"cmn",
}
-- FIXME: Temporary. FIXME: How does this differ from "Literary Cantonese"?
m["yue-wvc"] = {
"Written vernacular Cantonese",
nil,
"yue",
}
-- FIXME: Temporary.
m["zhx-tai-wvc"] = {
"Written vernacular Taishanese",
nil,
"zhx-tai",
}
------------- Mandarin varieties -------------
-- FIXME: Temporary. NOTE: The Linguist List assigns the "w:Beijing dialect" (Wikidata 1147606) the code "cmn-bej" and
-- the larger "w:Beijing Mandarin (division of Mandarin)" dialect group (Wikidata 2169652; what we call "Beijingic
-- Mandarin", after Glottolog) the code "cmn-bei".
m["cmn-bei"] = {
"Beijing Mandarin",
1147606,
"cmn-bec",
}
-- FIXME: Temporary.
m["cmn-bec"] = {
"Beijingic Mandarin",
2169652,
"cmn",
}
-- FIXME: Temporary. NOTE: The Linguist List uses the code cmn-zho.
m["cmn-cep"] = {
"Central Plains Mandarin",
3048775,
"cmn",
aliases = {"Zhongyuan Mandarin"},
}
m["cmn-ear"] = {
"Early Mandarin",
837169,
"cmn",
ancestors = "ltc",
}
-- FIXME: Temporary.
m["cmn-gua"] = {
"Guanzhong Mandarin",
3431648,
"cmn-cep",
}
-- FIXME: Temporary. Appears to be a subdialect of Guiliu Mandarin, which in turn is a subdialect of Southwestern Mandarin.
m["cmn-gui"] = {
"Guilin Mandarin",
11111636,
"cmn-sow",
}
m["cmn-jhu"] = {
"Jianghuai Mandarin",
2128953,
"cmn",
aliases = {"Lower Yangtze Mandarin"},
}
-- FIXME: Temporary.
m["cmn-lan"] = {
"Lanyin Mandarin",
662754,
"cmn",
}
-- FIXME: Temporary.
m["cmn-MY"] = {
"Malaysian Mandarin",
13646143,
"cmn",
}
-- FIXME: Temporary.
m["cmn-nan"] = {
"Nanjing Mandarin",
2681098,
"cmn-jhu",
}
-- FIXME: Temporary.
m["cmn-noe"] = {
"Northeastern Mandarin",
1064504,
"cmn",
}
-- FIXME: Temporary.
m["cmn-PH"] = {
"Philippine Mandarin",
7185155,
"cmn",
}
-- FIXME: Temporary.
m["cmn-SG"] = {
"Singapore Mandarin",
1048980,
"cmn",
}
-- FIXME: Temporary.
m["cmn-sow"] = {
"Southwestern Mandarin",
2609239,
"cmn",
}
-- FIXME: Temporary. Appears to be a subdialect of Jilu Mandarin.
m["cmn-tia"] = {
"Tianjin Mandarin",
7800220,
"cmn",
}
-- FIXME: Temporary. NOTE: Wikidata also has Q4380827 "Taiwanese Mandarin", defined as "rare dialect of Standard Chinese
-- (Mandarin) used in Taiwan, which is strongly influenced by Taiwanese Hokkien; mostly used by elderlies" and having no
-- English Wikipedia article (but see w:zh:臺灣國語).
m["cmn-TW"] = {
"Taiwanese Mandarin",
262828,
"cmn",
}
-- FIXME: Temporary. Appears to be a subdialect of Wu-Tian Mandarin, in turn a subdialect of Southwestern Mandarin.
-- Given the code cmn-xwu in the Linguist List.
m["cmn-wuh"] = {
"Wuhan Mandarin",
11124731,
"cmn-sow",
aliases = {"Wuhanese"},
}
-- FIXME: Temporary. Appears to be a subdialect of Lanyin Mandarin.
m["cmn-xin"] = {
"Xining Mandarin",
nil,
"cmn-lan",
}
-- FIXME: Temporary.
m["cmn-yan"] = {
"Yangzhou Mandarin",
nil,
"cmn-jhu",
}
------------- Cantonese varieties -------------
-- FIXME: Temporary.
m["yue-gua"] = {
"Guangzhou Cantonese",
nil,
"yue",
}
-- FIXME: Temporary. Given the codes yue-yue or yue-can in the Linguist List.
m["yue-HK"] = {
"Hong Kong Cantonese",
5894342,
"yue",
}
-- FIXME: Temporary. FIXME: How does this differ from "Written vernacular Cantonese"?
m["yue-lit"] = {
"Literary Cantonese",
2472605,
"yue",
}
------------- Wu varieties -------------
m["wuu-han"] = {
"Hangzhounese",
5648144,
"wuu",
}
m["wuu-nin"] = {
"Ningbonese",
3972199,
"wuu",
}
-- FIXME: Temporary.
m["wuu-nor"] = {
"Northern Wu",
7675988,
"wuu",
aliases = {"Taihu Wu"},
}
-- FIXME: Temporary? Subvariety of Taihu Wu. NOTE: "chm" stands for Chongming, the main dialect, to avoid a conflict
-- with Shanghainese.
m["wuu-chm"] = {
"Shadi Wu",
6112340,
"wuu-nor",
}
m["wuu-sha"] = {
"Shanghainese",
36718,
"wuu-nor",
}
m["wuu-suz"] = {
"Suzhounese",
831744,
"wuu-nor",
}
-- FIXME: Temporary. May be converted into a full language and/or split.
m["wuu-wen"] = {
"Wenzhounese",
710218,
"wuu",
}
------------- Xiang varieties -------------
m["hsn-lou"] = {
"Loudi Xiang",
10943823,
"hsn-old",
}
m["hsn-hya"] = {
"Hengyang Xiang",
20689035,
"hsn-hzh",
}
m["hsn-hzh"] = {
"Hengzhou Xiang",
nil,
"hsn",
}
m["hsn-new"] = {
"New Xiang",
7012696,
"hsn",
aliases = {"Chang-Yi"},
}
m["hsn-old"] = {
"Old Xiang",
7085453,
"hsn",
aliases = {"Lou-Shao"},
}
------------- Hakka varieties -------------
-- FIXME: Temporary.
m["hak-dab"] = {
"Dabu Hakka",
19855566,
"hak", -- formerly hak-TW but seems to be spoken primary in Dabu County in Guangdong
}
-- FIXME: Temporary.
m["hak-eam"] = {
"Early Modern Hakka",
nil,
"hak",
}
-- FIXME: Temporary.
m["hak-hai"] = {
"Hailu Hakka",
17038519,
"hak", -- often considered a Taiwanese lect but also spoken in [[Shanwei]], [[Guangdong]]
}
-- FIXME: Temporary.
m["hak-HK"] = {
"Hong Kong Hakka",
2675834,
"hak",
}
-- FIXME: Temporary.
m["hak-hui"] = {
"Huiyang Hakka",
16873881,
"hak",
}
-- FIXME: Temporary.
m["hak-hui-MY"] = {
"Malaysian Huiyang Hakka",
nil,
"hak-hui",
}
-- FIXME: Temporary. Similar to and possibly the parent of Sixian Hakka in Taiwan.
m["hak-mei"] = {
"Meixian Hakka",
839295,
"hak",
aliases = {"Moiyan Hakka", "Meizhou Hakka"},
}
-- FIXME: Temporary.
m["hak-six"] = {
"Sixian Hakka",
9668261,
"hak-TW",
}
-- FIXME: Temporary.
m["hak-TW"] = {
"Taiwanese Hakka",
2391532,
"hak",
}
-- FIXME: Temporary.
m["hak-zha"] = {
"Zhao'an Hakka",
6703311,
"hak",
aliases = {"Zhangzhou Hakka"},
}
-- Southern Min varieties --
m["nan-anx"] = {
"Anxi Hokkien",
97064149,
"nan-qua",
}
m["nan-cha"] = {
"Changtai Hokkien",
nil,
"nan-zha",
}
m["nan-hou"] = {
"Houlu Min",
19855492,
"nan-dat",
}
m["nan-hui"] = {
"Hui'an Hokkien",
16241797,
"nan-qua",
}
m["nan-jin"] = {
"Jinjiang Hokkien",
11089375,
"nan-qua",
}
m["nan-kin"] = {
"Kinmenese Hokkien",
56278342,
"nan-xia",
aliases = {"Kinmen Hokkien"},
}
m["nan-med"] = {
"Medan Hokkien",
6805114,
"nan-zha",
}
m["nan-pen"] = {
"Penang Hokkien",
11120689,
"nan-zha",
}
m["nan-hbl-PH"] = {
"Philippine Hokkien",
3236692,
"nan-qua",
}
m["nan-qia"] = {
"Qianlu Min",
19842517,
"nan-dat",
}
m["nan-qua"] = {
"Quanzhou Hokkien",
2251677,
"nan-hbl",
aliases = {"Chinchew", "Choanchew"},
}
-- FIXME: Temporary? Derived from both Quanzhou and Zhangzhou Hokkien.
m["nan-hbl-SG"] = {
"Singapore Hokkien",
3846528,
"nan-hbl",
}
m["nan-spm"] = {
"Southern Malaysian Hokkien",
7570322,
"nan-qua",
aliases = {"Southern Malaysia Hokkien", "Southern Peninsular Malaysian Hokkien", "Southern Peninsular Malaysia Hokkien"}
}
m["nan-hbl-TW"] = {
"Taiwanese Hokkien",
36778,
"nan-hbl",
}
m["nan-ton"] = {
"Tong'an Hokkien",
nil,
"nan-xia",
}
m["nan-xia"] = {
"Xiamen Hokkien",
68744,
"nan-hbl",
aliases = {"Amoy", "Amoyese", "Amoynese", "Xiamenese"},
}
m["nan-yon"] = {
"Yongchun Hokkien",
65118728,
"nan-qua",
}
m["nan-zha"] = {
"Zhangzhou Hokkien",
8070492,
"nan-hbl",
aliases = {"Changchew", "Chiangchew", "Changchow"},
}
m["nan-zho"] = {
"Zhao'an Hokkien",
65118728,
"nan-zha",
aliases = {"Zhao'an", "Chawan", "Chawan Hokkien"},
}
m["nan-zhp"] = {
"Zhangping Hokkien",
15937822,
"nan-zha",
}
------------- Other Min varieties -------------
-- FIXME: Temporary. Affiliation within Min uncertain; some combination of Eastern and Southern.
m["zhx-zho"] = {
"Zhongshan Min",
8070958,
"zh",
}
------------- Other Chinese varieties -------------
-- FIXME: Temporary. Affiliation within Chinese uncertain; possibly Yue.
m["zhx-dan"] = {
"Danzhou Chinese",
2578935,
"zh",
}
------------- Chinese romanization varieties -------------
-- [[Wiktionary:Information desk/2022/June#Etymology Coding Issue]]
-- [[Wiktionary:Grease pit/2022/June#Transliteration Systems in Etymologies 2]]
m["cmn-pinyin"] = {
"Hanyu Pinyin",
42222,
"cmn",
aliases = {"Pinyin"},
}
m["cmn-tongyong"] = {
"Tongyong Pinyin",
700739,
"cmn",
}
m["cmn-wadegiles"] = {
"Wade–Giles",
208442,
"cmn",
aliases = {"Wade-Giles", "Wade Giles"},
}
m["zh-postal"] = {
"Postal Romanization",
151868,
"zh",
}
-- Chinese cyrillization
m["cmn-palladius"] = {
"Palladius",
1234239,
"cmn",
aliases = {"Palladius system"},
}
-----------------------------------------------------
-- Tibetic varieties --
-----------------------------------------------------
m["adx"] = {
"Amdo Tibetan",
56509,
"bo",
}
m["kbg"] = {
"Khamba",
12952626,
"bo",
}
m["khg"] = {
"Khams Tibetan",
56601,
"bo",
}
m["tsk"] = {
"Tseku",
11159532,
"bo",
}
----------------------------------------------------------------------------------------------------------------------
-- Tai-Kadai varieties --
----------------------------------------------------------------------------------------------------------------------
m["th-old"] = {
"သေံတြေံ",
nil,
"tai-swe-pro",
wikipedia_article = "Thai language#Old Thai",
}
m["th-suk"] = {
"သူခိုဝ်ထိုၚ် သေံတြေံ", -- 1238-1438. Cannot use "Sukhothai Thai" as Sukhothai is the current city and "Sukhothai Thai" is a lect.
nil,
"th-old",
aliases = {"Sukhothai Siamese"},
wikipedia_article = "Thai language#Old Thai",
}
m["th-ayu"] = {
"အယုဒ္ဓယ သေံတြေံ", -- 1351-1767. Cannot use "Ayutthaya Thai" as Ayutthaya is the current city.
nil,
"th-old",
aliases = {"Ayutthaya Siamese"},
wikipedia_article = "Thai language#Old Thai",
}
--[[
m["th-new"] = {
"Hacked Thai", -- temporary for testing new translit/display methods
nil,
"th",
translit = "User:Benwing2/th-scraping-translit",
display_text = "User:Benwing2/th-scraping-translit",
strip_diacritics = "User:Benwing2/th-scraping-translit",
preprocess_links = "User:Benwing2/th-scraping-translit",
}
]]
m["tai-shz"] = {
"Shangsi Zhuang",
13216,
"za",
}
----------------------------------------------------------------------------------------------------------------------
-- Turkic varieties --
----------------------------------------------------------------------------------------------------------------------
m["trk-cmn-pro"] = {
"Proto-Common Turkic",
1126028,
"trk-pro",
}
m["trk-ogr-pro"] = {
"Proto-Oghur",
1422731,
"trk-pro",
family = "trk-ogr",
}
m["trk-bul-pro"] = {
"Proto-Bulgar",
nil,
"trk-ogr-pro",
}
m["trk-ogz-pro"] = {
"Proto-Oghuz",
494600,
"trk-pro",
family = "trk-ogz",
aliases = {"Southwestern Common Turkic"},
}
m["crh-dbj"] = {
"Dobrujan Tatar",
12811566,
"crh",
aliases = {"Romanian Tatar"},
}
m["cv-ana"] = {
"Anatri Chuvash",
nil,
"cv",
aliases = {"Anatri", "Lower Chuvash"},
}
m["cv-mid"] = {
"Middle Chuvash",
nil,
"cv",
ancestors = "cv-old",
}
m["cv-old"] = {
"Old Chuvash",
nil,
"cv",
ancestors = "xbo-vol",
}
m["cv-vir"] = {
"Viryal Chuvash",
4278332,
"cv",
aliases = {"Viryal", "Upper Chuvash"},
}
m["kjh-fyu"] = {
"Fuyu Kyrgyz",
2598963,
"kjh",
aliases = {"Fuyu Kirgiz", "Fuyu Kirghiz", "Manchurian Kyrgyz", "Manchurian Kirgiz", "Manchurian Kirghiz"},
}
m["klj-arg"] = {
"Arghu",
33455,
"klj",
ancestors = "trk-cmn-pro",
}
m["otk-kir"] = {
"Old Kirghiz",
83142,
"otk",
aliases = {"Yenisei Turkic", "Yenisei Kyrgyz"},
}
m["otk-ork"] = {
"Orkhon Turkic",
31295480,
"otk",
}
m["qwm-cum"] = {
"Cuman",
1075050,
"qwm",
aliases = {"Kuman", "Polovtsian", "Polovcian"},
}
m["qwm-arm"] = {
"Armeno-Kipchak",
2027503,
"qwm",
ancestors = "qwm-cum",
aliases = {"Xıpçaχ tili", "Tatarça"},
}
m["qwm-mam"] = {
"Mamluk-Kipchak",
4279942,
"qwm",
aliases = {"Mameluk-Kipchak"},
}
m["az-cls"] = {
"Classical Azerbaijani",
nil,
"az",
aliases = {"Classical Azeri"},
}
m["qxq"] = {
"Qashqai",
13192,
"az",
aliases = {"Qaşqay", "Qashqayi", "Kashkai", "Kashkay"},
}
m["tr-CY"] = {
"Cypriot Turkish",
7917392,
"tr",
}
m["uz-afg"] = {
-- NOTE: has ISO 639-3 code uzs assigned to it.
"Afghan Uzbek",
1066787,
"uz",
aliases = {"Southern Uzbek"},
translit = "uz-afg-translit",
}
m["xbo-dan"] = {
"Danube Bulgar",
nil,
"xbo",
}
m["xbo-vol"] = {
"Volga Bulgar",
nil,
"xbo",
}
----------------------------------------------------------------------------------------------------------------------
-- Uralic varieties --
----------------------------------------------------------------------------------------------------------------------
m["fiu-pro"] = {
"ဖေန်နဝ်-ဥူဂရေတ်-အခိုက်ကၞာ",
79890,
"urj-pro",
}
m["urj-fpr-pro"] = {
"ဖေန်နဝ်-ပဵုမေတ်-အခိုက်ကၞာ",
nil,
"urj-pro",
}
m["krl-nor"] = {
"North Karelian",
125501196,
"krl",
}
m["krl-sou"] = {
"South Karelian",
129812730,
"krl",
}
m["mns-eas"] = {
"Eastern Mansi",
30311755,
"mns-cen",
}
m["mns-wes"] = {
"Western Mansi",
30311756,
"mns-cen",
}
----------------------------------------------------------------------------------------------------------------------
-- Yeneseian varieties --
----------------------------------------------------------------------------------------------------------------------
m["qfa-yke-pro"] = {
"Proto-Ketic",
nil,
"qfa-yen-pro",
family = "qfa-yke",
}
m["qfa-yko-pro"] = {
"Proto-Kottic",
nil,
"qfa-yen-pro",
family = "qfa-yko",
}
m["qfa-yrn-pro"] = {
"Proto-Arinic",
nil,
"qfa-yen-pro",
family = "qfa-yrn",
}
m["qfa-ypm-pro"] = {
"Proto-Pumpokolic",
nil,
"qfa-yen-pro",
family = "qfa-ypm",
}
----------------------------------------------------------------------------------------------------------------------
-- Miscellaneous varieties --
----------------------------------------------------------------------------------------------------------------------
m["mul-tax"] = {
"taxonomic name",
522190,
"mul",
}
-----------------------------------------------------
-- Elamite varieties --
-----------------------------------------------------
m["elx-old"] = {
"Old Elamite",
nil,
"elx",
}
m["elx-mid"] = {
"Middle Elamite",
nil,
"elx",
}
m["elx-neo"] = {
"Neo-Elamite",
nil,
"elx",
}
m["elx-ach"] = {
"Achaemenid Elamite",
nil,
"elx",
}
-----------------------------------------------------
-- Substrates --
-----------------------------------------------------
-- Pre-Roman substrates
m["qsb-ibe"] = {
"Paleo-Hispanic",
246801,
"und",
family = "qfa-sub",
aliases = {"Palaeo-Hispanic", "Paleohispanic", "Palaeohispanic", "Paleo-Iberian", "Palaeo-Iberian"},
}
m["qsb-bal"] = {
"Paleo-Balkan",
1815070,
"und",
family = "qfa-sub",
aliases = {"Palaeo-Balkan", "Paleobalkan", "Palaeobalkan"},
}
m["xaq"] = {
"Aquitanian",
500522,
"euq-pro",
family = "euq",
}
return require("Module:languages").finalizeData(m, "language", true)
gw5930k1fyeztbhu11ibycsdfx2zqet
မဝ်ဂျူ:etymology languages/code to canonical name
828
52683
402258
300273
2026-10-01T05:40:38Z
Intobesa.bot
1035
Bot: ပွမကၠာဲစုတ်ယၟုနူဘာသာအၚ်္ဂလိက်
402258
Scribunto
text/plain
return {
["aae"] = "Arbëresh Albanian",
["aat"] = "Arvanitika Albanian",
["act"] = "Achterhoeks",
["adx"] = "Amdo Tibetan",
["ae-old"] = "အဗါတ်သတေန်တြေံ",
["ae-yng"] = "အဗါတ်သတေန်အဝဲဍောတ်",
["ain-hok"] = "Hokkaido Ainu",
["ain-kur"] = "Kuril Ainu",
["ain-sak"] = "Sakhalin Ainu",
["akk-lbb"] = "Late Babylonian",
["akk-mas"] = "Middle Assyrian",
["akk-mbb"] = "Middle Babylonian",
["akk-nas"] = "Neo-Assyrian",
["akk-nbb"] = "Neo-Babylonian",
["akk-oas"] = "Old Assyrian",
["akk-obb"] = "Old Babylonian",
["akk-old"] = "Old Akkadian",
["akk-stb"] = "Standard Babylonian",
["aln"] = "Gheg Albanian",
["als"] = "Tosk Albanian",
["alv-kro"] = "Kromanti",
["ang-ang"] = "Anglian Old English",
["ang-ken"] = "Kentish Old English",
["ang-mer"] = "Mercian Old English",
["ang-nor"] = "Northumbrian Old English",
["arc-bib"] = "Biblical Aramaic",
["arc-cpa"] = "Christian Palestinian Aramaic",
["arc-hat"] = "အာရမေအဳ ဟာက်ထရာန်",
["arc-imp"] = "Imperial Aramaic",
["arc-jla"] = "Jewish Literary Aramaic",
["arc-nab"] = "Nabataean Aramaic",
["arc-old"] = "Old Aramaic",
["arc-pal"] = "အာရမေအဳ ပါန်မာဲရေန်",
["atn"] = "Ashtiani",
["az-cls"] = "Classical Azerbaijani",
["bat-pro"] = "ဗေါဝ်တေတ်-အခိုက်ကၞာ",
["bcc"] = "Southern Balochi",
["bew-kot"] = "Betawi Kota",
["bew-ora"] = "Betawi Ora",
["bew-udi"] = "Betawi Udik",
["bgn"] = "Western Balochi",
["bgp"] = "Eastern Balochi",
["bnt-cmn"] = "ဗါန်တူ ပံၚ်ကောံ",
["bra-old"] = "Old Braj",
["bry-ear"] = "Early Brythonic",
["bry-lat"] = "Late Brythonic",
["bsg-ban"] = "Bandari",
["bsg-hor"] = "Hormozi",
["bsg-min"] = "Minabi",
["bsh-kat"] = "ကာတဳဝဳရဳ",
["bsh-mum"] = "Mumviri",
["ca-val"] = "Valencian",
["ckm"] = "Chakavian Serbo-Croatian",
["cmn-MY"] = "Malaysian Mandarin",
["cmn-PH"] = "Philippine Mandarin",
["cmn-SG"] = "Singapore Mandarin",
["cmn-TW"] = "Taiwanese Mandarin",
["cmn-bec"] = "Beijingic Mandarin",
["cmn-bei"] = "Beijing Mandarin",
["cmn-cep"] = "Central Plains Mandarin",
["cmn-ear"] = "Early Mandarin",
["cmn-gua"] = "Guanzhong Mandarin",
["cmn-gui"] = "Guilin Mandarin",
["cmn-jhu"] = "Jianghuai Mandarin",
["cmn-lan"] = "Lanyin Mandarin",
["cmn-nan"] = "Nanjing Mandarin",
["cmn-noe"] = "Northeastern Mandarin",
["cmn-palladius"] = "Palladius",
["cmn-pinyin"] = "ဟာန်ယူ ဖှေန်အိန်",
["cmn-sow"] = "Southwestern Mandarin",
["cmn-tia"] = "Tianjin Mandarin",
["cmn-tongyong"] = "Tongyong Pinyin",
["cmn-wadegiles"] = "ဝေအ်–ဂျာယ်",
["cmn-wuh"] = "Wuhan Mandarin",
["cmn-wvc"] = "Written vernacular Mandarin",
["cmn-xin"] = "Xining Mandarin",
["cmn-yan"] = "Yangzhou Mandarin",
["cop-akh"] = "ကေအ်ပတေတ် အာပ်မေန်မေတ်",
["cop-boh"] = "ကေအ်ပတေတ် ဗဝ်ဟာဲရေတ်",
["cop-fay"] = "Fayyumic Coptic",
["cop-ggg"] = "Coptic Dialect G",
["cop-her"] = "Hermopolitan Coptic",
["cop-jjj"] = "Coptic Dialect J",
["cop-kkk"] = "Coptic Dialect K",
["cop-lyc"] = "Lycopolitan Coptic",
["cop-old"] = "Old Coptic",
["cop-oxy"] = "Oxyrhynchite Coptic",
["cop-ply"] = "Proto-Lycopolitan Coptic",
["cop-ppp"] = "Coptic Dialect P",
["cop-sah"] = "ကေအ်ပတေတ် သာဟေတ်ဒေတ်",
["crh-dbj"] = "Dobrujan Tatar",
["cs-ear"] = "Early Modern Czech",
["cu-bgm"] = "Middle Bulgarian",
["cv-ana"] = "Anatri",
["cv-mid"] = "Middle Chuvash",
["cv-old"] = "Old Chuvash",
["cv-vir"] = "Viryal",
["de-AT"] = "Austrian German",
["de-AT-vie"] = "Viennese German",
["de-CH"] = "Switzerland German",
["de-bal"] = "Baltic German",
["drt"] = "Drents",
["dv-add"] = "Addu Dhivehi",
["dv-huv"] = "Huvadhu Dhivehi",
["dv-mul"] = "Mulaku Dhivehi",
["egy-lat"] = "Late Egyptian",
["egy-mid"] = "Middle Egyptian",
["egy-nmi"] = "Neo-Middle Egyptian",
["egy-old"] = "Old Egyptian",
["el-crt"] = "Cretan Greek",
["el-cyp"] = "Cypriot Greek",
["el-kal"] = "Kaliarda",
["el-kth"] = "Katharevousa",
["el-pap"] = "Paphian Greek",
["elx-ach"] = "Achaemenid Elamite",
["elx-mid"] = "Middle Elamite",
["elx-neo"] = "Neo-Elamite",
["elx-old"] = "Old Elamite",
["en-AU"] = "Australian English",
["en-CA"] = "Canadian English",
["en-GB"] = "British English",
["en-GB-NIR"] = "Northern Irish English",
["en-GB-SCT"] = "Scottish English",
["en-GB-WLS"] = "Welsh English",
["en-HK"] = "Hong Kong English",
["en-IE"] = "Irish English",
["en-IM"] = "Manx English",
["en-IN"] = "Indian English",
["en-NNN"] = "North American English",
["en-US"] = "American English",
["en-US-CA"] = "California English",
["en-aae"] = "Australian Aboriginal English",
["en-ear"] = "Early Modern English",
["en-geo"] = "Geordie English",
["en-uls"] = "Ulster English",
["enm-esc"] = "Early Scots",
["enm-nor"] = "Northern Middle English",
["es-AR"] = "Rioplatense Spanish",
["es-CO"] = "Colombian Spanish",
["es-CU"] = "Cuban Spanish",
["es-MX"] = "Mexican Spanish",
["es-PE"] = "Peruvian Spanish",
["es-PR"] = "Puerto Rican Spanish",
["es-US"] = "United States Spanish",
["es-VE"] = "Venezuelan Spanish",
["es-ear"] = "Early Modern Spanish",
["es-lun"] = "Lunfardo",
["esi"] = "North Alaskan Inupiatun",
["esk"] = "Northwest Alaskan Inupiatun",
["fa-cls"] = "ပါရှေန်ဝၚ်ဂန္ထ",
["fa-ear"] = "Early New Persian",
["fa-ira"] = "ပါရှေန် အဳရာန်",
["fat"] = "Fante Akan",
["fay-bsh"] = "Bushehri",
["fay-bur"] = "Burenjani",
["fay-dav"] = "Davani",
["fay-dsh"] = "Dashtaki",
["fay-eze"] = "Emamzada Esma’ili",
["fay-gav"] = "Gavkoshaki",
["fay-kar"] = "Khargi",
["fay-kho"] = "Khollari",
["fay-kon"] = "Kondazi",
["fay-kzo"] = "Old Kazeruni",
["fay-mas"] = "Masarami",
["fay-pap"] = "Papuni",
["fay-sam"] = "Samghani",
["fay-sho"] = "Old Shirazi",
["fay-shr"] = "Shirazi",
["fay-sor"] = "Sorkhi",
["ffm"] = "Maasina Fulfulde",
["fiu-pro"] = "ဖေန်နဝ်-ဥူဂရေတ်-အခိုက်ကၞာ",
["fr-CA"] = "Canadian French",
["fr-CH"] = "Swiss French",
["fr-aca"] = "Acadian French",
["fr-lou"] = "Louisiana French",
["fr-mis"] = "Missouri French",
["frc"] = "Cajun French",
["frk"] = "ပြၚ်ဂေတ်တြေံ",
["fro-nor"] = "နဝ်မာံတြေံ",
["fro-pic"] = "Picard Old French",
["frs"] = "East Frisian Low German",
["fub"] = "Adamawa Fulfulde",
["fuc"] = "Pulaar",
["fue"] = "Borgu Fulfulde",
["fuf"] = "Pular",
["fuh"] = "Western Niger Fulfulde",
["fui"] = "Bagirmi Fulfulde",
["fuq"] = "Central-Eastern Niger Fulfulde",
["fuv"] = "Nigerian Fulfulde",
["gax"] = "Borana",
["gbz"] = "Zoroastrian Dari",
["gem-sue"] = "Suevic",
["gkm"] = "ဂရေတ် ၜါန်သေန်တိုၚ်",
["gmq-osw-lat"] = "Late Old Swedish",
["gos"] = "Gronings",
["grc-aeo"] = "ဂရေတ် ဗဳယိုဝ်ဃှေန်",
["grc-arc"] = "Arcadian Greek",
["grc-arp"] = "Arcadocypriot Greek",
["grc-att"] = "ဂရေတ် အာတ်ဒေတ်",
["grc-boi"] = "Boeotian Greek",
["grc-dor"] = "ဂရေတ် ဒေါန်ရေက်",
["grc-ela"] = "Elean Greek",
["grc-epc"] = "Epic Greek",
["grc-ion"] = "Ionic Greek",
["grc-koi"] = "ဂရေတ် ခါဝ်အိန်",
["grc-kre"] = "Cretan Ancient Greek",
["grc-opl"] = "Opuntian Locrian",
["grc-ozl"] = "Ozolian Locrian",
["grc-pam"] = "Pamphylian Greek",
["grc-ths"] = "Thessalian Greek",
["gsw-FR-als"] = "Alsatian Alemannic German",
["gsw-hig"] = "High Alemannic German",
["gsw-hst"] = "Highest Alemannic German",
["gsw-low"] = "Low Alemannic German",
["gu-kat"] = "Kathiyawadi",
["gu-lda"] = "Lisan ud-Dawat Gujarati",
["gzi"] = "Gazi",
["hae"] = "Harar Oromo",
["hak-TW"] = "Taiwanese Hakka",
["hak-dab"] = "Dabu Hakka",
["hak-eam"] = "Early Modern Hakka",
["hak-hai"] = "Hailu Hakka",
["hak-hui"] = "Huiyang Hakka",
["hak-hui-MY"] = "Malaysian Huiyang Hakka",
["hak-mei"] = "Meixian Hakka",
["hak-six"] = "Sixian Hakka",
["hak-zha"] = "Zhao'an Hakka",
["haz"] = "Hazaragi",
["hbo"] = "ဟဳဘရဝ် ပြကိုဟ်သၠပတ်",
["he-IL"] = "ဟဳဘရဝ် အေတ်သဝါလဳ",
["he-med"] = "ဟဳဘရဝ် ခေတ်လဒေါဝ်",
["he-mis"] = "ဟဳဘရဝ် မေတ်ချနာအေတ်",
["hi-mid"] = "Middle Hindi",
["hi-mum"] = "Bombay Hindi",
["hsn-hya"] = "Hengyang Xiang",
["hsn-hzh"] = "Hengzhou Xiang",
["hsn-lou"] = "Loudi Xiang",
["hsn-new"] = "New Xiang",
["hsn-old"] = "Old Xiang",
["ht-sdm"] = "Saint Dominican Creole French",
["inc-aav"] = "Avahattha",
["inc-agu"] = "Gurjara Apabhramsa",
["inc-aka"] = "Kasmiri Apabhramsa",
["inc-ama"] = "Maharastri Apabhramsa",
["inc-asa"] = "Sauraseni Apabhramsa",
["inc-ata"] = "Takka Apabhramsa",
["inc-avr"] = "Vracada Apabhramsa",
["inc-mit"] = "Mitanni",
["iro-ohu"] = "Old Wendat",
["iro-omo"] = "Old Mohawk",
["iro-oon"] = "Old Onondaga",
["it-CH"] = "Switzerland Italian",
["itc-ola"] = "Old Latin",
["ja-ear"] = "Early Modern Japanese",
["ja-mid"] = "Middle Japanese",
["ja-mid-ear"] = "Early Middle Japanese",
["ja-mid-lat"] = "Late Middle Japanese",
["jpa"] = "Jewish Palestinian Aramaic",
["jrb"] = "အာရဗဳ-ဇူဒိအဝ်",
["ka-mid"] = "Middle Georgian",
["kbg"] = "Khamba",
["kfm"] = "Khunsari",
["khg"] = "Khams Tibetan",
["kho-lat"] = "ခဝ်တာန်နေတ်ဇြဳလဇုဲ",
["kho-old"] = "ခဝ်တာန်နေတ်ဇြဳတြေံ",
["kjh-fyu"] = "Fuyu Kyrgyz",
["kjv"] = "Kajkavian Serbo-Croatian",
["klj-arg"] = "Arghu",
["kn-hav"] = "ဟာတ်ဝဳကာန်နာဒါ",
["kn-kun"] = "ခုန်ဒါကာန်နာဒါ",
["ko-cen"] = "Central Korean",
["ko-chu"] = "Chungcheong Korean",
["ko-gan"] = "Gangwon Korean",
["ko-gyg"] = "Gyeonggi Korean",
["ko-gys"] = "Gyeongsang Korean",
["ko-ham"] = "Hamgyong Korean",
["ko-hwa"] = "Hwanghae Korean",
["ko-jeo"] = "Jeolla Korean",
["ko-pyo"] = "Pyongan Korean",
["ko-yuk"] = "Yukjin Korean",
["kok-mid"] = "Middle Konkani",
["kok-old"] = "Old Konkani",
["ksh"] = "ခေါဝ်အ်",
["la-cla"] = "Classical Latin",
["la-con"] = "Contemporary Latin",
["la-ecc"] = "Ecclesiastical Latin",
["la-eme"] = "Early Medieval Latin",
["la-lat"] = "လပ်တေန်လဇုဲ",
["la-med"] = "လပ်တေန် ခေတ်လဒေါဝ်",
["la-new"] = "New Latin",
["la-ren"] = "Renaissance Latin",
["la-vul"] = "လပ်တေန်အရိုၚ်",
["lng"] = "လီုဗါဒေါတ်",
["ltc-ear"] = "Early Middle Chinese",
["ltc-lat"] = "Late Middle Chinese",
["lzh-KO"] = "Korean Classical Chinese",
["lzh-VI"] = "Vietnamese Classical Chinese",
["lzh-cii"] = "Ci",
["lzh-cmn"] = "Classical Mandarin",
["lzh-cmn-TW"] = "Classical Taiwanese Mandarin",
["lzh-lit"] = "Literary Chinese",
["lzh-pre"] = "Pre-Classical Chinese",
["lzh-tai"] = "Classical Taishanese",
["lzh-yue"] = "Classical Cantonese",
["mis-idn"] = "Idiom Neutral",
["mis-tdl"] = "Turduli",
["mis-tdt"] = "Turdetani",
["mis-xnu"] = "Xiongnu",
["mn-cha"] = "Chakhar Mongolian",
["mn-kha"] = "Khalkha Mongolian",
["mn-khr"] = "Khorchin Mongolian",
["mn-ord"] = "Ordos Mongolian",
["mns-eas"] = "မာန်သဳ လ္ပာ်ဖာဗၟံက်-အခိုက်ကၞာ",
["mns-wes"] = "မာန်သဳ လ္ပာ်ဖာပလိုတ်-အခိုက်ကၞာ",
["ms-cla"] = "မလေဝ် ဝၚ်ဂန္တ",
["ms-old"] = "မလေဝ်တြေံ",
["mul-tax"] = "taxonomic name",
["nan-anx"] = "Anxi Hokkien",
["nan-cha"] = "Changtai Hokkien",
["nan-hbl-PH"] = "Philippine Hokkien",
["nan-hbl-SG"] = "Singapore Hokkien",
["nan-hbl-TW"] = "Taiwanese Hokkien",
["nan-hou"] = "Houlu Min",
["nan-hui"] = "Hui'an Hokkien",
["nan-jin"] = "Jinjiang Hokkien",
["nan-kin"] = "Kinmenese Hokkien",
["nan-med"] = "Medan Hokkien",
["nan-pen"] = "Penang Hokkien",
["nan-qia"] = "Qianlu Min",
["nan-qua"] = "Quanzhou Hokkien",
["nan-spm"] = "Southern Malaysian Hokkien",
["nan-ton"] = "Tong'an Hokkien",
["nan-xia"] = "Xiamen Hokkien",
["nan-yon"] = "Yongchun Hokkien",
["nan-zha"] = "Zhangzhou Hokkien",
["nan-zho"] = "Zhao'an Hokkien",
["nan-zhp"] = "Zhangping Hokkien",
["ncb-cam"] = "Camorta",
["ncb-kat"] = "Katchal",
["ncb-nan"] = "Nancowry",
["nds-lpr"] = "Low Prussian",
["nl-BE"] = "Belgian Dutch",
["non-grn"] = "Greenlandic Norse",
["non-oen"] = "Old East Norse",
["non-own"] = "Old West Norse",
["nrf-grn"] = "Guernsey Norman",
["nrf-jer"] = "Jersey Norman",
["ntz"] = "Natanzi",
["nyq"] = "Nayini",
["oc-ara"] = "Aranese",
["oc-auv"] = "Auvergnat",
["oc-gas"] = "ဂေါသ်သကာန်",
["oc-jud"] = "Shuadit",
["oc-lan"] = "လာမ်ဂဝေအ်ဒံက်ဃှေန်",
["oc-lim"] = "လိမူသေန်",
["oc-pro"] = "Provençal",
["oc-pro-old"] = "Old Provençal",
["oc-viv"] = "Vivaro-Alpine",
["och-ear"] = "Early Old Chinese",
["och-lat"] = "Late Old Chinese",
["ojp-eas"] = "Eastern Old Japanese",
["okm-ear"] = "Early Middle Korean",
["oko-lat"] = "Late Old Korean",
["okz-ang"] = "ခမေန်တြေံ အာန်ခေါဝ်ရဳယာန်",
["okz-pre"] = "ခမေန်တြေံ ကၠာ-အာန်ခေါဝ်ရဳယာန်",
["oos-ear"] = "Early Old Ossetic",
["oos-lat"] = "Late Old Ossetic",
["orc"] = "Orma",
["oru-kan"] = "Kaniguram",
["oru-log"] = "Logar",
["os-dig"] = "ဒိကိုဝ်",
["os-iro"] = "အာဲရာန်",
["osc-luc"] = "Lucanian",
["osc-sam"] = "Samnite",
["otk-kir"] = "Old Kirghiz",
["pal-ear"] = "Early Middle Persian",
["pal-lat"] = "Late Middle Persian",
["peo-ear"] = "Early Old Persian",
["peo-lat"] = "Late Old Persian",
["pfl"] = "Palatine German",
["pl-gor"] = "Goral",
["pl-gre"] = "Greater Polish",
["pl-les"] = "Lesser Polish",
["pl-mas"] = "Masovian Polish",
["pld"] = "Polari",
["pnb"] = "Western Panjabi",
["pra-abh"] = "Abhiri",
["pra-ard"] = "Ardhamagadhi Prakrit",
["pra-ava"] = "Avanti",
["pra-bah"] = "Bahliki",
["pra-can"] = "Candali",
["pra-dak"] = "Daksinatya",
["pra-dra"] = "Dramili",
["pra-hel"] = "Helu Prakrit",
["pra-kha"] = "ခါဿာ ပရာကရေတ်",
["pra-mag"] = "Magadhi Prakrit",
["pra-mah"] = "မဟာရာတ်ထရဳ ပရာကရေတ်",
["pra-odr"] = "Odri",
["pra-pai"] = "Paisaci Prakrit",
["pra-pra"] = "Pracya",
["pra-sab"] = "Sabari",
["pra-sak"] = "Sakari",
["pra-sau"] = "သောရာသေနဳ ပရာကရေတ်",
["prs"] = "ဒါရဳ",
["ps-afr"] = "Afridi",
["ps-ban"] = "Bannu",
["ps-bng"] = "Bangash",
["ps-cgi"] = "Central Ghilzay",
["ps-jad"] = "Jadrani",
["ps-kak"] = "Kakari",
["ps-kan"] = "Kandahari",
["ps-mah"] = "Mahsudi",
["ps-nea"] = "Northeastern Pashto",
["ps-nwe"] = "Northwestern Pashto",
["ps-pes"] = "Peshawari",
["ps-sea"] = "Southeastern Pashto",
["ps-ser"] = "Sher",
["ps-swe"] = "Southwestern Pashto",
["ps-waz"] = "Waziri",
["ps-xat"] = "Khatak",
["pse-bsm"] = "Besemah",
["pt-BR"] = "Brazilian Portuguese",
["pt-PT"] = "European Portuguese",
["qsb-bal"] = "Paleo-Balkan",
["qsb-bma"] = "ဗါတ်တဳရဳယျာ–မာဂျဳယျာနာ အပၠဴ",
["qsb-grc"] = "ဂရေတ်-ဖှဳ",
["qsb-ibe"] = "a pre-Roman substrate of Iberia",
["qsb-pyg"] = "a substrate language originally spoken by the Pygmies",
["qwm-arm"] = "ခေတ်ချေသ်-အာမဳနဝ်",
["qwm-mam"] = "ခေတ်ချေသ်-မါန်ဋ္ဌူ",
["qxq"] = "Qashqai",
["rdb-jir"] = "Jirofti",
["rdb-kah"] = "Kahnuji",
["roa-oit"] = "အဳတလဳတြေံ",
["rw-kin"] = "ခေါန်ယျာဝါန်ဒါ",
["rw-run"] = "Kirundi",
["sa-bhs"] = "Buddhist Hybrid Sanskrit",
["sa-bra"] = "Brahmanic Sanskrit",
["sa-cls"] = "Classical Sanskrit",
["sa-neo"] = "New Sanskrit",
["sa-ved"] = "Vedic Sanskrit",
["sc-nuo"] = "Nuorese",
["sc-src"] = "Logudorese",
["sc-sro"] = "Campidanese",
["sco-ins"] = "Insular Scots",
["sco-nor"] = "Northern Scots",
["sco-sou"] = "South Scots",
["sco-uls"] = "Ulster Scots",
["sdz"] = "Sallands",
["sgh-baj"] = "Bajui",
["sgh-bar"] = "Bartangi",
["sgh-bro"] = "Bartangi-Oroshori",
["sgh-oro"] = "Oroshori",
["sgh-ros"] = "Roshani",
["sgh-rsx"] = "Roshani-Khufi",
["sgh-xgb"] = "Khughni-Bajui",
["sgh-xuf"] = "Khufi",
["sgh-xug"] = "Khughni",
["sh-tor"] = "Torlakian Serbo-Croatian",
["si-med"] = "Medieval Sinhalese",
["sli"] = "Silesian East Central German",
["sog-ear"] = "Early Sogdian",
["sog-lat"] = "Late Sogdian",
["soj"] = "Soi",
["ssn"] = "Waata",
["stl"] = "Stellingwerfs",
["sxu"] = "Upper Saxon German",
["ta-mid"] = "တမဳလ်အဒေါဝ်",
["tai-shz"] = "Shangsi Zhuang",
["taq"] = "Tamasheq",
["tbq-pro"] = "Proto-Tibeto-Burman",
["th-new"] = "Hacked Thai",
["thv"] = "Tamahaq",
["thz"] = "Tayert",
["tks-cal"] = "Chali Tati",
["tks-dan"] = "Danesfani",
["tks-ebr"] = "Ebrahimabadi",
["tks-esf"] = "Esfarvarini",
["tks-sag"] = "Sagzabadi",
["tks-tak"] = "Takestani",
["tks-xia"] = "Khiaraji",
["tks-xoz"] = "Khoznini",
["tl-cls"] = "Classical Tagalog",
["tl-old"] = "Old Tagalog",
["tly-anb"] = "Anbarani",
["tly-asa"] = "Asalemi",
["tly-aze"] = "Azerbaijani Talysh",
["tly-cen"] = "Central Talysh",
["tly-fum"] = "Fumani",
["tly-kar"] = "Karganrudi",
["tly-msa"] = "Masali",
["tly-msu"] = "Masulei",
["tly-nor"] = "Northern Talysh",
["tly-san"] = "Shandarmani",
["tly-sou"] = "Southern Talysh",
["tly-tal"] = "Taleshdulabi",
["tly-tul"] = "Tularudi",
["tmh-ght"] = "Ghat",
["tmr"] = "Jewish Babylonian Aramaic",
["tr-CY"] = "Cypriot Turkish",
["trk-cmn"] = "တာခ်ကေတ် သာမည",
["trk-ogz-pro"] = "အဝ်ဂေါတ်-အခိုက်ကၞာ",
["tsk"] = "Tseku",
["ttq"] = "ထာဝါလပ်မေတ်",
["tw"] = "Twi Akan",
["tw-abr"] = "Bono Twi",
["tw-aku"] = "Akuapem Twi",
["tw-asa"] = "Asante Twi",
["twd"] = "Twents",
["urj-fpr-pro"] = "ဖေန်နဝ်-ပဵုမေတ်-အခိုက်ကၞာ",
["vaf"] = "Vafsi",
["vel"] = "Veluws",
["wae"] = "Walser German",
["wep"] = "Westphalian",
["woy"] = "Weyto",
["wuu-chm"] = "Shadi Wu",
["wuu-han"] = "Hangzhounese",
["wuu-nin"] = "Ningbonese",
["wuu-nor"] = "Northern Wu",
["wuu-sha"] = "Shanghainese",
["wuu-suz"] = "Suzhounese",
["wuu-wen"] = "Wenzhounese",
["xcg"] = "Cisalpine Gaulish",
["xme-aby"] = "Abyanehi",
["xme-abz"] = "Abuzeydabadi",
["xme-amo"] = "Amorehi",
["xme-ana"] = "Anaraki",
["xme-ard"] = "Ardestani",
["xme-azr"] = "Old Azari",
["xme-bdr"] = "Badrudi",
["xme-bid"] = "Bidhandi",
["xme-bij"] = "Bijagani",
["xme-bor"] = "Borujerdi",
["xme-cim"] = "Chimehi",
["xme-del"] = "Delijani",
["xme-far"] = "Farizandi",
["xme-ham"] = "Hamadani",
["xme-han"] = "Hanjani",
["xme-isf"] = "Isfahani",
["xme-jow"] = "Jowshaqani",
["xme-kaf"] = "Kafroni",
["xme-kah"] = "Kahaki",
["xme-kas"] = "Kashani",
["xme-kes"] = "Kesehi",
["xme-kom"] = "Komjani",
["xme-krm"] = "Kermani",
["xme-mah"] = "Mahallati",
["xme-mey"] = "Meymehi",
["xme-nar"] = "Naraqi",
["xme-nas"] = "Nashalji",
["xme-nus"] = "Nushabadi",
["xme-qal"] = "Qalhari",
["xme-qoh"] = "Qohrudi",
["xme-sed"] = "Sedehi",
["xme-tar"] = "Tari",
["xme-trh"] = "Tarehi",
["xme-ttc-cen"] = "Central Tati",
["xme-ttc-eas"] = "Eastern Tati",
["xme-ttc-nor"] = "Northern Tati",
["xme-ttc-sou"] = "Southern Tati",
["xme-ttc-wes"] = "Western Tati",
["xme-val"] = "Valujerdi",
["xme-var"] = "Varani",
["xme-von"] = "Vonishuni",
["xme-vrz"] = "Varzenehi",
["xme-xur"] = "Khuri",
["xme-yar"] = "Yarandi",
["xme-yaz"] = "Yazdi",
["xme-zef"] = "Zefrehi",
["xme-zor"] = "Zori",
["xmn"] = "ပါရှေန်မနဳချေန်အဒေါဝ်",
["xng-ear"] = "Early Middle Mongol",
["xng-lat"] = "Late Middle Mongol",
["xno"] = "အာန်ဂလဝ်-နဝ်မာန်",
["xno-law"] = "Law French",
["xtg"] = "Transalpine Gaulish",
["xum-her"] = "Hernician",
["xvi"] = "ကာမ်ဝဳရဳ",
["yue-HK"] = "Hong Kong Cantonese",
["yue-gua"] = "Guangzhou Cantonese",
["yue-lit"] = "Literary Cantonese",
["yue-wvc"] = "Written vernacular Cantonese",
["zh-postal"] = "Postal Romanization",
["zhx-dan"] = "Danzhou Chinese",
["zhx-tai-wvc"] = "Written vernacular Taishanese",
["zhx-zho"] = "Zhongshan Min",
["zle-mru"] = "Middle Russian",
["zle-obe"] = "Old Belarusian",
["zle-ops"] = "Old Pskovian",
["zle-ouk"] = "Old Ukrainian",
["zlw-mpl"] = "Middle Polish",
}
j91d7td5o13j2hhk2s78lyc4ndf2yov
402260
402258
2026-10-01T05:45:50Z
Intobesa.bot
1035
Bot: ပွမကၠာဲစုတ်ယၟုနူဘာသာအၚ်္ဂလိက်
402260
Scribunto
text/plain
return {
["aae"] = "Arbëresh Albanian",
["aat"] = "Arvanitika Albanian",
["act"] = "Achterhoeks",
["adx"] = "Amdo Tibetan",
["ae-old"] = "အဗါတ်သတေန်တြေံ",
["ae-yng"] = "အဗါတ်သတေန်အဝဲဍောတ်",
["ain-hok"] = "Hokkaido Ainu",
["ain-kur"] = "Kuril Ainu",
["ain-sak"] = "Sakhalin Ainu",
["akk-lbb"] = "Late Babylonian",
["akk-mas"] = "Middle Assyrian",
["akk-mbb"] = "Middle Babylonian",
["akk-nas"] = "Neo-Assyrian",
["akk-nbb"] = "Neo-Babylonian",
["akk-oas"] = "Old Assyrian",
["akk-obb"] = "Old Babylonian",
["akk-old"] = "Old Akkadian",
["akk-stb"] = "Standard Babylonian",
["aln"] = "Gheg Albanian",
["als"] = "Tosk Albanian",
["alv-kro"] = "Kromanti",
["ang-ang"] = "Anglian Old English",
["ang-ken"] = "Kentish Old English",
["ang-mer"] = "Mercian Old English",
["ang-nor"] = "Northumbrian Old English",
["arc-bib"] = "Biblical Aramaic",
["arc-cpa"] = "Christian Palestinian Aramaic",
["arc-hat"] = "အာရမေအဳ ဟာက်ထရာန်",
["arc-imp"] = "Imperial Aramaic",
["arc-jla"] = "Jewish Literary Aramaic",
["arc-nab"] = "Nabataean Aramaic",
["arc-old"] = "Old Aramaic",
["arc-pal"] = "အာရမေအဳ ပါန်မာဲရေန်",
["atn"] = "Ashtiani",
["az-cls"] = "Classical Azerbaijani",
["bat-pro"] = "ဗေါဝ်တေတ်-အခိုက်ကၞာ",
["bcc"] = "Southern Balochi",
["bew-kot"] = "Betawi Kota",
["bew-ora"] = "Betawi Ora",
["bew-udi"] = "Betawi Udik",
["bgn"] = "Western Balochi",
["bgp"] = "Eastern Balochi",
["bnt-cmn"] = "ဗါန်တူ ပံၚ်ကောံ",
["bra-old"] = "Old Braj",
["bry-ear"] = "Early Brythonic",
["bry-lat"] = "Late Brythonic",
["bsg-ban"] = "Bandari",
["bsg-hor"] = "Hormozi",
["bsg-min"] = "Minabi",
["bsh-kat"] = "ကာတဳဝဳရဳ",
["bsh-mum"] = "Mumviri",
["ca-val"] = "Valencian",
["ckm"] = "Chakavian Serbo-Croatian",
["cmn-MY"] = "Malaysian Mandarin",
["cmn-PH"] = "Philippine Mandarin",
["cmn-SG"] = "Singapore Mandarin",
["cmn-TW"] = "Taiwanese Mandarin",
["cmn-bec"] = "Beijingic Mandarin",
["cmn-bei"] = "Beijing Mandarin",
["cmn-cep"] = "Central Plains Mandarin",
["cmn-ear"] = "Early Mandarin",
["cmn-gua"] = "Guanzhong Mandarin",
["cmn-gui"] = "Guilin Mandarin",
["cmn-jhu"] = "Jianghuai Mandarin",
["cmn-lan"] = "Lanyin Mandarin",
["cmn-nan"] = "Nanjing Mandarin",
["cmn-noe"] = "Northeastern Mandarin",
["cmn-palladius"] = "Palladius",
["cmn-pinyin"] = "ဟာန်ယူ ဖှေန်အိန်",
["cmn-sow"] = "Southwestern Mandarin",
["cmn-tia"] = "Tianjin Mandarin",
["cmn-tongyong"] = "Tongyong Pinyin",
["cmn-wadegiles"] = "ဝေအ်–ဂျာယ်",
["cmn-wuh"] = "Wuhan Mandarin",
["cmn-wvc"] = "Written vernacular Mandarin",
["cmn-xin"] = "Xining Mandarin",
["cmn-yan"] = "Yangzhou Mandarin",
["cop-akh"] = "ကေအ်ပတေတ် အာပ်မေန်မေတ်",
["cop-boh"] = "ကေအ်ပတေတ် ဗဝ်ဟာဲရေတ်",
["cop-fay"] = "Fayyumic Coptic",
["cop-ggg"] = "Coptic Dialect G",
["cop-her"] = "Hermopolitan Coptic",
["cop-jjj"] = "Coptic Dialect J",
["cop-kkk"] = "Coptic Dialect K",
["cop-lyc"] = "Lycopolitan Coptic",
["cop-old"] = "Old Coptic",
["cop-oxy"] = "Oxyrhynchite Coptic",
["cop-ply"] = "Proto-Lycopolitan Coptic",
["cop-ppp"] = "Coptic Dialect P",
["cop-sah"] = "ကေအ်ပတေတ် သာဟေတ်ဒေတ်",
["crh-dbj"] = "Dobrujan Tatar",
["cs-ear"] = "Early Modern Czech",
["cu-bgm"] = "Middle Bulgarian",
["cv-ana"] = "Anatri",
["cv-mid"] = "Middle Chuvash",
["cv-old"] = "Old Chuvash",
["cv-vir"] = "Viryal",
["de-AT"] = "Austrian German",
["de-AT-vie"] = "Viennese German",
["de-CH"] = "Switzerland German",
["de-bal"] = "Baltic German",
["drt"] = "Drents",
["dv-add"] = "Addu Dhivehi",
["dv-huv"] = "Huvadhu Dhivehi",
["dv-mul"] = "Mulaku Dhivehi",
["egy-lat"] = "Late Egyptian",
["egy-mid"] = "Middle Egyptian",
["egy-nmi"] = "Neo-Middle Egyptian",
["egy-old"] = "Old Egyptian",
["el-crt"] = "Cretan Greek",
["el-cyp"] = "Cypriot Greek",
["el-kal"] = "Kaliarda",
["el-kth"] = "Katharevousa",
["el-pap"] = "Paphian Greek",
["elx-ach"] = "Achaemenid Elamite",
["elx-mid"] = "Middle Elamite",
["elx-neo"] = "Neo-Elamite",
["elx-old"] = "Old Elamite",
["en-AU"] = "Australian English",
["en-CA"] = "Canadian English",
["en-GB"] = "British English",
["en-GB-NIR"] = "Northern Irish English",
["en-GB-SCT"] = "Scottish English",
["en-GB-WLS"] = "Welsh English",
["en-HK"] = "Hong Kong English",
["en-IE"] = "Irish English",
["en-IM"] = "Manx English",
["en-IN"] = "Indian English",
["en-NNN"] = "North American English",
["en-US"] = "American English",
["en-US-CA"] = "California English",
["en-aae"] = "Australian Aboriginal English",
["en-ear"] = "Early Modern English",
["en-geo"] = "Geordie English",
["en-uls"] = "Ulster English",
["enm-esc"] = "Early Scots",
["enm-nor"] = "Northern Middle English",
["es-AR"] = "Rioplatense Spanish",
["es-CO"] = "Colombian Spanish",
["es-CU"] = "Cuban Spanish",
["es-MX"] = "Mexican Spanish",
["es-PE"] = "Peruvian Spanish",
["es-PR"] = "Puerto Rican Spanish",
["es-US"] = "United States Spanish",
["es-VE"] = "Venezuelan Spanish",
["es-ear"] = "Early Modern Spanish",
["es-lun"] = "Lunfardo",
["esi"] = "North Alaskan Inupiatun",
["esk"] = "Northwest Alaskan Inupiatun",
["fa-cls"] = "ပါရှေန်ဝၚ်ဂန္ထ",
["fa-ear"] = "Early New Persian",
["fa-ira"] = "ပါရှေန် အဳရာန်",
["fat"] = "Fante Akan",
["fay-bsh"] = "Bushehri",
["fay-bur"] = "Burenjani",
["fay-dav"] = "Davani",
["fay-dsh"] = "Dashtaki",
["fay-eze"] = "Emamzada Esma’ili",
["fay-gav"] = "Gavkoshaki",
["fay-kar"] = "Khargi",
["fay-kho"] = "Khollari",
["fay-kon"] = "Kondazi",
["fay-kzo"] = "Old Kazeruni",
["fay-mas"] = "Masarami",
["fay-pap"] = "Papuni",
["fay-sam"] = "Samghani",
["fay-sho"] = "Old Shirazi",
["fay-shr"] = "Shirazi",
["fay-sor"] = "Sorkhi",
["ffm"] = "Maasina Fulfulde",
["fiu-pro"] = "ဖေန်နဝ်-ဥူဂရေတ်-အခိုက်ကၞာ",
["fr-CA"] = "Canadian French",
["fr-CH"] = "Swiss French",
["fr-aca"] = "Acadian French",
["fr-lou"] = "Louisiana French",
["fr-mis"] = "Missouri French",
["frc"] = "Cajun French",
["frk"] = "ပြၚ်ဂေတ်တြေံ",
["fro-nor"] = "နဝ်မာံတြေံ",
["fro-pic"] = "Picard Old French",
["frs"] = "East Frisian Low German",
["fub"] = "Adamawa Fulfulde",
["fuc"] = "Pulaar",
["fue"] = "Borgu Fulfulde",
["fuf"] = "Pular",
["fuh"] = "Western Niger Fulfulde",
["fui"] = "Bagirmi Fulfulde",
["fuq"] = "Central-Eastern Niger Fulfulde",
["fuv"] = "Nigerian Fulfulde",
["gax"] = "Borana",
["gbz"] = "Zoroastrian Dari",
["gem-sue"] = "Suevic",
["gkm"] = "ဂရေတ် ၜါန်သေန်တိုၚ်",
["gmq-osw-lat"] = "Late Old Swedish",
["gos"] = "Gronings",
["grc-aeo"] = "ဂရေတ် ဗဳယိုဝ်ဃှေန်",
["grc-arc"] = "Arcadian Greek",
["grc-arp"] = "Arcadocypriot Greek",
["grc-att"] = "ဂရေတ် အာတ်ဒေတ်",
["grc-boi"] = "Boeotian Greek",
["grc-dor"] = "ဂရေတ် ဒေါန်ရေက်",
["grc-ela"] = "Elean Greek",
["grc-epc"] = "Epic Greek",
["grc-ion"] = "Ionic Greek",
["grc-koi"] = "ဂရေတ် ခါဝ်အိန်",
["grc-kre"] = "Cretan Ancient Greek",
["grc-opl"] = "Opuntian Locrian",
["grc-ozl"] = "Ozolian Locrian",
["grc-pam"] = "Pamphylian Greek",
["grc-ths"] = "Thessalian Greek",
["gsw-FR-als"] = "Alsatian Alemannic German",
["gsw-hig"] = "High Alemannic German",
["gsw-hst"] = "Highest Alemannic German",
["gsw-low"] = "Low Alemannic German",
["gu-kat"] = "Kathiyawadi",
["gu-lda"] = "Lisan ud-Dawat Gujarati",
["gzi"] = "Gazi",
["hae"] = "Harar Oromo",
["hak-TW"] = "Taiwanese Hakka",
["hak-dab"] = "Dabu Hakka",
["hak-eam"] = "Early Modern Hakka",
["hak-hai"] = "Hailu Hakka",
["hak-hui"] = "Huiyang Hakka",
["hak-hui-MY"] = "Malaysian Huiyang Hakka",
["hak-mei"] = "Meixian Hakka",
["hak-six"] = "Sixian Hakka",
["hak-zha"] = "Zhao'an Hakka",
["haz"] = "Hazaragi",
["hbo"] = "ဟဳဘရဝ် ပြကိုဟ်သၠပတ်",
["he-IL"] = "ဟဳဘရဝ် အေတ်သဝါလဳ",
["he-med"] = "ဟဳဘရဝ် ခေတ်လဒေါဝ်",
["he-mis"] = "ဟဳဘရဝ် မေတ်ချနာအေတ်",
["hi-mid"] = "Middle Hindi",
["hi-mum"] = "Bombay Hindi",
["hsn-hya"] = "Hengyang Xiang",
["hsn-hzh"] = "Hengzhou Xiang",
["hsn-lou"] = "Loudi Xiang",
["hsn-new"] = "New Xiang",
["hsn-old"] = "Old Xiang",
["ht-sdm"] = "Saint Dominican Creole French",
["inc-aav"] = "Avahattha",
["inc-agu"] = "Gurjara Apabhramsa",
["inc-aka"] = "Kasmiri Apabhramsa",
["inc-ama"] = "Maharastri Apabhramsa",
["inc-asa"] = "Sauraseni Apabhramsa",
["inc-ata"] = "Takka Apabhramsa",
["inc-avr"] = "Vracada Apabhramsa",
["inc-mit"] = "Mitanni",
["iro-ohu"] = "Old Wendat",
["iro-omo"] = "Old Mohawk",
["iro-oon"] = "Old Onondaga",
["it-CH"] = "Switzerland Italian",
["itc-ola"] = "Old Latin",
["ja-ear"] = "Early Modern Japanese",
["ja-mid"] = "Middle Japanese",
["ja-mid-ear"] = "Early Middle Japanese",
["ja-mid-lat"] = "Late Middle Japanese",
["jpa"] = "Jewish Palestinian Aramaic",
["jrb"] = "အာရဗဳ-ဇူဒိအဝ်",
["ka-mid"] = "Middle Georgian",
["kbg"] = "Khamba",
["kfm"] = "Khunsari",
["khg"] = "Khams Tibetan",
["kho-lat"] = "ခဝ်တာန်နေတ်ဇြဳလဇုဲ",
["kho-old"] = "ခဝ်တာန်နေတ်ဇြဳတြေံ",
["kjh-fyu"] = "Fuyu Kyrgyz",
["kjv"] = "Kajkavian Serbo-Croatian",
["klj-arg"] = "Arghu",
["kn-hav"] = "ဟာတ်ဝဳကာန်နာဒါ",
["kn-kun"] = "ခုန်ဒါကာန်နာဒါ",
["ko-cen"] = "Central Korean",
["ko-chu"] = "Chungcheong Korean",
["ko-gan"] = "Gangwon Korean",
["ko-gyg"] = "Gyeonggi Korean",
["ko-gys"] = "Gyeongsang Korean",
["ko-ham"] = "Hamgyong Korean",
["ko-hwa"] = "Hwanghae Korean",
["ko-jeo"] = "Jeolla Korean",
["ko-pyo"] = "Pyongan Korean",
["ko-yuk"] = "Yukjin Korean",
["kok-mid"] = "Middle Konkani",
["kok-old"] = "Old Konkani",
["ksh"] = "ခေါဝ်အ်",
["la-cla"] = "Classical Latin",
["la-con"] = "Contemporary Latin",
["la-ecc"] = "Ecclesiastical Latin",
["la-eme"] = "Early Medieval Latin",
["la-lat"] = "လပ်တေန်လဇုဲ",
["la-med"] = "လပ်တေန် ခေတ်လဒေါဝ်",
["la-new"] = "New Latin",
["la-ren"] = "Renaissance Latin",
["la-vul"] = "လပ်တေန်အရိုၚ်",
["lng"] = "လီုဗါဒေါတ်",
["ltc-ear"] = "Early Middle Chinese",
["ltc-lat"] = "Late Middle Chinese",
["lzh-KO"] = "Korean Classical Chinese",
["lzh-VI"] = "Vietnamese Classical Chinese",
["lzh-cii"] = "Ci",
["lzh-cmn"] = "Classical Mandarin",
["lzh-cmn-TW"] = "Classical Taiwanese Mandarin",
["lzh-lit"] = "Literary Chinese",
["lzh-pre"] = "Pre-Classical Chinese",
["lzh-tai"] = "Classical Taishanese",
["lzh-yue"] = "Classical Cantonese",
["mis-idn"] = "Idiom Neutral",
["mis-tdl"] = "Turduli",
["mis-tdt"] = "Turdetani",
["mis-xnu"] = "Xiongnu",
["mn-cha"] = "Chakhar Mongolian",
["mn-kha"] = "Khalkha Mongolian",
["mn-khr"] = "Khorchin Mongolian",
["mn-ord"] = "Ordos Mongolian",
["mns-eas"] = "မာန်သဳ လ္ပာ်ဖာဗၟံက်-အခိုက်ကၞာ",
["mns-wes"] = "မာန်သဳ လ္ပာ်ဖာပလိုတ်-အခိုက်ကၞာ",
["ms-cla"] = "မလေဝ် ဝၚ်ဂန္တ",
["ms-old"] = "မလေဝ်တြေံ",
["mul-tax"] = "taxonomic name",
["nan-anx"] = "Anxi Hokkien",
["nan-cha"] = "Changtai Hokkien",
["nan-hbl-PH"] = "Philippine Hokkien",
["nan-hbl-SG"] = "Singapore Hokkien",
["nan-hbl-TW"] = "Taiwanese Hokkien",
["nan-hou"] = "Houlu Min",
["nan-hui"] = "Hui'an Hokkien",
["nan-jin"] = "Jinjiang Hokkien",
["nan-kin"] = "Kinmenese Hokkien",
["nan-med"] = "Medan Hokkien",
["nan-pen"] = "Penang Hokkien",
["nan-qia"] = "Qianlu Min",
["nan-qua"] = "Quanzhou Hokkien",
["nan-spm"] = "Southern Malaysian Hokkien",
["nan-ton"] = "Tong'an Hokkien",
["nan-xia"] = "Xiamen Hokkien",
["nan-yon"] = "Yongchun Hokkien",
["nan-zha"] = "Zhangzhou Hokkien",
["nan-zho"] = "Zhao'an Hokkien",
["nan-zhp"] = "Zhangping Hokkien",
["ncb-cam"] = "Camorta",
["ncb-kat"] = "Katchal",
["ncb-nan"] = "Nancowry",
["nds-lpr"] = "Low Prussian",
["nl-BE"] = "Belgian Dutch",
["non-grn"] = "Greenlandic Norse",
["non-oen"] = "Old East Norse",
["non-own"] = "Old West Norse",
["nrf-grn"] = "Guernsey Norman",
["nrf-jer"] = "Jersey Norman",
["ntz"] = "Natanzi",
["nyq"] = "Nayini",
["oc-ara"] = "Aranese",
["oc-auv"] = "Auvergnat",
["oc-gas"] = "ဂေါသ်သကာန်",
["oc-jud"] = "Shuadit",
["oc-lan"] = "လာမ်ဂဝေအ်ဒံက်ဃှေန်",
["oc-lim"] = "လိမူသေန်",
["oc-pro"] = "Provençal",
["oc-pro-old"] = "Old Provençal",
["oc-viv"] = "Vivaro-Alpine",
["och-ear"] = "Early Old Chinese",
["och-lat"] = "Late Old Chinese",
["ojp-eas"] = "Eastern Old Japanese",
["okm-ear"] = "Early Middle Korean",
["oko-lat"] = "Late Old Korean",
["okz-ang"] = "ခမေန်တြေံ အာန်ခေါဝ်ရဳယာန်",
["okz-pre"] = "ခမေန်တြေံ ကၠာ-အာန်ခေါဝ်ရဳယာန်",
["oos-ear"] = "Early Old Ossetic",
["oos-lat"] = "Late Old Ossetic",
["orc"] = "Orma",
["oru-kan"] = "Kaniguram",
["oru-log"] = "Logar",
["os-dig"] = "ဒိကိုဝ်",
["os-iro"] = "အာဲရာန်",
["osc-luc"] = "Lucanian",
["osc-sam"] = "Samnite",
["otk-kir"] = "Old Kirghiz",
["pal-ear"] = "Early Middle Persian",
["pal-lat"] = "Late Middle Persian",
["peo-ear"] = "Early Old Persian",
["peo-lat"] = "Late Old Persian",
["pfl"] = "Palatine German",
["pl-gor"] = "Goral",
["pl-gre"] = "Greater Polish",
["pl-les"] = "Lesser Polish",
["pl-mas"] = "Masovian Polish",
["pld"] = "Polari",
["pnb"] = "Western Panjabi",
["pra-abh"] = "Abhiri",
["pra-ard"] = "Ardhamagadhi Prakrit",
["pra-ava"] = "Avanti",
["pra-bah"] = "Bahliki",
["pra-can"] = "Candali",
["pra-dak"] = "Daksinatya",
["pra-dra"] = "Dramili",
["pra-hel"] = "Helu Prakrit",
["pra-kha"] = "ခါဿာ ပရာကရေတ်",
["pra-mag"] = "Magadhi Prakrit",
["pra-mah"] = "မဟာရာတ်ထရဳ ပရာကရေတ်",
["pra-odr"] = "Odri",
["pra-pai"] = "Paisaci Prakrit",
["pra-pra"] = "Pracya",
["pra-sab"] = "Sabari",
["pra-sak"] = "Sakari",
["pra-sau"] = "သောရာသေနဳ ပရာကရေတ်",
["prs"] = "ဒါရဳ",
["ps-afr"] = "Afridi",
["ps-ban"] = "Bannu",
["ps-bng"] = "Bangash",
["ps-cgi"] = "Central Ghilzay",
["ps-jad"] = "Jadrani",
["ps-kak"] = "Kakari",
["ps-kan"] = "Kandahari",
["ps-mah"] = "Mahsudi",
["ps-nea"] = "Northeastern Pashto",
["ps-nwe"] = "Northwestern Pashto",
["ps-pes"] = "Peshawari",
["ps-sea"] = "Southeastern Pashto",
["ps-ser"] = "Sher",
["ps-swe"] = "Southwestern Pashto",
["ps-waz"] = "Waziri",
["ps-xat"] = "Khatak",
["pse-bsm"] = "Besemah",
["pt-BR"] = "Brazilian Portuguese",
["pt-PT"] = "European Portuguese",
["qsb-bal"] = "Paleo-Balkan",
["qsb-bma"] = "ဗါတ်တဳရဳယျာ–မာဂျဳယျာနာ အပၠဴ",
["qsb-grc"] = "ဂရေတ်-ဖှဳ",
["qsb-ibe"] = "a pre-Roman substrate of Iberia",
["qsb-pyg"] = "a substrate language originally spoken by the Pygmies",
["qwm-arm"] = "ခေတ်ချေသ်-အာမဳနဝ်",
["qwm-mam"] = "ခေတ်ချေသ်-မါန်ဋ္ဌူ",
["qxq"] = "Qashqai",
["rdb-jir"] = "Jirofti",
["rdb-kah"] = "Kahnuji",
["roa-oit"] = "အဳတလဳတြေံ",
["rw-kin"] = "ခေါန်ယျာဝါန်ဒါ",
["rw-run"] = "Kirundi",
["sa-bhs"] = "Buddhist Hybrid Sanskrit",
["sa-bra"] = "Brahmanic Sanskrit",
["sa-cls"] = "Classical Sanskrit",
["sa-neo"] = "New Sanskrit",
["sa-ved"] = "Vedic Sanskrit",
["sc-nuo"] = "Nuorese",
["sc-src"] = "Logudorese",
["sc-sro"] = "Campidanese",
["sco-ins"] = "Insular Scots",
["sco-nor"] = "Northern Scots",
["sco-sou"] = "South Scots",
["sco-uls"] = "Ulster Scots",
["sdz"] = "Sallands",
["sgh-baj"] = "Bajui",
["sgh-bar"] = "Bartangi",
["sgh-bro"] = "Bartangi-Oroshori",
["sgh-oro"] = "Oroshori",
["sgh-ros"] = "Roshani",
["sgh-rsx"] = "Roshani-Khufi",
["sgh-xgb"] = "Khughni-Bajui",
["sgh-xuf"] = "Khufi",
["sgh-xug"] = "Khughni",
["sh-tor"] = "Torlakian Serbo-Croatian",
["si-med"] = "Medieval Sinhalese",
["sli"] = "Silesian East Central German",
["sog-ear"] = "Early Sogdian",
["sog-lat"] = "Late Sogdian",
["soj"] = "Soi",
["ssn"] = "Waata",
["stl"] = "Stellingwerfs",
["sxu"] = "Upper Saxon German",
["ta-mid"] = "တမဳလ်အဒေါဝ်",
["tai-shz"] = "Shangsi Zhuang",
["taq"] = "Tamasheq",
["tbq-pro"] = "Proto-Tibeto-Burman",
["th-new"] = "Hacked Thai",
["thv"] = "Tamahaq",
["thz"] = "ထေယျုက်",
["tks-cal"] = "Chali Tati",
["tks-dan"] = "Danesfani",
["tks-ebr"] = "Ebrahimabadi",
["tks-esf"] = "Esfarvarini",
["tks-sag"] = "Sagzabadi",
["tks-tak"] = "Takestani",
["tks-xia"] = "Khiaraji",
["tks-xoz"] = "Khoznini",
["tl-cls"] = "Classical Tagalog",
["tl-old"] = "Old Tagalog",
["tly-anb"] = "Anbarani",
["tly-asa"] = "Asalemi",
["tly-aze"] = "Azerbaijani Talysh",
["tly-cen"] = "Central Talysh",
["tly-fum"] = "Fumani",
["tly-kar"] = "Karganrudi",
["tly-msa"] = "Masali",
["tly-msu"] = "Masulei",
["tly-nor"] = "Northern Talysh",
["tly-san"] = "Shandarmani",
["tly-sou"] = "Southern Talysh",
["tly-tal"] = "Taleshdulabi",
["tly-tul"] = "Tularudi",
["tmh-ght"] = "Ghat",
["tmr"] = "Jewish Babylonian Aramaic",
["tr-CY"] = "Cypriot Turkish",
["trk-cmn"] = "တာခ်ကေတ် သာမည",
["trk-ogz-pro"] = "အဝ်ဂေါတ်-အခိုက်ကၞာ",
["tsk"] = "Tseku",
["ttq"] = "ထာဝါလပ်မေတ်",
["tw"] = "Twi Akan",
["tw-abr"] = "Bono Twi",
["tw-aku"] = "Akuapem Twi",
["tw-asa"] = "Asante Twi",
["twd"] = "Twents",
["urj-fpr-pro"] = "ဖေန်နဝ်-ပဵုမေတ်-အခိုက်ကၞာ",
["vaf"] = "Vafsi",
["vel"] = "Veluws",
["wae"] = "Walser German",
["wep"] = "Westphalian",
["woy"] = "Weyto",
["wuu-chm"] = "Shadi Wu",
["wuu-han"] = "Hangzhounese",
["wuu-nin"] = "Ningbonese",
["wuu-nor"] = "Northern Wu",
["wuu-sha"] = "Shanghainese",
["wuu-suz"] = "Suzhounese",
["wuu-wen"] = "Wenzhounese",
["xcg"] = "Cisalpine Gaulish",
["xme-aby"] = "Abyanehi",
["xme-abz"] = "Abuzeydabadi",
["xme-amo"] = "Amorehi",
["xme-ana"] = "Anaraki",
["xme-ard"] = "Ardestani",
["xme-azr"] = "Old Azari",
["xme-bdr"] = "Badrudi",
["xme-bid"] = "Bidhandi",
["xme-bij"] = "Bijagani",
["xme-bor"] = "Borujerdi",
["xme-cim"] = "Chimehi",
["xme-del"] = "Delijani",
["xme-far"] = "Farizandi",
["xme-ham"] = "Hamadani",
["xme-han"] = "Hanjani",
["xme-isf"] = "Isfahani",
["xme-jow"] = "Jowshaqani",
["xme-kaf"] = "Kafroni",
["xme-kah"] = "Kahaki",
["xme-kas"] = "Kashani",
["xme-kes"] = "Kesehi",
["xme-kom"] = "Komjani",
["xme-krm"] = "Kermani",
["xme-mah"] = "Mahallati",
["xme-mey"] = "Meymehi",
["xme-nar"] = "Naraqi",
["xme-nas"] = "Nashalji",
["xme-nus"] = "Nushabadi",
["xme-qal"] = "Qalhari",
["xme-qoh"] = "Qohrudi",
["xme-sed"] = "Sedehi",
["xme-tar"] = "Tari",
["xme-trh"] = "Tarehi",
["xme-ttc-cen"] = "Central Tati",
["xme-ttc-eas"] = "Eastern Tati",
["xme-ttc-nor"] = "Northern Tati",
["xme-ttc-sou"] = "Southern Tati",
["xme-ttc-wes"] = "Western Tati",
["xme-val"] = "Valujerdi",
["xme-var"] = "Varani",
["xme-von"] = "Vonishuni",
["xme-vrz"] = "Varzenehi",
["xme-xur"] = "Khuri",
["xme-yar"] = "Yarandi",
["xme-yaz"] = "Yazdi",
["xme-zef"] = "Zefrehi",
["xme-zor"] = "Zori",
["xmn"] = "ပါရှေန်မနဳချေန်အဒေါဝ်",
["xng-ear"] = "Early Middle Mongol",
["xng-lat"] = "Late Middle Mongol",
["xno"] = "အာန်ဂလဝ်-နဝ်မာန်",
["xno-law"] = "Law French",
["xtg"] = "Transalpine Gaulish",
["xum-her"] = "Hernician",
["xvi"] = "ကာမ်ဝဳရဳ",
["yue-HK"] = "Hong Kong Cantonese",
["yue-gua"] = "Guangzhou Cantonese",
["yue-lit"] = "Literary Cantonese",
["yue-wvc"] = "Written vernacular Cantonese",
["zh-postal"] = "Postal Romanization",
["zhx-dan"] = "Danzhou Chinese",
["zhx-tai-wvc"] = "Written vernacular Taishanese",
["zhx-zho"] = "Zhongshan Min",
["zle-mru"] = "Middle Russian",
["zle-obe"] = "Old Belarusian",
["zle-ops"] = "Old Pskovian",
["zle-ouk"] = "Old Ukrainian",
["zlw-mpl"] = "Middle Polish",
}
atzwnp0dgxp4lwd557aajknc17u2xrw
မဝ်ဂျူ:etymology languages/canonical names
828
52684
402257
401891
2026-10-01T05:40:13Z
Intobesa.bot
1035
Bot: ပွမကၠာဲစုတ်ယၟုနူဘာသာအၚ်္ဂလိက်
402257
Scribunto
text/plain
return {
["Abhiri"] = "pra-abh",
["Abuzeydabadi"] = "xme-abz",
["Abyanehi"] = "xme-aby",
["Acadian French"] = "fr-aca",
["Achaemenid Elamite"] = "elx-ach",
["Achterhoeks"] = "act",
["Adamawa Fulfulde"] = "fub",
["Addu Dhivehi"] = "dv-add",
["Aeolic Greek"] = "grc-aeo",
["Afghan Uzbek"] = "uz-afg",
["African Romance"] = "la-afr",
["Afridi"] = "ps-afr",
["Akhmimic Coptic"] = "cop-akh",
["Akuapem Twi"] = "tw-aku",
["Alsatian Alemannic German"] = "gsw-FR-als",
["Amdo Tibetan"] = "adx",
["American English"] = "en-US",
["Amorehi"] = "xme-amo",
["Anaraki"] = "xme-ana",
["Anatri Chuvash"] = "cv-ana",
["Anbarani"] = "tly-anb",
["Angkorian Old Khmer"] = "okz-ang",
["Anglian Old English"] = "ang-ang",
["အာန်ဂဝ်-နဝ်မာန်"] = "xno",
["Anxi Hokkien"] = "nan-anx",
["Aranese"] = "oc-ara",
["Arbëresh Albanian"] = "aae",
["Arcadian Greek"] = "grc-arc",
["Arcadocypriot Greek"] = "grc-arp",
["Ardestani"] = "xme-ard",
["Ardhamagadhi Prakrit"] = "pra-ard",
["Arghu"] = "klj-arg",
["Armeno-Kipchak"] = "qwm-arm",
["Arvanitika Albanian"] = "aat",
["Asalemi"] = "tly-asa",
["Asante Twi"] = "tw-asa",
["Ashtiani"] = "atn",
["Attic Greek"] = "grc-att",
["Australian Aboriginal English"] = "en-aae",
["Australian English"] = "en-AU",
["Austrian German"] = "de-AT",
["Auvergnat"] = "oc-auv",
["Avahattha"] = "inc-aav",
["Avanti"] = "pra-ava",
["Ayutthaya Old Thai"] = "th-ayu",
["Azerbaijani Talysh"] = "tly-aze",
["Badrudi"] = "xme-bdr",
["Bagirmi Fulfulde"] = "fui",
["Bahliki"] = "pra-bah",
["Bajui"] = "sgh-baj",
["Baltic German"] = "de-bal",
["Bandari"] = "bsg-ban",
["Bangash"] = "ps-bng",
["Bannu"] = "ps-ban",
["Barpetia Kamrupi Assamese"] = "as-bkm",
["Bartangi"] = "sgh-bar",
["Bartangi-Oroshori"] = "sgh-bro",
["Beijing Mandarin"] = "cmn-bei",
["Beijingic Mandarin"] = "cmn-bec",
["Belgian Dutch"] = "nl-BE",
["Besemah"] = "pse-bsm",
["Betawi Kota"] = "bew-kot",
["Biblical Aramaic"] = "arc-bib",
["Biblical Hebrew"] = "hbo",
["Bidhandi"] = "xme-bid",
["Bijagani"] = "xme-bij",
["Boeotian Greek"] = "grc-boi",
["Bohairic Coptic"] = "cop-boh",
["Bolivian Spanish"] = "es-BO",
["Bombay Hindi"] = "hi-mum",
["Bono Twi"] = "tw-abr",
["Borana"] = "gax",
["Borgu Fulfulde"] = "fue",
["Borujerdi"] = "xme-bor",
["Brahmanic Sanskrit"] = "sa-bra",
["Brazilian Portuguese"] = "pt-BR",
["British English"] = "en-GB",
["Buddhist Hybrid Sanskrit"] = "sa-bhs",
["Burenjani"] = "fay-bur",
["Bushehri"] = "fay-bsh",
["ဂရေတ် ဗေတ်သေန်ထေၚ်"] = "gkm",
["Cajun French"] = "frc",
["California English"] = "en-US-CA",
["Camorta"] = "ncb-cam",
["Campidanese"] = "sc-sro",
["Canadian English"] = "en-CA",
["Canadian French"] = "fr-CA",
["Canadian Ukrainian"] = "uk-CA",
["Candali"] = "pra-can",
["Capenate"] = "xfa-cap",
["Central Ghilzay"] = "ps-cgi",
["Central Korean"] = "ko-cen",
["Central Plains Mandarin"] = "cmn-cep",
["Central Talysh"] = "tly-cen",
["Central Tati"] = "xme-ttc-cen",
["Central-Eastern Niger Fulfulde"] = "fuq",
["Chakavian Serbo-Croatian"] = "ckm",
["Chakhar Mongolian"] = "mn-cha",
["Chali Tati"] = "tks-cal",
["Changtai Hokkien"] = "nan-cha",
["Chilean Spanish"] = "es-CL",
["Chimehi"] = "xme-cim",
["Christian Palestinian Aramaic"] = "arc-cpa",
["Chungcheong Korean"] = "ko-chu",
["Ci"] = "lzh-cii",
["Cisalpine Gaulish"] = "xcg",
["Classical Azerbaijani"] = "az-cls",
["Classical Cantonese"] = "lzh-yue",
["Classical Japanese"] = "ja-cla",
["Classical Latin"] = "la-cla",
["Classical Malay"] = "ms-cla",
["Classical Mandarin"] = "lzh-cmn",
["Classical Persian"] = "fa-cls",
["Classical Sanskrit"] = "cls",
["Classical Tagalog"] = "tl-cls",
["Classical Taishanese"] = "lzh-tai",
["Classical Taiwanese Mandarin"] = "lzh-cmn-TW",
["Colombian Spanish"] = "es-CO",
["Common Bantu"] = "bnt-cmn",
["Contemporary Latin"] = "la-con",
["Coptic Dialect G"] = "cop-ggg",
["Coptic Dialect J"] = "cop-jjj",
["Coptic Dialect K"] = "cop-kkk",
["Coptic Dialect P"] = "cop-ppp",
["Cretan Ancient Greek"] = "grc-kre",
["Cretan Greek"] = "el-crt",
["Cuban Spanish"] = "es-CU",
["Cuman"] = "qwm-cum",
["Cypriot Greek"] = "el-cyp",
["Cypriot Turkish"] = "tr-CY",
["Dabu Hakka"] = "hak-dab",
["Daksinatya"] = "pra-dak",
["Danesfani"] = "tks-dan",
["Danube Bulgar"] = "xbo-dan",
["Danzhou Chinese"] = "zhx-dan",
["Dari"] = "prs",
["Dashtaki"] = "fay-dsh",
["Davani"] = "fay-dav",
["Delijani"] = "xme-del",
["Dhakaiya Vaṅga Bengali"] = "bn-dvn",
["Digor Ossetian"] = "os-dig",
["Dnieper Baltic"] = "bat-dni",
["Dobrujan Tatar"] = "crh-dbj",
["Doric Greek"] = "grc-dor",
["Dramili"] = "pra-dra",
["Drents"] = "drt",
["Early Brythonic"] = "bry-ear",
["Early Mandarin"] = "cmn-ear",
["Early Medieval Latin"] = "la-eme",
["Early Middle Chinese"] = "ltc-ear",
["Early Middle Japanese"] = "ja-mid-ear",
["Early Middle Korean"] = "okm-ear",
["Early Middle Mongol"] = "xng-ear",
["Early Middle Persian"] = "pal-ear",
["Early Modern Czech"] = "cs-ear",
["Early Modern English"] = "en-ear",
["Early Modern Hakka"] = "hak-eam",
["Early Modern Japanese"] = "ja-ear",
["Early Modern Spanish"] = "es-ear",
["Early New High German"] = "de-ear",
["Early New Persian"] = "fa-ear",
["Early Old Chinese"] = "och-ear",
["Early Old Ossetic"] = "oos-ear",
["Early Old Persian"] = "peo-ear",
["Early Scots"] = "enm-esc",
["Early Sogdian"] = "sog-ear",
["East Frisian Low German"] = "frs",
["East Midland Middle English"] = "enm-emi",
["Eastern Balochi"] = "bgp",
["Eastern Mansi"] = "mns-eas",
["Eastern Old Japanese"] = "ojp-eas",
["Eastern Tati"] = "xme-ttc-eas",
["Ebrahimabadi"] = "tks-ebr",
["Ecclesiastical Latin"] = "la-ecc",
["Elean Greek"] = "grc-ela",
["Emamzada Esmaili"] = "fay-eze",
["Epic Greek"] = "grc-epc",
["Esfarvarini"] = "tks-esf",
["European Portuguese"] = "pt-PT",
["Fante Akan"] = "fat",
["Farizandi"] = "xme-far",
["Fayyumic Coptic"] = "cop-fay",
["Frankish"] = "frk",
["Fumani"] = "tly-fum",
["Fuyu Kyrgyz"] = "kjh-fyu",
["Gangwon Korean"] = "ko-gan",
["Gascon"] = "oc-gas",
["Gavkoshaki"] = "fay-gav",
["Gazi"] = "gzi",
["Geordie"] = "en-geo",
["Ghat"] = "thv-ght",
["Gheg Albanian"] = "aln",
["Golyad"] = "bat-gol",
["Goral"] = "pl-gor",
["Greater Polish"] = "pl-gre",
["Greenlandic Norse"] = "non-grn",
["Gronings"] = "gos",
["Guangzhou Cantonese"] = "yue-gua",
["Guanzhong Mandarin"] = "cmn-gua",
["Guernsey Norman"] = "nrf-grn",
["Guilin Mandarin"] = "cmn-gui",
["Gurjara Apabhramsa"] = "inc-agu",
["Gyeonggi Korean"] = "ko-gyg",
["Gyeongsang Korean"] = "ko-gys",
["Hailu Hakka"] = "hak-hai",
["Hamadani"] = "xme-ham",
["Hamgyong Korean"] = "ko-ham",
["Hangzhounese"] = "wuu-han",
["Hanjani"] = "xme-han",
["Hanyu Pinyin"] = "cmn-pinyin",
["Harar Oromo"] = "hae",
["Hatran Aramaic"] = "arc-hat",
["Havigannada"] = "kn-hav",
["Hazaragi"] = "haz",
["Helu Prakrit"] = "pra-hel",
["Hengyang Xiang"] = "hsn-hya",
["Hengzhou Xiang"] = "hsn-hzh",
["Hermopolitan Coptic"] = "cop-her",
["High Alemannic German"] = "gsw-hig",
["Highest Alemannic German"] = "gsw-hst",
["Hokkaido Ainu"] = "ain-hok",
["Hong Kong Cantonese"] = "yue-HK",
["Hong Kong English"] = "en-HK",
["Hong Kong Hakka"] = "hak-HK",
["Hormozi"] = "bsg-hor",
["Houlu Min"] = "nan-hou",
["Hui'an Hokkien"] = "nan-hui",
["Huiyang Hakka"] = "hak-hui",
["Huvadhu Dhivehi"] = "dv-huv",
["Hwanghae Korean"] = "ko-hwa",
["Imperial Aramaic"] = "arc-imp",
["Indian English"] = "en-IN",
["Insular Scots"] = "sco-ins",
["Ionic Greek"] = "grc-ion",
["Iranian Persian"] = "fa-ira",
["Irish English"] = "en-IE",
["Iron Ossetian"] = "os-iro",
["Isfahani"] = "xme-isf",
["Israeli Hebrew"] = "he-IL",
["Jadrani"] = "ps-jad",
["Jeolla Korean"] = "ko-jeo",
["Jersey Norman"] = "nrf-jer",
["Jewish Babylonian Aramaic"] = "tmr",
["Jewish Literary Aramaic"] = "arc-jla",
["Jewish Palestinian Aramaic"] = "jpa",
["Jianghuai Mandarin"] = "cmn-jhu",
["Jinjiang Hokkien"] = "nan-jin",
["Jirofti"] = "rdb-jir",
["Jowshaqani"] = "xme-jow",
["Judeo-Arabic"] = "jrb",
["Kafroni"] = "xme-kaf",
["Kahaki"] = "xme-kah",
["Kahnuji"] = "rdb-kah",
["Kajkavian Serbo-Croatian"] = "kjv",
["Kakari"] = "ps-kak",
["Kaliarda"] = "el-kal",
["Kamviri"] = "xvi",
["Kandahari"] = "ps-kan",
["Kaniguram"] = "oru-kan",
["Karganrudi"] = "tly-kar",
["Kashani"] = "xme-kas",
["Kasmiri Apabhramsa"] = "inc-aka",
["Katchal"] = "ncb-kat",
["Katharevousa"] = "el-kth",
["Kathiyawadi"] = "gu-kat",
["Kativiri"] = "bsh-kat",
["Kentish Middle English"] = "enm-ken",
["Kentish Old English"] = "ang-ken",
["Kermani"] = "xme-krm",
["Kesehi"] = "xme-kes",
["Khalkha Mongolian"] = "mn-kha",
["Khamba"] = "kbg",
["Khams Tibetan"] = "khg",
["Khargi"] = "fay-kar",
["Khasa Prakrit"] = "pra-kha",
["Khatak"] = "ps-xat",
["Khiaraji"] = "tks-xia",
["Khollari"] = "fay-kho",
["Khorchin Mongolian"] = "mn-khr",
["Khoznini"] = "tks-xoz",
["Khufi"] = "sgh-xuf",
["Khughni"] = "sgh-xug",
["Khughni-Bajui"] = "sgh-xgb",
["Khunsari"] = "kfm",
["Khuri"] = "xme-xur",
["Kinmenese Hokkien"] = "nan-kin",
["Kinyarwanda"] = "rw-kin",
["Kirundi"] = "rw-run",
["ဂရေတ် ခါဝ်အိန်"] = "grc-koi",
["Komjani"] = "xme-kom",
["Kondazi"] = "fay-kon",
["Korean Classical Chinese"] = "lzh-KO",
["Kromanti"] = "alv-kro",
["Kundagannada"] = "kn-kun",
["Kuril Ainu"] = "ain-kur",
["Kölsch"] = "ksh",
["Languedocien"] = "oc-lan",
["Lanuvian"] = "itc-lan",
["Lanyin Mandarin"] = "cmn-lan",
["Late Babylonian"] = "akk-lbb",
["Late Brythonic"] = "bry-lat",
["Late Egyptian"] = "egy-lat",
["Late Khotanese"] = "kho-lat",
["Late Latin"] = "la-lat",
["Late Middle Chinese"] = "ltc-lat",
["Late Middle Japanese"] = "ja-mid-lat",
["Late Middle Mongol"] = "xng-lat",
["Late Middle Persian"] = "pal-lat",
["Late Old Chinese"] = "och-lat",
["Late Old Korean"] = "oko-lat",
["Late Old Ossetic"] = "oos-lat",
["Late Old Persian"] = "peo-lat",
["Late Old Swedish"] = "gmq-osw-lat",
["Late Sogdian"] = "sog-lat",
["Law French"] = "xno-law",
["Lesser Polish"] = "pl-les",
["Limousin"] = "oc-lim",
["Lisan ud-Dawat Gujarati"] = "gu-lda",
["Literary Cantonese"] = "yue-lit",
["Literary Chinese"] = "lzh-lit",
["Logar"] = "oru-log",
["Logudorese"] = "sc-src",
["Lombardic"] = "lng",
["Loudi Xiang"] = "hsn-lou",
["Louisiana French"] = "fr-lou",
["Low Alemannic German"] = "gsw-low",
["Low Prussian"] = "nds-lpr",
["Lucanian"] = "osc-luc",
["Lunfardo"] = "es-lun",
["Lycopolitan Coptic"] = "cop-lyc",
["Língua Geral Amazônica"] = "tpw-lga",
["Maasina Fulfulde"] = "ffm",
["Magadhi Prakrit"] = "pra-mag",
["Mahallati"] = "xme-mah",
["Maharastri Apabhramsa"] = "inc-ama",
["Maharastri Prakrit"] = "pra-mah",
["Mahsudi"] = "ps-mah",
["Malaysian Huiyang Hakka"] = "hak-hui-MY",
["Malaysian Mandarin"] = "cmn-MY",
["Mamluk-Kipchak"] = "qwm-mam",
["Manichaean Middle Persian"] = "xmn",
["Manx English"] = "en-IM",
["Masali"] = "tly-msa",
["Masarami"] = "fay-mas",
["Masovian Polish"] = "pl-mas",
["Masulei"] = "tly-msu",
["Medan Hokkien"] = "nan-med",
["Medieval Hebrew"] = "he-med",
["Medieval Latin"] = "la-med",
["Medieval Sinhalese"] = "si-med",
["Medieval Tashelhit"] = "shi-med",
["Meixian Hakka"] = "hak-mei",
["Mercian Old English"] = "ang-mer",
["Mexican Spanish"] = "es-MX",
["Meymehi"] = "xme-mey",
["Middle Assyrian"] = "akk-mas",
["Middle Babylonian"] = "akk-mbb",
["Middle Belarusian"] = "zle-mbe",
["Middle Bulgarian"] = "cu-bgm",
["Middle Chuvash"] = "cv-mid",
["Middle Egyptian"] = "egy-mid",
["Middle Elamite"] = "elx-mid",
["Middle Georgian"] = "ka-mid",
["Middle Hindi"] = "hi-mid",
["Middle Japanese"] = "ja-mid",
["Middle Konkani"] = "kok-mid",
["Middle Polish"] = "zlw-mpl",
["Middle Russian"] = "zle-mru",
["Middle Tamil"] = "ta-mid",
["Middle Ukrainian"] = "zle-muk",
["Minabi"] = "bsg-min",
["Mishnaic Hebrew"] = "he-mis",
["Missouri French"] = "fr-mis",
["Mitanni"] = "inc-mit",
["Moldovan"] = "ro-MD",
["Mulaku Dhivehi"] = "dv-mul",
["Mumviri"] = "bsh-mum",
["Nabataean Aramaic"] = "arc-nab",
["Nalbaria Kamrupi Assamese"] = "as-nkm",
["Nancowry"] = "ncb-nan",
["Nanjing Mandarin"] = "cmn-nan",
["Naraqi"] = "xme-nar",
["Nashalji"] = "xme-nas",
["Natanzi"] = "ntz",
["Nayini"] = "nyq",
["Neo-Assyrian"] = "akk-nas",
["Neo-Babylonian"] = "akk-nbb",
["Neo-Elamite"] = "elx-neo",
["Neo-Middle Egyptian"] = "egy-nmi",
["New Latin"] = "la-new",
["New Sanskrit"] = "sa-neo",
["New Xiang"] = "hsn-new",
["New Zealand English"] = "en-NZ",
["Nigerian Fulfulde"] = "fuv",
["Ningbonese"] = "wuu-nin",
["Noakhailla Vaṅga Bengali"] = "bn-nvn",
["North Alaskan Inupiatun"] = "esi",
["North American English"] = "en-NNN",
["North Karelian"] = "krl-nor",
["Northeastern Mandarin"] = "cmn-noe",
["Northeastern Pashto"] = "ps-nea",
["Northern Irish English"] = "en-GB-NIR",
["Northern Middle English"] = "enm-nor",
["Northern Scots"] = "sco-nor",
["Northern Talysh"] = "tly-nor",
["Northern Tati"] = "xme-ttc-nor",
["Northern Wu"] = "wuu-nor",
["Northumbrian Old English"] = "ang-nor",
["Northwest Alaskan Inupiatun"] = "esk",
["Northwestern Pashto"] = "ps-nwe",
["Nuorese"] = "sc-nuo",
["Nushabadi"] = "xme-nus",
["Odri"] = "pra-odr",
["Old Akkadian"] = "akk-old",
["Old Aramaic"] = "arc-old",
["Old Assyrian"] = "akk-oas",
["Old Avestan"] = "ae-old",
["Old Azari"] = "xme-azr",
["Old Babylonian"] = "akk-obb",
["Old Braj"] = "bra-old",
["Old Chuvash"] = "cv-old",
["Old Coptic"] = "cop-old",
["Old East Norse"] = "non-oen",
["Old Egyptian"] = "egy-old",
["Old Elamite"] = "elx-old",
["Old Italian"] = "roa-oit",
["Old Kazeruni"] = "fay-kzo",
["Old Khotanese"] = "kho-old",
["Old Kirghiz"] = "otk-kir",
["Old Konkani"] = "kok-old",
["Old Latin"] = "itc-ola",
["Old Malay"] = "ms-old",
["Old Mohawk"] = "iro-omo",
["Old Northern French"] = "fro-nor",
["Old Onondaga"] = "iro-oon",
["Old Ossetic"] = "oos",
["Old Provençal"] = "oc-pro-old",
["Old Pskovian"] = "zle-ops",
["Old Shirazi"] = "fay-sho",
["Old Tagalog"] = "tl-old",
["Old Thai"] = "th-old",
["Old Wendat"] = "iro-ohu",
["Old West Norse"] = "non-own",
["Old Xiang"] = "hsn-old",
["Opuntian Locrian"] = "grc-opl",
["Ordos Mongolian"] = "mn-ord",
["Orkhon Turkic"] = "otk-ork",
["Orma"] = "orc",
["Oroshori"] = "sgh-oro",
["Oxyrhynchite Coptic"] = "cop-oxy",
["Ozolian Locrian"] = "grc-ozl",
["Paisaci Prakrit"] = "pra-pai",
["Palasbaria Kamrupi Assamese"] = "as-pkm",
["Palatine German"] = "pfl",
["Paleo-Balkan"] = "qsb-bal",
["Paleo-Hispanic"] = "qsb-ibe",
["Palladius"] = "cmn-palladius",
["Palmyrene Aramaic"] = "arc-pal",
["Pamphylian Greek"] = "grc-pam",
["Paphian Greek"] = "el-pap",
["Papuni"] = "fay-pap",
["Penang Hokkien"] = "nan-pen",
["Peruvian Spanish"] = "es-PE",
["Peshawari"] = "ps-pes",
["Philippine Hokkien"] = "nan-hbl-PH",
["Philippine Mandarin"] = "cmn-PH",
["Philippine Spanish"] = "es-PH",
["Picard Old French"] = "fro-pic",
["Polari"] = "pld",
["Postal Romanization"] = "zh-postal",
["Pracya"] = "pra-pra",
["Praenestine"] = "itc-pra",
["Pre-Angkorian Old Khmer"] = "okz-pre",
["Pre-Classical Chinese"] = "lzh-pre",
["Pre-Greek"] = "qsb-grc",
["Proto-Anglo-Frisian"] = "gmw-afr-pro",
["Proto-Arinic"] = "qfa-yrn-pro",
["Proto-Baltic"] = "bat-pro",
["Proto-Bulgar"] = "trk-bul-pro",
["Proto-Common Turkic"] = "trk-cmn-pro",
["Proto-Finno-Permic"] = "urj-fpr-pro",
["Proto-Finno-Ugric"] = "fiu-pro",
["Proto-Ketic"] = "qfa-yke-pro",
["Proto-Kottic"] = "qfa-yko-pro",
["Proto-Lycopolitan Coptic"] = "cop-ply",
["Proto-North Sea Germanic"] = "gmw-nsg-pro",
["Proto-Oghur"] = "trk-ogr-pro",
["Proto-Oghuz"] = "trk-ogz-pro",
["Proto-Pumpokolic"] = "qfa-ypm-pro",
["Proto-Romance"] = "roa-pro",
["Proto-Tibeto-Burman"] = "tbq-pro",
["Provençal"] = "oc-pro",
["Puerto Rican Spanish"] = "es-PR",
["Pulaar"] = "fuc",
["Pular"] = "fuf",
["Pyongan Korean"] = "ko-pyo",
["Qalhari"] = "xme-qal",
["Qashqai"] = "qxq",
["Qianlu Min"] = "nan-qia",
["Qohrudi"] = "xme-qoh",
["Quanzhou Hokkien"] = "nan-qua",
["Renaissance Latin"] = "la-ren",
["Rioplatense Spanish"] = "es-AR",
["Roshani"] = "sgh-ros",
["Roshani-Khufi"] = "sgh-rsx",
["Russian Church Slavonic"] = "zls-chs-ru",
["Sabari"] = "pra-sab",
["Sagzabadi"] = "tks-sag",
["Sahidic Coptic"] = "cop-sah",
["Saint Dominican Creole French"] = "ht-sdm",
["Sakari"] = "pra-sak",
["Sakhalin Ainu"] = "ain-sak",
["Sallands"] = "sdz",
["Samghani"] = "fay-sam",
["Samnite"] = "osc-sam",
["Sauraseni Apabhramsa"] = "inc-asa",
["Sauraseni Prakrit"] = "pra-sau",
["Scottish English"] = "en-GB-SCT",
["Sedehi"] = "xme-sed",
["Shadi Wu"] = "wuu-chm",
["Shandarmani"] = "tly-san",
["Shanghainese"] = "wuu-sha",
["Shangsi Zhuang"] = "tai-shz",
["Sher"] = "ps-ser",
["Shirazi"] = "fay-shr",
["Shuadit"] = "oc-jud",
["Silesian East Central German"] = "sli",
["Singapore Hokkien"] = "nan-hbl-SG",
["Singapore Mandarin"] = "cmn-SG",
["Sixian Hakka"] = "hak-six",
["Soi"] = "soj",
["Sorkhi"] = "fay-sor",
["South African English"] = "en-ZA",
["South Karelian"] = "krl-sou",
["Southeastern Pashto"] = "ps-sea",
["Southern Balochi"] = "bcc",
["Southern Malaysian Hokkien"] = "nan-spm",
["Southern Middle English"] = "enm-sou",
["Southern Scots"] = "sco-sou",
["Southern Talysh"] = "tly-sou",
["Southern Tati"] = "xme-ttc-sou",
["Southwestern Mandarin"] = "cmn-sow",
["Southwestern Pashto"] = "ps-swe",
["Standard Babylonian"] = "akk-stb",
["Stellingwerfs"] = "stl",
["Suevic"] = "gem-sue",
["Sukhothai Old Thai"] = "th-suk",
["Suzhounese"] = "wuu-suz",
["Swiss French"] = "fr-CH",
["Switzerland German"] = "de-CH",
["Switzerland Italian"] = "it-CH",
["Taiwanese Hakka"] = "hak-TW",
["Taiwanese Hokkien"] = "nan-hbl-TW",
["Taiwanese Mandarin"] = "cmn-TW",
["Takestani"] = "tks-tak",
["Takka Apabhramsa"] = "inc-ata",
["Taleshdulabi"] = "tly-tal",
["Tamahaq"] = "thv",
["Tamasheq"] = "taq",
["Tarehi"] = "xme-trh",
["Tari"] = "xme-tar",
["ထာဝါလပ်မေတ်"] = "ttq",
["Tayert"] = "thz",
["Thessalian Greek"] = "grc-ths",
["Tianjin Mandarin"] = "cmn-tia",
["Tong'an Hokkien"] = "nan-ton",
["Tongyong Pinyin"] = "cmn-tongyong",
["Torlakian Serbo-Croatian"] = "sh-tor",
["Tosk Albanian"] = "als",
["Traditional Chinese poetry"] = "lzh-shi",
["Transalpine Gaulish"] = "xtg",
["Tseku"] = "tsk",
["Tularudi"] = "tly-tul",
["Twents"] = "twd",
["Twi Akan"] = "tw",
["Ukrainian Church Slavonic"] = "zls-chs-uk",
["Ulster English"] = "en-uls",
["Ulster Scots"] = "sco-uls",
["United States Spanish"] = "es-US",
["Upper Saxon German"] = "sxu",
["Vafsi"] = "vaf",
["Valencian"] = "ca-val",
["Valujerdi"] = "xme-val",
["Varani"] = "xme-var",
["Varzenehi"] = "xme-vrz",
["Vedic Sanskrit"] = "vsn",
["Veluws"] = "vel",
["Venezuelan Spanish"] = "es-VE",
["Viennese German"] = "de-AT-vie",
["Vietnamese Classical Chinese"] = "lzh-VI",
["Viryal Chuvash"] = "cv-vir",
["Vivaro-Alpine"] = "oc-viv",
["Volga Bulgar"] = "xbo-vol",
["Vonishuni"] = "xme-von",
["Vracada Apabhramsa"] = "inc-avr",
["Vulgar Latin"] = "la-vul",
["Waata"] = "ssn",
["Wade–Giles"] = "cmn-wadegiles",
["Walser German"] = "wae",
["Waziri"] = "ps-waz",
["Welsh English"] = "en-GB-WLS",
["Wenzhounese"] = "wuu-wen",
["West Midland Middle English"] = "enm-wmi",
["West Saxon Old English"] = "ang-wsx",
["Western Balochi"] = "bgn",
["Western Mansi"] = "mns-wes",
["Western Niger Fulfulde"] = "fuh",
["Western Panjabi"] = "pnb",
["Western Tati"] = "xme-ttc-wes",
["Westphalian"] = "wep",
["Written vernacular Cantonese"] = "yue-wvc",
["Written vernacular Mandarin"] = "cmn-wvc",
["Written vernacular Taishanese"] = "zhx-tai-wvc",
["Wuhan Mandarin"] = "cmn-wuh",
["Xiamen Hokkien"] = "nan-xia",
["Xining Mandarin"] = "cmn-xin",
["Yangzhou Mandarin"] = "cmn-yan",
["Yarandi"] = "xme-yar",
["Yazdi"] = "xme-yaz",
["Yongchun Hokkien"] = "nan-yon",
["Younger Avestan"] = "ae-yng",
["Yukjin Korean"] = "ko-yuk",
["Zarphatic"] = "zrp",
["Zefrehi"] = "xme-zef",
["Zhangping Hokkien"] = "nan-zhp",
["Zhangzhou Hokkien"] = "nan-zha",
["Zhao'an Hakka"] = "hak-zha",
["Zhao'an Hokkien"] = "nan-zho",
["Zhongshan Min"] = "zhx-zho",
["Zori"] = "xme-zor",
["Zoroastrian Dari"] = "gbz",
["taxonomic name"] = "mul-tax",
["the BMAC substrate"] = "qsb-bma",
}
7k417zjr6nyqtl7rxnuqlblmbasi0h3
402261
402257
2026-10-01T05:46:12Z
Intobesa.bot
1035
Bot: ပွမကၠာဲစုတ်ယၟုနူဘာသာအၚ်္ဂလိက်
402261
Scribunto
text/plain
return {
["Abhiri"] = "pra-abh",
["Abuzeydabadi"] = "xme-abz",
["Abyanehi"] = "xme-aby",
["Acadian French"] = "fr-aca",
["Achaemenid Elamite"] = "elx-ach",
["Achterhoeks"] = "act",
["Adamawa Fulfulde"] = "fub",
["Addu Dhivehi"] = "dv-add",
["Aeolic Greek"] = "grc-aeo",
["Afghan Uzbek"] = "uz-afg",
["African Romance"] = "la-afr",
["Afridi"] = "ps-afr",
["Akhmimic Coptic"] = "cop-akh",
["Akuapem Twi"] = "tw-aku",
["Alsatian Alemannic German"] = "gsw-FR-als",
["Amdo Tibetan"] = "adx",
["American English"] = "en-US",
["Amorehi"] = "xme-amo",
["Anaraki"] = "xme-ana",
["Anatri Chuvash"] = "cv-ana",
["Anbarani"] = "tly-anb",
["Angkorian Old Khmer"] = "okz-ang",
["Anglian Old English"] = "ang-ang",
["အာန်ဂဝ်-နဝ်မာန်"] = "xno",
["Anxi Hokkien"] = "nan-anx",
["Aranese"] = "oc-ara",
["Arbëresh Albanian"] = "aae",
["Arcadian Greek"] = "grc-arc",
["Arcadocypriot Greek"] = "grc-arp",
["Ardestani"] = "xme-ard",
["Ardhamagadhi Prakrit"] = "pra-ard",
["Arghu"] = "klj-arg",
["Armeno-Kipchak"] = "qwm-arm",
["Arvanitika Albanian"] = "aat",
["Asalemi"] = "tly-asa",
["Asante Twi"] = "tw-asa",
["Ashtiani"] = "atn",
["Attic Greek"] = "grc-att",
["Australian Aboriginal English"] = "en-aae",
["Australian English"] = "en-AU",
["Austrian German"] = "de-AT",
["Auvergnat"] = "oc-auv",
["Avahattha"] = "inc-aav",
["Avanti"] = "pra-ava",
["Ayutthaya Old Thai"] = "th-ayu",
["Azerbaijani Talysh"] = "tly-aze",
["Badrudi"] = "xme-bdr",
["Bagirmi Fulfulde"] = "fui",
["Bahliki"] = "pra-bah",
["Bajui"] = "sgh-baj",
["Baltic German"] = "de-bal",
["Bandari"] = "bsg-ban",
["Bangash"] = "ps-bng",
["Bannu"] = "ps-ban",
["Barpetia Kamrupi Assamese"] = "as-bkm",
["Bartangi"] = "sgh-bar",
["Bartangi-Oroshori"] = "sgh-bro",
["Beijing Mandarin"] = "cmn-bei",
["Beijingic Mandarin"] = "cmn-bec",
["Belgian Dutch"] = "nl-BE",
["Besemah"] = "pse-bsm",
["Betawi Kota"] = "bew-kot",
["Biblical Aramaic"] = "arc-bib",
["Biblical Hebrew"] = "hbo",
["Bidhandi"] = "xme-bid",
["Bijagani"] = "xme-bij",
["Boeotian Greek"] = "grc-boi",
["Bohairic Coptic"] = "cop-boh",
["Bolivian Spanish"] = "es-BO",
["Bombay Hindi"] = "hi-mum",
["Bono Twi"] = "tw-abr",
["Borana"] = "gax",
["Borgu Fulfulde"] = "fue",
["Borujerdi"] = "xme-bor",
["Brahmanic Sanskrit"] = "sa-bra",
["Brazilian Portuguese"] = "pt-BR",
["British English"] = "en-GB",
["Buddhist Hybrid Sanskrit"] = "sa-bhs",
["Burenjani"] = "fay-bur",
["Bushehri"] = "fay-bsh",
["ဂရေတ် ဗေတ်သေန်ထေၚ်"] = "gkm",
["Cajun French"] = "frc",
["California English"] = "en-US-CA",
["Camorta"] = "ncb-cam",
["Campidanese"] = "sc-sro",
["Canadian English"] = "en-CA",
["Canadian French"] = "fr-CA",
["Canadian Ukrainian"] = "uk-CA",
["Candali"] = "pra-can",
["Capenate"] = "xfa-cap",
["Central Ghilzay"] = "ps-cgi",
["Central Korean"] = "ko-cen",
["Central Plains Mandarin"] = "cmn-cep",
["Central Talysh"] = "tly-cen",
["Central Tati"] = "xme-ttc-cen",
["Central-Eastern Niger Fulfulde"] = "fuq",
["Chakavian Serbo-Croatian"] = "ckm",
["Chakhar Mongolian"] = "mn-cha",
["Chali Tati"] = "tks-cal",
["Changtai Hokkien"] = "nan-cha",
["Chilean Spanish"] = "es-CL",
["Chimehi"] = "xme-cim",
["Christian Palestinian Aramaic"] = "arc-cpa",
["Chungcheong Korean"] = "ko-chu",
["Ci"] = "lzh-cii",
["Cisalpine Gaulish"] = "xcg",
["Classical Azerbaijani"] = "az-cls",
["Classical Cantonese"] = "lzh-yue",
["Classical Japanese"] = "ja-cla",
["Classical Latin"] = "la-cla",
["Classical Malay"] = "ms-cla",
["Classical Mandarin"] = "lzh-cmn",
["Classical Persian"] = "fa-cls",
["Classical Sanskrit"] = "cls",
["Classical Tagalog"] = "tl-cls",
["Classical Taishanese"] = "lzh-tai",
["Classical Taiwanese Mandarin"] = "lzh-cmn-TW",
["Colombian Spanish"] = "es-CO",
["Common Bantu"] = "bnt-cmn",
["Contemporary Latin"] = "la-con",
["Coptic Dialect G"] = "cop-ggg",
["Coptic Dialect J"] = "cop-jjj",
["Coptic Dialect K"] = "cop-kkk",
["Coptic Dialect P"] = "cop-ppp",
["Cretan Ancient Greek"] = "grc-kre",
["Cretan Greek"] = "el-crt",
["Cuban Spanish"] = "es-CU",
["Cuman"] = "qwm-cum",
["Cypriot Greek"] = "el-cyp",
["Cypriot Turkish"] = "tr-CY",
["Dabu Hakka"] = "hak-dab",
["Daksinatya"] = "pra-dak",
["Danesfani"] = "tks-dan",
["Danube Bulgar"] = "xbo-dan",
["Danzhou Chinese"] = "zhx-dan",
["Dari"] = "prs",
["Dashtaki"] = "fay-dsh",
["Davani"] = "fay-dav",
["Delijani"] = "xme-del",
["Dhakaiya Vaṅga Bengali"] = "bn-dvn",
["Digor Ossetian"] = "os-dig",
["Dnieper Baltic"] = "bat-dni",
["Dobrujan Tatar"] = "crh-dbj",
["Doric Greek"] = "grc-dor",
["Dramili"] = "pra-dra",
["Drents"] = "drt",
["Early Brythonic"] = "bry-ear",
["Early Mandarin"] = "cmn-ear",
["Early Medieval Latin"] = "la-eme",
["Early Middle Chinese"] = "ltc-ear",
["Early Middle Japanese"] = "ja-mid-ear",
["Early Middle Korean"] = "okm-ear",
["Early Middle Mongol"] = "xng-ear",
["Early Middle Persian"] = "pal-ear",
["Early Modern Czech"] = "cs-ear",
["Early Modern English"] = "en-ear",
["Early Modern Hakka"] = "hak-eam",
["Early Modern Japanese"] = "ja-ear",
["Early Modern Spanish"] = "es-ear",
["Early New High German"] = "de-ear",
["Early New Persian"] = "fa-ear",
["Early Old Chinese"] = "och-ear",
["Early Old Ossetic"] = "oos-ear",
["Early Old Persian"] = "peo-ear",
["Early Scots"] = "enm-esc",
["Early Sogdian"] = "sog-ear",
["East Frisian Low German"] = "frs",
["East Midland Middle English"] = "enm-emi",
["Eastern Balochi"] = "bgp",
["Eastern Mansi"] = "mns-eas",
["Eastern Old Japanese"] = "ojp-eas",
["Eastern Tati"] = "xme-ttc-eas",
["Ebrahimabadi"] = "tks-ebr",
["Ecclesiastical Latin"] = "la-ecc",
["Elean Greek"] = "grc-ela",
["Emamzada Esmaili"] = "fay-eze",
["Epic Greek"] = "grc-epc",
["Esfarvarini"] = "tks-esf",
["European Portuguese"] = "pt-PT",
["Fante Akan"] = "fat",
["Farizandi"] = "xme-far",
["Fayyumic Coptic"] = "cop-fay",
["Frankish"] = "frk",
["Fumani"] = "tly-fum",
["Fuyu Kyrgyz"] = "kjh-fyu",
["Gangwon Korean"] = "ko-gan",
["Gascon"] = "oc-gas",
["Gavkoshaki"] = "fay-gav",
["Gazi"] = "gzi",
["Geordie"] = "en-geo",
["Ghat"] = "thv-ght",
["Gheg Albanian"] = "aln",
["Golyad"] = "bat-gol",
["Goral"] = "pl-gor",
["Greater Polish"] = "pl-gre",
["Greenlandic Norse"] = "non-grn",
["Gronings"] = "gos",
["Guangzhou Cantonese"] = "yue-gua",
["Guanzhong Mandarin"] = "cmn-gua",
["Guernsey Norman"] = "nrf-grn",
["Guilin Mandarin"] = "cmn-gui",
["Gurjara Apabhramsa"] = "inc-agu",
["Gyeonggi Korean"] = "ko-gyg",
["Gyeongsang Korean"] = "ko-gys",
["Hailu Hakka"] = "hak-hai",
["Hamadani"] = "xme-ham",
["Hamgyong Korean"] = "ko-ham",
["Hangzhounese"] = "wuu-han",
["Hanjani"] = "xme-han",
["Hanyu Pinyin"] = "cmn-pinyin",
["Harar Oromo"] = "hae",
["Hatran Aramaic"] = "arc-hat",
["Havigannada"] = "kn-hav",
["Hazaragi"] = "haz",
["Helu Prakrit"] = "pra-hel",
["Hengyang Xiang"] = "hsn-hya",
["Hengzhou Xiang"] = "hsn-hzh",
["Hermopolitan Coptic"] = "cop-her",
["High Alemannic German"] = "gsw-hig",
["Highest Alemannic German"] = "gsw-hst",
["Hokkaido Ainu"] = "ain-hok",
["Hong Kong Cantonese"] = "yue-HK",
["Hong Kong English"] = "en-HK",
["Hong Kong Hakka"] = "hak-HK",
["Hormozi"] = "bsg-hor",
["Houlu Min"] = "nan-hou",
["Hui'an Hokkien"] = "nan-hui",
["Huiyang Hakka"] = "hak-hui",
["Huvadhu Dhivehi"] = "dv-huv",
["Hwanghae Korean"] = "ko-hwa",
["Imperial Aramaic"] = "arc-imp",
["Indian English"] = "en-IN",
["Insular Scots"] = "sco-ins",
["Ionic Greek"] = "grc-ion",
["Iranian Persian"] = "fa-ira",
["Irish English"] = "en-IE",
["Iron Ossetian"] = "os-iro",
["Isfahani"] = "xme-isf",
["Israeli Hebrew"] = "he-IL",
["Jadrani"] = "ps-jad",
["Jeolla Korean"] = "ko-jeo",
["Jersey Norman"] = "nrf-jer",
["Jewish Babylonian Aramaic"] = "tmr",
["Jewish Literary Aramaic"] = "arc-jla",
["Jewish Palestinian Aramaic"] = "jpa",
["Jianghuai Mandarin"] = "cmn-jhu",
["Jinjiang Hokkien"] = "nan-jin",
["Jirofti"] = "rdb-jir",
["Jowshaqani"] = "xme-jow",
["Judeo-Arabic"] = "jrb",
["Kafroni"] = "xme-kaf",
["Kahaki"] = "xme-kah",
["Kahnuji"] = "rdb-kah",
["Kajkavian Serbo-Croatian"] = "kjv",
["Kakari"] = "ps-kak",
["Kaliarda"] = "el-kal",
["Kamviri"] = "xvi",
["Kandahari"] = "ps-kan",
["Kaniguram"] = "oru-kan",
["Karganrudi"] = "tly-kar",
["Kashani"] = "xme-kas",
["Kasmiri Apabhramsa"] = "inc-aka",
["Katchal"] = "ncb-kat",
["Katharevousa"] = "el-kth",
["Kathiyawadi"] = "gu-kat",
["Kativiri"] = "bsh-kat",
["Kentish Middle English"] = "enm-ken",
["Kentish Old English"] = "ang-ken",
["Kermani"] = "xme-krm",
["Kesehi"] = "xme-kes",
["Khalkha Mongolian"] = "mn-kha",
["Khamba"] = "kbg",
["Khams Tibetan"] = "khg",
["Khargi"] = "fay-kar",
["Khasa Prakrit"] = "pra-kha",
["Khatak"] = "ps-xat",
["Khiaraji"] = "tks-xia",
["Khollari"] = "fay-kho",
["Khorchin Mongolian"] = "mn-khr",
["Khoznini"] = "tks-xoz",
["Khufi"] = "sgh-xuf",
["Khughni"] = "sgh-xug",
["Khughni-Bajui"] = "sgh-xgb",
["Khunsari"] = "kfm",
["Khuri"] = "xme-xur",
["Kinmenese Hokkien"] = "nan-kin",
["Kinyarwanda"] = "rw-kin",
["Kirundi"] = "rw-run",
["ဂရေတ် ခါဝ်အိန်"] = "grc-koi",
["Komjani"] = "xme-kom",
["Kondazi"] = "fay-kon",
["Korean Classical Chinese"] = "lzh-KO",
["Kromanti"] = "alv-kro",
["Kundagannada"] = "kn-kun",
["Kuril Ainu"] = "ain-kur",
["Kölsch"] = "ksh",
["Languedocien"] = "oc-lan",
["Lanuvian"] = "itc-lan",
["Lanyin Mandarin"] = "cmn-lan",
["Late Babylonian"] = "akk-lbb",
["Late Brythonic"] = "bry-lat",
["Late Egyptian"] = "egy-lat",
["Late Khotanese"] = "kho-lat",
["Late Latin"] = "la-lat",
["Late Middle Chinese"] = "ltc-lat",
["Late Middle Japanese"] = "ja-mid-lat",
["Late Middle Mongol"] = "xng-lat",
["Late Middle Persian"] = "pal-lat",
["Late Old Chinese"] = "och-lat",
["Late Old Korean"] = "oko-lat",
["Late Old Ossetic"] = "oos-lat",
["Late Old Persian"] = "peo-lat",
["Late Old Swedish"] = "gmq-osw-lat",
["Late Sogdian"] = "sog-lat",
["Law French"] = "xno-law",
["Lesser Polish"] = "pl-les",
["Limousin"] = "oc-lim",
["Lisan ud-Dawat Gujarati"] = "gu-lda",
["Literary Cantonese"] = "yue-lit",
["Literary Chinese"] = "lzh-lit",
["Logar"] = "oru-log",
["Logudorese"] = "sc-src",
["Lombardic"] = "lng",
["Loudi Xiang"] = "hsn-lou",
["Louisiana French"] = "fr-lou",
["Low Alemannic German"] = "gsw-low",
["Low Prussian"] = "nds-lpr",
["Lucanian"] = "osc-luc",
["Lunfardo"] = "es-lun",
["Lycopolitan Coptic"] = "cop-lyc",
["Língua Geral Amazônica"] = "tpw-lga",
["Maasina Fulfulde"] = "ffm",
["Magadhi Prakrit"] = "pra-mag",
["Mahallati"] = "xme-mah",
["Maharastri Apabhramsa"] = "inc-ama",
["Maharastri Prakrit"] = "pra-mah",
["Mahsudi"] = "ps-mah",
["Malaysian Huiyang Hakka"] = "hak-hui-MY",
["Malaysian Mandarin"] = "cmn-MY",
["Mamluk-Kipchak"] = "qwm-mam",
["Manichaean Middle Persian"] = "xmn",
["Manx English"] = "en-IM",
["Masali"] = "tly-msa",
["Masarami"] = "fay-mas",
["Masovian Polish"] = "pl-mas",
["Masulei"] = "tly-msu",
["Medan Hokkien"] = "nan-med",
["Medieval Hebrew"] = "he-med",
["Medieval Latin"] = "la-med",
["Medieval Sinhalese"] = "si-med",
["Medieval Tashelhit"] = "shi-med",
["Meixian Hakka"] = "hak-mei",
["Mercian Old English"] = "ang-mer",
["Mexican Spanish"] = "es-MX",
["Meymehi"] = "xme-mey",
["Middle Assyrian"] = "akk-mas",
["Middle Babylonian"] = "akk-mbb",
["Middle Belarusian"] = "zle-mbe",
["Middle Bulgarian"] = "cu-bgm",
["Middle Chuvash"] = "cv-mid",
["Middle Egyptian"] = "egy-mid",
["Middle Elamite"] = "elx-mid",
["Middle Georgian"] = "ka-mid",
["Middle Hindi"] = "hi-mid",
["Middle Japanese"] = "ja-mid",
["Middle Konkani"] = "kok-mid",
["Middle Polish"] = "zlw-mpl",
["Middle Russian"] = "zle-mru",
["Middle Tamil"] = "ta-mid",
["Middle Ukrainian"] = "zle-muk",
["Minabi"] = "bsg-min",
["Mishnaic Hebrew"] = "he-mis",
["Missouri French"] = "fr-mis",
["Mitanni"] = "inc-mit",
["Moldovan"] = "ro-MD",
["Mulaku Dhivehi"] = "dv-mul",
["Mumviri"] = "bsh-mum",
["Nabataean Aramaic"] = "arc-nab",
["Nalbaria Kamrupi Assamese"] = "as-nkm",
["Nancowry"] = "ncb-nan",
["Nanjing Mandarin"] = "cmn-nan",
["Naraqi"] = "xme-nar",
["Nashalji"] = "xme-nas",
["Natanzi"] = "ntz",
["Nayini"] = "nyq",
["Neo-Assyrian"] = "akk-nas",
["Neo-Babylonian"] = "akk-nbb",
["Neo-Elamite"] = "elx-neo",
["Neo-Middle Egyptian"] = "egy-nmi",
["New Latin"] = "la-new",
["New Sanskrit"] = "sa-neo",
["New Xiang"] = "hsn-new",
["New Zealand English"] = "en-NZ",
["Nigerian Fulfulde"] = "fuv",
["Ningbonese"] = "wuu-nin",
["Noakhailla Vaṅga Bengali"] = "bn-nvn",
["North Alaskan Inupiatun"] = "esi",
["North American English"] = "en-NNN",
["North Karelian"] = "krl-nor",
["Northeastern Mandarin"] = "cmn-noe",
["Northeastern Pashto"] = "ps-nea",
["Northern Irish English"] = "en-GB-NIR",
["Northern Middle English"] = "enm-nor",
["Northern Scots"] = "sco-nor",
["Northern Talysh"] = "tly-nor",
["Northern Tati"] = "xme-ttc-nor",
["Northern Wu"] = "wuu-nor",
["Northumbrian Old English"] = "ang-nor",
["Northwest Alaskan Inupiatun"] = "esk",
["Northwestern Pashto"] = "ps-nwe",
["Nuorese"] = "sc-nuo",
["Nushabadi"] = "xme-nus",
["Odri"] = "pra-odr",
["Old Akkadian"] = "akk-old",
["Old Aramaic"] = "arc-old",
["Old Assyrian"] = "akk-oas",
["Old Avestan"] = "ae-old",
["Old Azari"] = "xme-azr",
["Old Babylonian"] = "akk-obb",
["Old Braj"] = "bra-old",
["Old Chuvash"] = "cv-old",
["Old Coptic"] = "cop-old",
["Old East Norse"] = "non-oen",
["Old Egyptian"] = "egy-old",
["Old Elamite"] = "elx-old",
["Old Italian"] = "roa-oit",
["Old Kazeruni"] = "fay-kzo",
["Old Khotanese"] = "kho-old",
["Old Kirghiz"] = "otk-kir",
["Old Konkani"] = "kok-old",
["Old Latin"] = "itc-ola",
["Old Malay"] = "ms-old",
["Old Mohawk"] = "iro-omo",
["Old Northern French"] = "fro-nor",
["Old Onondaga"] = "iro-oon",
["Old Ossetic"] = "oos",
["Old Provençal"] = "oc-pro-old",
["Old Pskovian"] = "zle-ops",
["Old Shirazi"] = "fay-sho",
["Old Tagalog"] = "tl-old",
["Old Thai"] = "th-old",
["Old Wendat"] = "iro-ohu",
["Old West Norse"] = "non-own",
["Old Xiang"] = "hsn-old",
["Opuntian Locrian"] = "grc-opl",
["Ordos Mongolian"] = "mn-ord",
["Orkhon Turkic"] = "otk-ork",
["Orma"] = "orc",
["Oroshori"] = "sgh-oro",
["Oxyrhynchite Coptic"] = "cop-oxy",
["Ozolian Locrian"] = "grc-ozl",
["Paisaci Prakrit"] = "pra-pai",
["Palasbaria Kamrupi Assamese"] = "as-pkm",
["Palatine German"] = "pfl",
["Paleo-Balkan"] = "qsb-bal",
["Paleo-Hispanic"] = "qsb-ibe",
["Palladius"] = "cmn-palladius",
["Palmyrene Aramaic"] = "arc-pal",
["Pamphylian Greek"] = "grc-pam",
["Paphian Greek"] = "el-pap",
["Papuni"] = "fay-pap",
["Penang Hokkien"] = "nan-pen",
["Peruvian Spanish"] = "es-PE",
["Peshawari"] = "ps-pes",
["Philippine Hokkien"] = "nan-hbl-PH",
["Philippine Mandarin"] = "cmn-PH",
["Philippine Spanish"] = "es-PH",
["Picard Old French"] = "fro-pic",
["Polari"] = "pld",
["Postal Romanization"] = "zh-postal",
["Pracya"] = "pra-pra",
["Praenestine"] = "itc-pra",
["Pre-Angkorian Old Khmer"] = "okz-pre",
["Pre-Classical Chinese"] = "lzh-pre",
["Pre-Greek"] = "qsb-grc",
["Proto-Anglo-Frisian"] = "gmw-afr-pro",
["Proto-Arinic"] = "qfa-yrn-pro",
["Proto-Baltic"] = "bat-pro",
["Proto-Bulgar"] = "trk-bul-pro",
["Proto-Common Turkic"] = "trk-cmn-pro",
["Proto-Finno-Permic"] = "urj-fpr-pro",
["Proto-Finno-Ugric"] = "fiu-pro",
["Proto-Ketic"] = "qfa-yke-pro",
["Proto-Kottic"] = "qfa-yko-pro",
["Proto-Lycopolitan Coptic"] = "cop-ply",
["Proto-North Sea Germanic"] = "gmw-nsg-pro",
["Proto-Oghur"] = "trk-ogr-pro",
["Proto-Oghuz"] = "trk-ogz-pro",
["Proto-Pumpokolic"] = "qfa-ypm-pro",
["Proto-Romance"] = "roa-pro",
["Proto-Tibeto-Burman"] = "tbq-pro",
["Provençal"] = "oc-pro",
["Puerto Rican Spanish"] = "es-PR",
["Pulaar"] = "fuc",
["Pular"] = "fuf",
["Pyongan Korean"] = "ko-pyo",
["Qalhari"] = "xme-qal",
["Qashqai"] = "qxq",
["Qianlu Min"] = "nan-qia",
["Qohrudi"] = "xme-qoh",
["Quanzhou Hokkien"] = "nan-qua",
["Renaissance Latin"] = "la-ren",
["Rioplatense Spanish"] = "es-AR",
["Roshani"] = "sgh-ros",
["Roshani-Khufi"] = "sgh-rsx",
["Russian Church Slavonic"] = "zls-chs-ru",
["Sabari"] = "pra-sab",
["Sagzabadi"] = "tks-sag",
["Sahidic Coptic"] = "cop-sah",
["Saint Dominican Creole French"] = "ht-sdm",
["Sakari"] = "pra-sak",
["Sakhalin Ainu"] = "ain-sak",
["Sallands"] = "sdz",
["Samghani"] = "fay-sam",
["Samnite"] = "osc-sam",
["Sauraseni Apabhramsa"] = "inc-asa",
["Sauraseni Prakrit"] = "pra-sau",
["Scottish English"] = "en-GB-SCT",
["Sedehi"] = "xme-sed",
["Shadi Wu"] = "wuu-chm",
["Shandarmani"] = "tly-san",
["Shanghainese"] = "wuu-sha",
["Shangsi Zhuang"] = "tai-shz",
["Sher"] = "ps-ser",
["Shirazi"] = "fay-shr",
["Shuadit"] = "oc-jud",
["Silesian East Central German"] = "sli",
["Singapore Hokkien"] = "nan-hbl-SG",
["Singapore Mandarin"] = "cmn-SG",
["Sixian Hakka"] = "hak-six",
["Soi"] = "soj",
["Sorkhi"] = "fay-sor",
["South African English"] = "en-ZA",
["South Karelian"] = "krl-sou",
["Southeastern Pashto"] = "ps-sea",
["Southern Balochi"] = "bcc",
["Southern Malaysian Hokkien"] = "nan-spm",
["Southern Middle English"] = "enm-sou",
["Southern Scots"] = "sco-sou",
["Southern Talysh"] = "tly-sou",
["Southern Tati"] = "xme-ttc-sou",
["Southwestern Mandarin"] = "cmn-sow",
["Southwestern Pashto"] = "ps-swe",
["Standard Babylonian"] = "akk-stb",
["Stellingwerfs"] = "stl",
["Suevic"] = "gem-sue",
["Sukhothai Old Thai"] = "th-suk",
["Suzhounese"] = "wuu-suz",
["Swiss French"] = "fr-CH",
["Switzerland German"] = "de-CH",
["Switzerland Italian"] = "it-CH",
["Taiwanese Hakka"] = "hak-TW",
["Taiwanese Hokkien"] = "nan-hbl-TW",
["Taiwanese Mandarin"] = "cmn-TW",
["Takestani"] = "tks-tak",
["Takka Apabhramsa"] = "inc-ata",
["Taleshdulabi"] = "tly-tal",
["Tamahaq"] = "thv",
["Tamasheq"] = "taq",
["Tarehi"] = "xme-trh",
["Tari"] = "xme-tar",
["ထာဝါလပ်မေတ်"] = "ttq",
["ထေယျုက်"] = "thz",
["Thessalian Greek"] = "grc-ths",
["Tianjin Mandarin"] = "cmn-tia",
["Tong'an Hokkien"] = "nan-ton",
["Tongyong Pinyin"] = "cmn-tongyong",
["Torlakian Serbo-Croatian"] = "sh-tor",
["Tosk Albanian"] = "als",
["Traditional Chinese poetry"] = "lzh-shi",
["Transalpine Gaulish"] = "xtg",
["Tseku"] = "tsk",
["Tularudi"] = "tly-tul",
["Twents"] = "twd",
["Twi Akan"] = "tw",
["Ukrainian Church Slavonic"] = "zls-chs-uk",
["Ulster English"] = "en-uls",
["Ulster Scots"] = "sco-uls",
["United States Spanish"] = "es-US",
["Upper Saxon German"] = "sxu",
["Vafsi"] = "vaf",
["Valencian"] = "ca-val",
["Valujerdi"] = "xme-val",
["Varani"] = "xme-var",
["Varzenehi"] = "xme-vrz",
["Vedic Sanskrit"] = "vsn",
["Veluws"] = "vel",
["Venezuelan Spanish"] = "es-VE",
["Viennese German"] = "de-AT-vie",
["Vietnamese Classical Chinese"] = "lzh-VI",
["Viryal Chuvash"] = "cv-vir",
["Vivaro-Alpine"] = "oc-viv",
["Volga Bulgar"] = "xbo-vol",
["Vonishuni"] = "xme-von",
["Vracada Apabhramsa"] = "inc-avr",
["Vulgar Latin"] = "la-vul",
["Waata"] = "ssn",
["Wade–Giles"] = "cmn-wadegiles",
["Walser German"] = "wae",
["Waziri"] = "ps-waz",
["Welsh English"] = "en-GB-WLS",
["Wenzhounese"] = "wuu-wen",
["West Midland Middle English"] = "enm-wmi",
["West Saxon Old English"] = "ang-wsx",
["Western Balochi"] = "bgn",
["Western Mansi"] = "mns-wes",
["Western Niger Fulfulde"] = "fuh",
["Western Panjabi"] = "pnb",
["Western Tati"] = "xme-ttc-wes",
["Westphalian"] = "wep",
["Written vernacular Cantonese"] = "yue-wvc",
["Written vernacular Mandarin"] = "cmn-wvc",
["Written vernacular Taishanese"] = "zhx-tai-wvc",
["Wuhan Mandarin"] = "cmn-wuh",
["Xiamen Hokkien"] = "nan-xia",
["Xining Mandarin"] = "cmn-xin",
["Yangzhou Mandarin"] = "cmn-yan",
["Yarandi"] = "xme-yar",
["Yazdi"] = "xme-yaz",
["Yongchun Hokkien"] = "nan-yon",
["Younger Avestan"] = "ae-yng",
["Yukjin Korean"] = "ko-yuk",
["Zarphatic"] = "zrp",
["Zefrehi"] = "xme-zef",
["Zhangping Hokkien"] = "nan-zhp",
["Zhangzhou Hokkien"] = "nan-zha",
["Zhao'an Hakka"] = "hak-zha",
["Zhao'an Hokkien"] = "nan-zho",
["Zhongshan Min"] = "zhx-zho",
["Zori"] = "xme-zor",
["Zoroastrian Dari"] = "gbz",
["taxonomic name"] = "mul-tax",
["the BMAC substrate"] = "qsb-bma",
}
30gds3rt2nd3gcgugmne4pzkviizpxg
402264
402261
2026-10-01T05:51:19Z
Intobesa.bot
1035
Bot: ပွမကၠာဲစုတ်ယၟုနူဘာသာအၚ်္ဂလိက်
402264
Scribunto
text/plain
return {
["Abhiri"] = "pra-abh",
["Abuzeydabadi"] = "xme-abz",
["Abyanehi"] = "xme-aby",
["Acadian French"] = "fr-aca",
["Achaemenid Elamite"] = "elx-ach",
["Achterhoeks"] = "act",
["Adamawa Fulfulde"] = "fub",
["Addu Dhivehi"] = "dv-add",
["Aeolic Greek"] = "grc-aeo",
["Afghan Uzbek"] = "uz-afg",
["African Romance"] = "la-afr",
["Afridi"] = "ps-afr",
["Akhmimic Coptic"] = "cop-akh",
["Akuapem Twi"] = "tw-aku",
["Alsatian Alemannic German"] = "gsw-FR-als",
["Amdo Tibetan"] = "adx",
["American English"] = "en-US",
["Amorehi"] = "xme-amo",
["Anaraki"] = "xme-ana",
["Anatri Chuvash"] = "cv-ana",
["Anbarani"] = "tly-anb",
["Angkorian Old Khmer"] = "okz-ang",
["Anglian Old English"] = "ang-ang",
["အာန်ဂဝ်-နဝ်မာန်"] = "xno",
["Anxi Hokkien"] = "nan-anx",
["Aranese"] = "oc-ara",
["Arbëresh Albanian"] = "aae",
["Arcadian Greek"] = "grc-arc",
["Arcadocypriot Greek"] = "grc-arp",
["Ardestani"] = "xme-ard",
["Ardhamagadhi Prakrit"] = "pra-ard",
["Arghu"] = "klj-arg",
["Armeno-Kipchak"] = "qwm-arm",
["Arvanitika Albanian"] = "aat",
["Asalemi"] = "tly-asa",
["Asante Twi"] = "tw-asa",
["Ashtiani"] = "atn",
["Attic Greek"] = "grc-att",
["Australian Aboriginal English"] = "en-aae",
["Australian English"] = "en-AU",
["Austrian German"] = "de-AT",
["Auvergnat"] = "oc-auv",
["Avahattha"] = "inc-aav",
["Avanti"] = "pra-ava",
["Ayutthaya Old Thai"] = "th-ayu",
["Azerbaijani Talysh"] = "tly-aze",
["Badrudi"] = "xme-bdr",
["Bagirmi Fulfulde"] = "fui",
["Bahliki"] = "pra-bah",
["Bajui"] = "sgh-baj",
["Baltic German"] = "de-bal",
["Bandari"] = "bsg-ban",
["Bangash"] = "ps-bng",
["Bannu"] = "ps-ban",
["Barpetia Kamrupi Assamese"] = "as-bkm",
["Bartangi"] = "sgh-bar",
["Bartangi-Oroshori"] = "sgh-bro",
["Beijing Mandarin"] = "cmn-bei",
["Beijingic Mandarin"] = "cmn-bec",
["Belgian Dutch"] = "nl-BE",
["Besemah"] = "pse-bsm",
["Betawi Kota"] = "bew-kot",
["Biblical Aramaic"] = "arc-bib",
["Biblical Hebrew"] = "hbo",
["Bidhandi"] = "xme-bid",
["Bijagani"] = "xme-bij",
["Boeotian Greek"] = "grc-boi",
["Bohairic Coptic"] = "cop-boh",
["Bolivian Spanish"] = "es-BO",
["Bombay Hindi"] = "hi-mum",
["Bono Twi"] = "tw-abr",
["Borana"] = "gax",
["Borgu Fulfulde"] = "fue",
["Borujerdi"] = "xme-bor",
["Brahmanic Sanskrit"] = "sa-bra",
["Brazilian Portuguese"] = "pt-BR",
["British English"] = "en-GB",
["Buddhist Hybrid Sanskrit"] = "sa-bhs",
["Burenjani"] = "fay-bur",
["Bushehri"] = "fay-bsh",
["ဂရေတ် ဗေတ်သေန်ထေၚ်"] = "gkm",
["Cajun French"] = "frc",
["California English"] = "en-US-CA",
["Camorta"] = "ncb-cam",
["Campidanese"] = "sc-sro",
["Canadian English"] = "en-CA",
["Canadian French"] = "fr-CA",
["Canadian Ukrainian"] = "uk-CA",
["Candali"] = "pra-can",
["Capenate"] = "xfa-cap",
["Central Ghilzay"] = "ps-cgi",
["Central Korean"] = "ko-cen",
["Central Plains Mandarin"] = "cmn-cep",
["Central Talysh"] = "tly-cen",
["Central Tati"] = "xme-ttc-cen",
["Central-Eastern Niger Fulfulde"] = "fuq",
["Chakavian Serbo-Croatian"] = "ckm",
["Chakhar Mongolian"] = "mn-cha",
["Chali Tati"] = "tks-cal",
["Changtai Hokkien"] = "nan-cha",
["Chilean Spanish"] = "es-CL",
["Chimehi"] = "xme-cim",
["Christian Palestinian Aramaic"] = "arc-cpa",
["Chungcheong Korean"] = "ko-chu",
["Ci"] = "lzh-cii",
["Cisalpine Gaulish"] = "xcg",
["Classical Azerbaijani"] = "az-cls",
["Classical Cantonese"] = "lzh-yue",
["Classical Japanese"] = "ja-cla",
["Classical Latin"] = "la-cla",
["Classical Malay"] = "ms-cla",
["Classical Mandarin"] = "lzh-cmn",
["Classical Persian"] = "fa-cls",
["Classical Sanskrit"] = "cls",
["Classical Tagalog"] = "tl-cls",
["Classical Taishanese"] = "lzh-tai",
["Classical Taiwanese Mandarin"] = "lzh-cmn-TW",
["Colombian Spanish"] = "es-CO",
["Common Bantu"] = "bnt-cmn",
["Contemporary Latin"] = "la-con",
["Coptic Dialect G"] = "cop-ggg",
["Coptic Dialect J"] = "cop-jjj",
["Coptic Dialect K"] = "cop-kkk",
["Coptic Dialect P"] = "cop-ppp",
["Cretan Ancient Greek"] = "grc-kre",
["Cretan Greek"] = "el-crt",
["Cuban Spanish"] = "es-CU",
["Cuman"] = "qwm-cum",
["Cypriot Greek"] = "el-cyp",
["Cypriot Turkish"] = "tr-CY",
["Dabu Hakka"] = "hak-dab",
["Daksinatya"] = "pra-dak",
["Danesfani"] = "tks-dan",
["Danube Bulgar"] = "xbo-dan",
["Danzhou Chinese"] = "zhx-dan",
["Dari"] = "prs",
["Dashtaki"] = "fay-dsh",
["Davani"] = "fay-dav",
["Delijani"] = "xme-del",
["Dhakaiya Vaṅga Bengali"] = "bn-dvn",
["Digor Ossetian"] = "os-dig",
["Dnieper Baltic"] = "bat-dni",
["Dobrujan Tatar"] = "crh-dbj",
["Doric Greek"] = "grc-dor",
["Dramili"] = "pra-dra",
["Drents"] = "drt",
["Early Brythonic"] = "bry-ear",
["Early Mandarin"] = "cmn-ear",
["Early Medieval Latin"] = "la-eme",
["Early Middle Chinese"] = "ltc-ear",
["Early Middle Japanese"] = "ja-mid-ear",
["Early Middle Korean"] = "okm-ear",
["Early Middle Mongol"] = "xng-ear",
["Early Middle Persian"] = "pal-ear",
["Early Modern Czech"] = "cs-ear",
["Early Modern English"] = "en-ear",
["Early Modern Hakka"] = "hak-eam",
["Early Modern Japanese"] = "ja-ear",
["Early Modern Spanish"] = "es-ear",
["Early New High German"] = "de-ear",
["Early New Persian"] = "fa-ear",
["Early Old Chinese"] = "och-ear",
["Early Old Ossetic"] = "oos-ear",
["Early Old Persian"] = "peo-ear",
["Early Scots"] = "enm-esc",
["Early Sogdian"] = "sog-ear",
["East Frisian Low German"] = "frs",
["East Midland Middle English"] = "enm-emi",
["Eastern Balochi"] = "bgp",
["Eastern Mansi"] = "mns-eas",
["Eastern Old Japanese"] = "ojp-eas",
["Eastern Tati"] = "xme-ttc-eas",
["Ebrahimabadi"] = "tks-ebr",
["Ecclesiastical Latin"] = "la-ecc",
["Elean Greek"] = "grc-ela",
["Emamzada Esmaili"] = "fay-eze",
["Epic Greek"] = "grc-epc",
["Esfarvarini"] = "tks-esf",
["European Portuguese"] = "pt-PT",
["Fante Akan"] = "fat",
["Farizandi"] = "xme-far",
["Fayyumic Coptic"] = "cop-fay",
["Frankish"] = "frk",
["Fumani"] = "tly-fum",
["Fuyu Kyrgyz"] = "kjh-fyu",
["Gangwon Korean"] = "ko-gan",
["Gascon"] = "oc-gas",
["Gavkoshaki"] = "fay-gav",
["Gazi"] = "gzi",
["Geordie"] = "en-geo",
["Ghat"] = "thv-ght",
["Gheg Albanian"] = "aln",
["Golyad"] = "bat-gol",
["Goral"] = "pl-gor",
["Greater Polish"] = "pl-gre",
["Greenlandic Norse"] = "non-grn",
["Gronings"] = "gos",
["Guangzhou Cantonese"] = "yue-gua",
["Guanzhong Mandarin"] = "cmn-gua",
["Guernsey Norman"] = "nrf-grn",
["Guilin Mandarin"] = "cmn-gui",
["Gurjara Apabhramsa"] = "inc-agu",
["Gyeonggi Korean"] = "ko-gyg",
["Gyeongsang Korean"] = "ko-gys",
["Hailu Hakka"] = "hak-hai",
["Hamadani"] = "xme-ham",
["Hamgyong Korean"] = "ko-ham",
["Hangzhounese"] = "wuu-han",
["Hanjani"] = "xme-han",
["Hanyu Pinyin"] = "cmn-pinyin",
["Harar Oromo"] = "hae",
["Hatran Aramaic"] = "arc-hat",
["Havigannada"] = "kn-hav",
["Hazaragi"] = "haz",
["Helu Prakrit"] = "pra-hel",
["Hengyang Xiang"] = "hsn-hya",
["Hengzhou Xiang"] = "hsn-hzh",
["Hermopolitan Coptic"] = "cop-her",
["High Alemannic German"] = "gsw-hig",
["Highest Alemannic German"] = "gsw-hst",
["Hokkaido Ainu"] = "ain-hok",
["Hong Kong Cantonese"] = "yue-HK",
["Hong Kong English"] = "en-HK",
["Hong Kong Hakka"] = "hak-HK",
["Hormozi"] = "bsg-hor",
["Houlu Min"] = "nan-hou",
["Hui'an Hokkien"] = "nan-hui",
["Huiyang Hakka"] = "hak-hui",
["Huvadhu Dhivehi"] = "dv-huv",
["Hwanghae Korean"] = "ko-hwa",
["Imperial Aramaic"] = "arc-imp",
["Indian English"] = "en-IN",
["Insular Scots"] = "sco-ins",
["Ionic Greek"] = "grc-ion",
["Iranian Persian"] = "fa-ira",
["Irish English"] = "en-IE",
["Iron Ossetian"] = "os-iro",
["Isfahani"] = "xme-isf",
["Israeli Hebrew"] = "he-IL",
["Jadrani"] = "ps-jad",
["Jeolla Korean"] = "ko-jeo",
["Jersey Norman"] = "nrf-jer",
["Jewish Babylonian Aramaic"] = "tmr",
["Jewish Literary Aramaic"] = "arc-jla",
["Jewish Palestinian Aramaic"] = "jpa",
["Jianghuai Mandarin"] = "cmn-jhu",
["Jinjiang Hokkien"] = "nan-jin",
["Jirofti"] = "rdb-jir",
["Jowshaqani"] = "xme-jow",
["Judeo-Arabic"] = "jrb",
["Kafroni"] = "xme-kaf",
["Kahaki"] = "xme-kah",
["Kahnuji"] = "rdb-kah",
["Kajkavian Serbo-Croatian"] = "kjv",
["Kakari"] = "ps-kak",
["Kaliarda"] = "el-kal",
["Kamviri"] = "xvi",
["Kandahari"] = "ps-kan",
["Kaniguram"] = "oru-kan",
["Karganrudi"] = "tly-kar",
["Kashani"] = "xme-kas",
["Kasmiri Apabhramsa"] = "inc-aka",
["Katchal"] = "ncb-kat",
["Katharevousa"] = "el-kth",
["Kathiyawadi"] = "gu-kat",
["Kativiri"] = "bsh-kat",
["Kentish Middle English"] = "enm-ken",
["Kentish Old English"] = "ang-ken",
["Kermani"] = "xme-krm",
["Kesehi"] = "xme-kes",
["Khalkha Mongolian"] = "mn-kha",
["Khamba"] = "kbg",
["Khams Tibetan"] = "khg",
["Khargi"] = "fay-kar",
["Khasa Prakrit"] = "pra-kha",
["Khatak"] = "ps-xat",
["Khiaraji"] = "tks-xia",
["Khollari"] = "fay-kho",
["Khorchin Mongolian"] = "mn-khr",
["Khoznini"] = "tks-xoz",
["Khufi"] = "sgh-xuf",
["Khughni"] = "sgh-xug",
["Khughni-Bajui"] = "sgh-xgb",
["Khunsari"] = "kfm",
["Khuri"] = "xme-xur",
["Kinmenese Hokkien"] = "nan-kin",
["Kinyarwanda"] = "rw-kin",
["Kirundi"] = "rw-run",
["ဂရေတ် ခါဝ်အိန်"] = "grc-koi",
["Komjani"] = "xme-kom",
["Kondazi"] = "fay-kon",
["Korean Classical Chinese"] = "lzh-KO",
["Kromanti"] = "alv-kro",
["Kundagannada"] = "kn-kun",
["Kuril Ainu"] = "ain-kur",
["Kölsch"] = "ksh",
["Languedocien"] = "oc-lan",
["Lanuvian"] = "itc-lan",
["Lanyin Mandarin"] = "cmn-lan",
["Late Babylonian"] = "akk-lbb",
["Late Brythonic"] = "bry-lat",
["Late Egyptian"] = "egy-lat",
["Late Khotanese"] = "kho-lat",
["Late Latin"] = "la-lat",
["Late Middle Chinese"] = "ltc-lat",
["Late Middle Japanese"] = "ja-mid-lat",
["Late Middle Mongol"] = "xng-lat",
["Late Middle Persian"] = "pal-lat",
["Late Old Chinese"] = "och-lat",
["Late Old Korean"] = "oko-lat",
["Late Old Ossetic"] = "oos-lat",
["Late Old Persian"] = "peo-lat",
["Late Old Swedish"] = "gmq-osw-lat",
["Late Sogdian"] = "sog-lat",
["Law French"] = "xno-law",
["Lesser Polish"] = "pl-les",
["Limousin"] = "oc-lim",
["Lisan ud-Dawat Gujarati"] = "gu-lda",
["Literary Cantonese"] = "yue-lit",
["Literary Chinese"] = "lzh-lit",
["Logar"] = "oru-log",
["Logudorese"] = "sc-src",
["Lombardic"] = "lng",
["Loudi Xiang"] = "hsn-lou",
["Louisiana French"] = "fr-lou",
["Low Alemannic German"] = "gsw-low",
["Low Prussian"] = "nds-lpr",
["Lucanian"] = "osc-luc",
["Lunfardo"] = "es-lun",
["Lycopolitan Coptic"] = "cop-lyc",
["Língua Geral Amazônica"] = "tpw-lga",
["Maasina Fulfulde"] = "ffm",
["Magadhi Prakrit"] = "pra-mag",
["Mahallati"] = "xme-mah",
["Maharastri Apabhramsa"] = "inc-ama",
["Maharastri Prakrit"] = "pra-mah",
["Mahsudi"] = "ps-mah",
["Malaysian Huiyang Hakka"] = "hak-hui-MY",
["Malaysian Mandarin"] = "cmn-MY",
["Mamluk-Kipchak"] = "qwm-mam",
["Manichaean Middle Persian"] = "xmn",
["Manx English"] = "en-IM",
["Masali"] = "tly-msa",
["Masarami"] = "fay-mas",
["Masovian Polish"] = "pl-mas",
["Masulei"] = "tly-msu",
["Medan Hokkien"] = "nan-med",
["Medieval Hebrew"] = "he-med",
["Medieval Latin"] = "la-med",
["Medieval Sinhalese"] = "si-med",
["ထေယျုက်"] = "shi-med",
["Meixian Hakka"] = "hak-mei",
["Mercian Old English"] = "ang-mer",
["Mexican Spanish"] = "es-MX",
["Meymehi"] = "xme-mey",
["Middle Assyrian"] = "akk-mas",
["Middle Babylonian"] = "akk-mbb",
["Middle Belarusian"] = "zle-mbe",
["Middle Bulgarian"] = "cu-bgm",
["Middle Chuvash"] = "cv-mid",
["Middle Egyptian"] = "egy-mid",
["Middle Elamite"] = "elx-mid",
["Middle Georgian"] = "ka-mid",
["Middle Hindi"] = "hi-mid",
["Middle Japanese"] = "ja-mid",
["Middle Konkani"] = "kok-mid",
["Middle Polish"] = "zlw-mpl",
["Middle Russian"] = "zle-mru",
["Middle Tamil"] = "ta-mid",
["Middle Ukrainian"] = "zle-muk",
["Minabi"] = "bsg-min",
["Mishnaic Hebrew"] = "he-mis",
["Missouri French"] = "fr-mis",
["Mitanni"] = "inc-mit",
["Moldovan"] = "ro-MD",
["Mulaku Dhivehi"] = "dv-mul",
["Mumviri"] = "bsh-mum",
["Nabataean Aramaic"] = "arc-nab",
["Nalbaria Kamrupi Assamese"] = "as-nkm",
["Nancowry"] = "ncb-nan",
["Nanjing Mandarin"] = "cmn-nan",
["Naraqi"] = "xme-nar",
["Nashalji"] = "xme-nas",
["Natanzi"] = "ntz",
["Nayini"] = "nyq",
["Neo-Assyrian"] = "akk-nas",
["Neo-Babylonian"] = "akk-nbb",
["Neo-Elamite"] = "elx-neo",
["Neo-Middle Egyptian"] = "egy-nmi",
["New Latin"] = "la-new",
["New Sanskrit"] = "sa-neo",
["New Xiang"] = "hsn-new",
["New Zealand English"] = "en-NZ",
["Nigerian Fulfulde"] = "fuv",
["Ningbonese"] = "wuu-nin",
["Noakhailla Vaṅga Bengali"] = "bn-nvn",
["North Alaskan Inupiatun"] = "esi",
["North American English"] = "en-NNN",
["North Karelian"] = "krl-nor",
["Northeastern Mandarin"] = "cmn-noe",
["Northeastern Pashto"] = "ps-nea",
["Northern Irish English"] = "en-GB-NIR",
["Northern Middle English"] = "enm-nor",
["Northern Scots"] = "sco-nor",
["Northern Talysh"] = "tly-nor",
["Northern Tati"] = "xme-ttc-nor",
["Northern Wu"] = "wuu-nor",
["Northumbrian Old English"] = "ang-nor",
["Northwest Alaskan Inupiatun"] = "esk",
["Northwestern Pashto"] = "ps-nwe",
["Nuorese"] = "sc-nuo",
["Nushabadi"] = "xme-nus",
["Odri"] = "pra-odr",
["Old Akkadian"] = "akk-old",
["Old Aramaic"] = "arc-old",
["Old Assyrian"] = "akk-oas",
["Old Avestan"] = "ae-old",
["Old Azari"] = "xme-azr",
["Old Babylonian"] = "akk-obb",
["Old Braj"] = "bra-old",
["Old Chuvash"] = "cv-old",
["Old Coptic"] = "cop-old",
["Old East Norse"] = "non-oen",
["Old Egyptian"] = "egy-old",
["Old Elamite"] = "elx-old",
["Old Italian"] = "roa-oit",
["Old Kazeruni"] = "fay-kzo",
["Old Khotanese"] = "kho-old",
["Old Kirghiz"] = "otk-kir",
["Old Konkani"] = "kok-old",
["Old Latin"] = "itc-ola",
["Old Malay"] = "ms-old",
["Old Mohawk"] = "iro-omo",
["Old Northern French"] = "fro-nor",
["Old Onondaga"] = "iro-oon",
["Old Ossetic"] = "oos",
["Old Provençal"] = "oc-pro-old",
["Old Pskovian"] = "zle-ops",
["Old Shirazi"] = "fay-sho",
["Old Tagalog"] = "tl-old",
["Old Thai"] = "th-old",
["Old Wendat"] = "iro-ohu",
["Old West Norse"] = "non-own",
["Old Xiang"] = "hsn-old",
["Opuntian Locrian"] = "grc-opl",
["Ordos Mongolian"] = "mn-ord",
["Orkhon Turkic"] = "otk-ork",
["Orma"] = "orc",
["Oroshori"] = "sgh-oro",
["Oxyrhynchite Coptic"] = "cop-oxy",
["Ozolian Locrian"] = "grc-ozl",
["Paisaci Prakrit"] = "pra-pai",
["Palasbaria Kamrupi Assamese"] = "as-pkm",
["Palatine German"] = "pfl",
["Paleo-Balkan"] = "qsb-bal",
["Paleo-Hispanic"] = "qsb-ibe",
["Palladius"] = "cmn-palladius",
["Palmyrene Aramaic"] = "arc-pal",
["Pamphylian Greek"] = "grc-pam",
["Paphian Greek"] = "el-pap",
["Papuni"] = "fay-pap",
["Penang Hokkien"] = "nan-pen",
["Peruvian Spanish"] = "es-PE",
["Peshawari"] = "ps-pes",
["Philippine Hokkien"] = "nan-hbl-PH",
["Philippine Mandarin"] = "cmn-PH",
["Philippine Spanish"] = "es-PH",
["Picard Old French"] = "fro-pic",
["Polari"] = "pld",
["Postal Romanization"] = "zh-postal",
["Pracya"] = "pra-pra",
["Praenestine"] = "itc-pra",
["Pre-Angkorian Old Khmer"] = "okz-pre",
["Pre-Classical Chinese"] = "lzh-pre",
["Pre-Greek"] = "qsb-grc",
["Proto-Anglo-Frisian"] = "gmw-afr-pro",
["Proto-Arinic"] = "qfa-yrn-pro",
["Proto-Baltic"] = "bat-pro",
["Proto-Bulgar"] = "trk-bul-pro",
["Proto-Common Turkic"] = "trk-cmn-pro",
["Proto-Finno-Permic"] = "urj-fpr-pro",
["Proto-Finno-Ugric"] = "fiu-pro",
["Proto-Ketic"] = "qfa-yke-pro",
["Proto-Kottic"] = "qfa-yko-pro",
["Proto-Lycopolitan Coptic"] = "cop-ply",
["Proto-North Sea Germanic"] = "gmw-nsg-pro",
["Proto-Oghur"] = "trk-ogr-pro",
["Proto-Oghuz"] = "trk-ogz-pro",
["Proto-Pumpokolic"] = "qfa-ypm-pro",
["Proto-Romance"] = "roa-pro",
["Proto-Tibeto-Burman"] = "tbq-pro",
["Provençal"] = "oc-pro",
["Puerto Rican Spanish"] = "es-PR",
["Pulaar"] = "fuc",
["Pular"] = "fuf",
["Pyongan Korean"] = "ko-pyo",
["Qalhari"] = "xme-qal",
["Qashqai"] = "qxq",
["Qianlu Min"] = "nan-qia",
["Qohrudi"] = "xme-qoh",
["Quanzhou Hokkien"] = "nan-qua",
["Renaissance Latin"] = "la-ren",
["Rioplatense Spanish"] = "es-AR",
["Roshani"] = "sgh-ros",
["Roshani-Khufi"] = "sgh-rsx",
["Russian Church Slavonic"] = "zls-chs-ru",
["Sabari"] = "pra-sab",
["Sagzabadi"] = "tks-sag",
["Sahidic Coptic"] = "cop-sah",
["Saint Dominican Creole French"] = "ht-sdm",
["Sakari"] = "pra-sak",
["Sakhalin Ainu"] = "ain-sak",
["Sallands"] = "sdz",
["Samghani"] = "fay-sam",
["Samnite"] = "osc-sam",
["Sauraseni Apabhramsa"] = "inc-asa",
["Sauraseni Prakrit"] = "pra-sau",
["Scottish English"] = "en-GB-SCT",
["Sedehi"] = "xme-sed",
["Shadi Wu"] = "wuu-chm",
["Shandarmani"] = "tly-san",
["Shanghainese"] = "wuu-sha",
["Shangsi Zhuang"] = "tai-shz",
["Sher"] = "ps-ser",
["Shirazi"] = "fay-shr",
["Shuadit"] = "oc-jud",
["Silesian East Central German"] = "sli",
["Singapore Hokkien"] = "nan-hbl-SG",
["Singapore Mandarin"] = "cmn-SG",
["Sixian Hakka"] = "hak-six",
["Soi"] = "soj",
["Sorkhi"] = "fay-sor",
["South African English"] = "en-ZA",
["South Karelian"] = "krl-sou",
["Southeastern Pashto"] = "ps-sea",
["Southern Balochi"] = "bcc",
["Southern Malaysian Hokkien"] = "nan-spm",
["Southern Middle English"] = "enm-sou",
["Southern Scots"] = "sco-sou",
["Southern Talysh"] = "tly-sou",
["Southern Tati"] = "xme-ttc-sou",
["Southwestern Mandarin"] = "cmn-sow",
["Southwestern Pashto"] = "ps-swe",
["Standard Babylonian"] = "akk-stb",
["Stellingwerfs"] = "stl",
["Suevic"] = "gem-sue",
["Sukhothai Old Thai"] = "th-suk",
["Suzhounese"] = "wuu-suz",
["Swiss French"] = "fr-CH",
["Switzerland German"] = "de-CH",
["Switzerland Italian"] = "it-CH",
["Taiwanese Hakka"] = "hak-TW",
["Taiwanese Hokkien"] = "nan-hbl-TW",
["Taiwanese Mandarin"] = "cmn-TW",
["Takestani"] = "tks-tak",
["Takka Apabhramsa"] = "inc-ata",
["Taleshdulabi"] = "tly-tal",
["Tamahaq"] = "thv",
["Tamasheq"] = "taq",
["Tarehi"] = "xme-trh",
["Tari"] = "xme-tar",
["ထာဝါလပ်မေတ်"] = "ttq",
["ထေယျုက်"] = "thz",
["Thessalian Greek"] = "grc-ths",
["Tianjin Mandarin"] = "cmn-tia",
["Tong'an Hokkien"] = "nan-ton",
["Tongyong Pinyin"] = "cmn-tongyong",
["Torlakian Serbo-Croatian"] = "sh-tor",
["Tosk Albanian"] = "als",
["Traditional Chinese poetry"] = "lzh-shi",
["Transalpine Gaulish"] = "xtg",
["Tseku"] = "tsk",
["Tularudi"] = "tly-tul",
["Twents"] = "twd",
["Twi Akan"] = "tw",
["Ukrainian Church Slavonic"] = "zls-chs-uk",
["Ulster English"] = "en-uls",
["Ulster Scots"] = "sco-uls",
["United States Spanish"] = "es-US",
["Upper Saxon German"] = "sxu",
["Vafsi"] = "vaf",
["Valencian"] = "ca-val",
["Valujerdi"] = "xme-val",
["Varani"] = "xme-var",
["Varzenehi"] = "xme-vrz",
["Vedic Sanskrit"] = "vsn",
["Veluws"] = "vel",
["Venezuelan Spanish"] = "es-VE",
["Viennese German"] = "de-AT-vie",
["Vietnamese Classical Chinese"] = "lzh-VI",
["Viryal Chuvash"] = "cv-vir",
["Vivaro-Alpine"] = "oc-viv",
["Volga Bulgar"] = "xbo-vol",
["Vonishuni"] = "xme-von",
["Vracada Apabhramsa"] = "inc-avr",
["Vulgar Latin"] = "la-vul",
["Waata"] = "ssn",
["Wade–Giles"] = "cmn-wadegiles",
["Walser German"] = "wae",
["Waziri"] = "ps-waz",
["Welsh English"] = "en-GB-WLS",
["Wenzhounese"] = "wuu-wen",
["West Midland Middle English"] = "enm-wmi",
["West Saxon Old English"] = "ang-wsx",
["Western Balochi"] = "bgn",
["Western Mansi"] = "mns-wes",
["Western Niger Fulfulde"] = "fuh",
["Western Panjabi"] = "pnb",
["Western Tati"] = "xme-ttc-wes",
["Westphalian"] = "wep",
["Written vernacular Cantonese"] = "yue-wvc",
["Written vernacular Mandarin"] = "cmn-wvc",
["Written vernacular Taishanese"] = "zhx-tai-wvc",
["Wuhan Mandarin"] = "cmn-wuh",
["Xiamen Hokkien"] = "nan-xia",
["Xining Mandarin"] = "cmn-xin",
["Yangzhou Mandarin"] = "cmn-yan",
["Yarandi"] = "xme-yar",
["Yazdi"] = "xme-yaz",
["Yongchun Hokkien"] = "nan-yon",
["Younger Avestan"] = "ae-yng",
["Yukjin Korean"] = "ko-yuk",
["Zarphatic"] = "zrp",
["Zefrehi"] = "xme-zef",
["Zhangping Hokkien"] = "nan-zhp",
["Zhangzhou Hokkien"] = "nan-zha",
["Zhao'an Hakka"] = "hak-zha",
["Zhao'an Hokkien"] = "nan-zho",
["Zhongshan Min"] = "zhx-zho",
["Zori"] = "xme-zor",
["Zoroastrian Dari"] = "gbz",
["taxonomic name"] = "mul-tax",
["the BMAC substrate"] = "qsb-bma",
}
a8ciyu7mjdjfkfr2h6q2b88zs4sq5ae
မဝ်ဂျူ:Latn-Tfng-translit
828
66484
402268
86858
2026-10-01T05:58:11Z
咽頭べさ
33
402268
Scribunto
text/plain
local export = {}
local tt = {}
tt["Latn"] = {
["common"] = {
["'"] = "",
["a"] = "ⴰ",
["ā"] = "ⴰⴰ",
["b"] = "ⴱ",
["ḇ"] = "ⴲ",
["ǧ"] = "ⴵ",
["g"] = "ⴳ",
["d"] = "ⴷ",
["ḏ"] = "ⴸ",
["ḍ"] = "ⴹ",
["ḏ̣"] = "ⴺ",
["e"] = "ⴻ",
["f"] = "ⴼ",
["k"] = "ⴽ",
["h"] = "ⵀ",
["ḥ"] = "ⵃ",
["ɛ"] = "ⵄ",
["x"] = "ⵅ",
["q"] = "ⵇ",
["i"] = "ⵉ",
["j"] = "ⵊ",
["l"] = "ⵍ",
["m"] = "ⵎ",
["n"] = "ⵏ",
["p"] = "ⵒ",
["u"] = "ⵓ",
["r"] = "ⵔ",
["ř"] = "ⵔ",
["ṛ"] = "ⵕ",
["ɣ"] = "ⵖ",
["s"] = "ⵙ",
["ṣ"] = "ⵚ",
["t"] = "ⵜ",
["ṯ"] = "ⵝ",
["š"] = "ⵛ",
["c"] = "ⵛ",
["č"] = "ⵞ",
["ṭ"] = "ⵟ",
["v"] = "ⵠ",
["w"] = "ⵡ",
["y"] = "ⵢ",
["z"] = "ⵣ",
["ẓ"] = "ⵥ",
["o"] = "ⵧ",
["ʷ"] = "ⵯ",
["."] = "⵰",
},
["tmh"] = {["b"] = "ⵀ", ["w"] = "ⵓ"},
["thv"] = {["b"] = "ⵀ", ["w"] = "ⵓ"},
["taq"] = {["b"] = "ⵀ", ["w"] = "ⵓ"},
["ttq"] = {["b"] = "ⵀ", ["w"] = "ⵓ"},
["thz"] = {["b"] = "ⵀ", ["w"] = "wⵓ", ["ɣ"] = "ⵘ"}
}
function export.tr(text, lang, sc)
if not sc then
sc = require("Module:languages").getByCode(lang or "ber"):findBestScript(text):getCode()
end
if sc == "Latn" then
text = mw.ustring.lower(text)
if tt[sc][lang] then
text = mw.ustring.gsub(text, '.', tt[sc][lang])
end
text = mw.ustring.gsub(text, '.', tt[sc]["common"])
else
text = nil
end
return text
end
return export
o68f0gazfgid00ckdtxh94tlmrcsupv
မဝ်ဂျူ:en-utilities
828
79704
402277
381149
2026-10-01T06:44:35Z
咽頭べさ
33
402277
Scribunto
text/plain
local export = {}
local add_suffix -- Defined below.
local find = string.find
local is_regular_plural -- Defined below.
local match = string.match
local remove_possessive -- Defined below.
local reverse = string.reverse
local sub = string.sub
local toNFD = mw.ustring.toNFD
local ugsub = mw.ustring.gsub
local ulower = mw.ustring.lower
local umatch = mw.ustring.match
local usub = mw.ustring.sub
local uupper = mw.ustring.upper
local vowels = "aæᴀᴁɐɑɒ@eᴇǝⱻəɛɘɜɞɤiıɪɨᵻoøœᴏɶɔᴐɵuᴜʉᵾɯꟺʊʋʌyʏ"
local hyphens = "%-‐‑‒–—"
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local diacritics
local function get_diacritics()
diacritics, get_diacritics = mw.loadData("Module:headword/data").page.comb_chars.diacritics_all .. "+", nil
return diacritics
end
-- Normalize a string, so that case and diacritics are ignored. By default, "gu"
-- and "qu" are normalized to "g" and "q", because they behave like consonants
-- under certain conditions (e.g. final "y" does not usually have the plural
-- "ies" after a vowel, but it's regular for "quy" to become "quies". The flag
-- `not_gu` prevents this happening to "gu", and is needed because terms ending
-- "-guy" are almost always compounds of "guy" (→ "guys").
local function normalize(str, followed_by, not_gu)
if not followed_by then
followed_by = ""
end
str = ugsub(toNFD(str) .. followed_by, "([" .. (not_gu and "" or "Gg") .. "Qq])u([".. vowels .. "])", "%1%2")
return ulower(ugsub(sub(str, 1, #str - #followed_by), diacritics or get_diacritics(), ""))
end
local function epenthetic_e_default(stem)
return sub(stem, -1) ~= "e"
end
local function epenthetic_e_for_s(stem, term)
-- If the stem is different, it must be from "y" → "i".
if stem ~= term then
return true
end
local final
if match(stem, "^[^\128-\255]*$") then
final = sub(stem, -1)
else
stem = ugsub(toNFD(stem), diacritics or get_diacritics(), "")
final = usub(stem, -1)
end
-- Epenthetic "e" is added after a sibilant or sibilant-affricate. The vast
-- majority of these are spelled "s", "x", "z", "ch" and "sh", but "dg"
-- (→ "dge") and "ß" (→ "ss") can be found in obsolete spellings, "shh" in
-- onomatopoeia, and "zh", "dj", "jj" (and more) in loanwords.
return (
final == "g" and sub(stem, -2, -2) == "d" or
final == "h" and match(stem, "[csz]h+$") or
final == "j" and umatch(stem, "[^" .. vowels .. "]j$") or
final == "s" or
final == "u" and umatch(stem, "%f[%w']u$") or
final == "x" or
final == "z" or
final == "ß"
)
end
function export.remove_possessive(stem)
return match(stem, "^(.*)'s$") or match(stem, "^(.*s)'$") or stem
end
remove_possessive = export.remove_possessive
local suffixes = {}
suffixes["'s"] = {
truncated = function(stem)
return sub(stem, -1) == "s" and "'" or "'s"
end,
}
suffixes["s.plural"] = {
final_y_is_i = true,
epenthetic_e = epenthetic_e_for_s,
modifies_possessive = true,
}
suffixes["s.verb"] = {
final_y_is_i = true,
final_consonant_is_doubled = true,
epenthetic_e = epenthetic_e_for_s
}
suffixes["ing"] = {
final_consonant_is_doubled = true,
remove_silent_e = true,
}
suffixes["d"] = {
final_y_is_i = true,
final_consonant_is_doubled = true,
epenthetic_e = epenthetic_e_default,
}
suffixes["dst"] = suffixes["d"]
suffixes["st.verb"] = suffixes["d"]
suffixes["th"] = suffixes["d"]
suffixes["n"] = {
final_y_is_i = true,
final_y_is_i_after_vowel = true,
final_guy_is_gui = true,
final_consonant_is_doubled = true,
-- No epenthetic "e" after an "e", or an "i", "r" or "w" preceded by a vowel.
epenthetic_e = function(stem)
return not (
sub(stem, -1) == "e" or
umatch(normalize(stem), "[" .. vowels .. "][irw]$")
)
end,
}
suffixes["r"] = {
final_y_is_i = true,
final_ey_is_i = true,
final_guy_is_gui = true,
final_consonant_is_doubled = true,
epenthetic_e = epenthetic_e_default
}
suffixes["st.superlative"] = suffixes["r"]
-- Returns the stem used for suffixes that sometimes convert final "y" into "i",
-- such as "-es" ("-ies"), e.g. "penny" → "penni" ("pennies"). If
-- `final_ey_is_i` is true, final "ey" may also be converted, e.g. "plaguey" →
-- "plagui"; this is needed for "-er" ("-ier") and "-est" ("-iest"). If `not_gu`
-- is true, then normalize() will be called with the `not_gu` flag (see there
-- for more info); this is true in most cases.
local function convert_final_y_to_i(str, not_gu, final_ey_is_i, final_y_is_i_after_vowel)
local final3 = usub(str, -3)
-- Special case: treat "eey" as "ee" + "y" (e.g. "treey" → "treeiest").
-- "oey" and "uey" are usually vowel + "ey", but examples of "oe" + "y" and
-- "ue" = "y" do also exist: compare "go" → "goey" → "goier" with "doe" →
-- "doey" → "doeier"; "flu" → "fluey" → "fluiest" and "flue" → "fluey" →
-- "flueiest" form a theoretically possible minimal pair.
if final3 == "eey" then
return sub(str, 1, -2) .. "i"
end
local final2 = usub(str, -2)
-- If `final_ey_is_i` is true, treat final "-ey" can also be reduced.
if final_ey_is_i and final2 == "ey" then
-- Remove "ey" to get the base stem.
local base_stem = sub(str, 1, -3)
-- Special case: allow final "-ey" ("potato-ey" → "potato-iest").
if umatch(final3, "[" .. hyphens .. "]ey") then
return base_stem .. "i"
end
-- Final "ey" becomes "i" iff the term is polysyllabic (e.g. not
-- "grey"). "ey" is common if the base stem ends in a vowel ("echo →
-- "echoey"), so the presence of a vowel anywhere in the base stem is
-- sufficient to deem it polysyllabic. ("echoey" → "echo" → "echoiest",
-- "beigey" → "beig" → "beigiest", but "grey" → "gr" → "greyest"). The
-- first "y" in "-yey" can be treated as a vowel as long as it's
-- preceded by something ("clayey" → "clay" → "clayiest", "cryey" →
-- "cry" → "cryiest", but "*yey" → "*y" → "*yeyest"), so it needs to be
-- treated as a special case.
local normalized = normalize(base_stem, "ey")
if sub(normalized, -1) == "y" then
if umatch(normalized, "[%w@][yY]$") then
return base_stem .. "i"
end
elseif umatch(normalized, "[" .. vowels .. "%d]%w*$") then
return base_stem .. "i"
end
-- Special cases:
-- Final "quy" ("soliloquy" → "soliloquies").
-- Final "guy" iff `not_gu` is false ("roguy" → "roguiest").
-- Final "y" after a vowel iff `final_y_is_i_after_vowel` is true ("slay" →
-- "slain").
-- Final "-y" ("bro-y" → "bro-iest"), accounting for hyphen variation.
elseif umatch(final2, "[" .. hyphens .. "]y") then
-- Replace final "y" with "i".
return sub(str, 1, -2) .. "i"
-- Otherwise, final "y" becomes "i" iff it's not preceded by a vowel
-- ("shy" → "shiest", "horsy" → "horsies", but "day" → "days", "coy" →
-- "coyest").
else
-- Remove "y" to get the base stem.
local base_stem = sub(str, 1, -2)
if umatch(normalize(base_stem, "y", not_gu), "[^%s%p" .. (final_y_is_i_after_vowel and "" or vowels) .. "]$") then
return base_stem .. "i"
end
end
return str
end
local function double_final_consonant(str, final)
local initial = umatch(normalize(sub(str, 1, -2), final), "^.*%f[^%z%s" .. hyphens .. "…]([%l%p]*)[" .. vowels .. "]$")
return initial and (
initial == "" or
initial == "y" or
match(initial, "^.[\128-\191]*$") and umatch(initial, "[^" .. vowels .. "]") or
umatch(initial, "^[^" .. vowels .. "]*%f[^%l]$")
) and (str .. final) or str
end
local function remove_silent_e(str)
local final2 = sub(str, -2)
if final2 == "ie" then
-- Replace "ie" with "y", unless it follows another "y" (e.g.
-- "spulyie" → "spulyieing").
return ugsub(str, "([^yY%s%p])ie$", "%1y")
end
local base_stem = sub(str, 1, -2)
-- Silent "e" occurs after "u" or a consonant (cluster) preceded by a vowel.
return (
final2 == "ue" or
umatch(normalize(base_stem, "e"), "[" .. vowels .. "][^" .. vowels .. "]+$")
) and base_stem or str
end
function export.add_suffix(term, suffix, pos)
local data, possessive = suffixes[suffix]
-- If modifies_possessive is set, check for and remove any possessive
-- suffix, which will be re-added again at the end.
if data.modifies_possessive then
local new = remove_possessive(term)
if new ~= term then
term, possessive = new, true
end
end
suffix = match(suffix, "^([^.]*)")
local final, stem = sub(term, -1)
-- Proper nouns don't have a final "y" changed to "i" (e.g. "the Gettys",
-- "the public Ivys").
if data.final_y_is_i and final == "y" and pos ~= "proper noun" then
stem = convert_final_y_to_i(term, not data.final_guy_is_gui, data.final_ey_is_i, data.final_y_is_i_after_vowel)
elseif data.remove_silent_e and final == "e" then
stem = remove_silent_e(term)
else
stem = term
end
local epenthetic_e = data.epenthetic_e
if epenthetic_e and epenthetic_e(stem, term) then
suffix = "e" .. suffix
end
if (
data.final_consonant_is_doubled and
match(final, "^[bcdfgjklmnpqrstvz]$") and -- Only double regular consonants.
umatch(suffix, "^[" .. vowels .. "]")
) then
stem = double_final_consonant(term, final)
end
local truncated = data.truncated
if truncated then
suffix = truncated(stem)
end
local output = stem .. suffix
-- Re-add the possessive suffix, if applicable.
if possessive then
output = add_suffix(output, "'s", pos)
end
return output
end
add_suffix = export.add_suffix
--[==[
Pluralize a word in a smart fashion, according to normal English rules.
# If the word ends in a consonant or "qu" + "-y", replace "-y" with "-ies".
# If the word ends in "s", "x", "z", "ch", "sh" or "zh", add "-es".
# Otherwise, add "-s".
This handles links correctly:
# If a piped link, change the second part appropriately.
# If a non-piped link and rule #1 above applies, convert to a piped link with the second part containing the plural.
# If a non-piped link and rules #2 or #3 above apply, add the plural outside the link.
]==]
function export.pluralize(str)
-- Treat as a link if a "[[" is present and the string ends with "]]".
if not (find(str, "[[", 1, true) and sub(str, -2) == "]]") then
return add_suffix(str, "s.plural")
end
-- Find the last "[[" (in case there is more than one) by reversing
-- the string.
local str_rev = reverse(str)
local open = find(str_rev, "[[", 3, true)
-- If the last "[[" is followed by a "]]" which isn't at the end,
-- then the final "]]" is just plaintext (e.g. "[[foo]]bar]]").
local bad_close = find(str_rev, "]]", 3, true)
-- Note: the bad "]]" will have a lower index than the last "[[" in
-- the reversed string.
if bad_close and bad_close < open then
return add_suffix(str, "s.plural")
end
open = #str - open + 2
-- Get the target and display text by searching from just after "[[".
local target, display = match(str, "([^|]*)|?(.*)%]%]$", open)
display = add_suffix(display ~= "" and display or target, "s.plural")
-- If the link target is a substring of the display text, then
-- use a trail (e.g. "[[foo]]" → "[[foo]]s", since "foo" is a substring
-- of "foos").
local index, trail = find(display, target, 1, true)
if index == 1 then
return sub(str, 1, open - 1) .. target .. "]]" .. sub(display, trail + 1)
end
-- Otherwise, return a piped link.
return sub(str, 1, open - 1) .. target .. "|" .. display .. "]]"
end
--[==[
Returns true if `plural` is an expected, regular plural of `term`.
The optional parameter `pos` can be used to specify the part of speech,
which is necessary because proper nouns do not change a {"-y"} suffix to {"-ies"}
(e.g. {"Abby"} → {"Abbys"}). By default, `pos` is set to {"noun"}. In addition to
{"proper noun"}, it can also take the special value {"noun+"}, which means that
the function will first attempt the check with the {"noun"} setting, and will
then attempt it with the {"proper noun"} setting iff the term begins with a
capital letter.
]==]
function export.is_regular_plural(plural, term, pos)
local init_plural, init_term, try_as_proper_noun = plural, term
if pos == "noun+" then
pos, try_as_proper_noun = "နာမ်", true
end
-- Ignore any final punctuation that occurs in both forms, which is common
-- in abbreviations (e.g. "abbr." → "abbrs.").
local final_punc = umatch(term, "%p*$")
local final_punc_len = #final_punc
if sub(plural, -final_punc_len) == final_punc then
term = sub(term, 1, -final_punc_len - 1)
plural = sub(plural, 1, -final_punc_len - 1)
end
if plural == add_suffix(term, "s.plural", pos) then
return true
end
local final = sub(term, -1)
if (
-- Doubled final consonants in "s" and "z".
final == "s" and plural == term .. "ses" or -- e.g. "busses"
final == "z" and plural == term .. "zes" or -- e.g. "quizzes"
-- convert_final_y_to_i() without the `not_gu` flag set, to catch
-- "-guy" → "-guies", but not "day" → "daies".
final == "y" and plural == convert_final_y_to_i(term) .. "es" or
-- Capitalized terms like "$DEITY" → "$DEITIES (should we treat this as regular?)
final == "Y" and ulower(plural) == convert_final_y_to_i(ulower(term)) .. "es"
) then
return true
elseif try_as_proper_noun then
local init = umatch(init_term, "^[^%w%s]*(%w)")
return init and uupper(init) == init and ulower(init) ~= init and
is_regular_plural(init_plural, init_term, "proper noun") or
false
end
return false
end
is_regular_plural = export.is_regular_plural
do
local function do_singularize(str)
local sing = match(str, "^(.-)ies$")
if sing then
return sing .. "y"
end
-- Handle cases like "[[parish]]es"
return match(str, "^(.-[cs]h%]*)es$") or -- not -zhes
-- Handle cases like "[[box]]es"
match(str, "^(.-x%]*)es$") or -- not -ses or -zes
-- Handle regular plurals
match(str, "^(.-)s$") or
-- Otherwise, return input
str
end
local function collapse_link(link, linktext)
if link == linktext then
return "[[" .. link .. "]]"
end
return "[[" .. link .. "|" .. linktext .. "]]"
end
--[==[
Singularize a word in a smart fashion, according to normal English rules. Works analogously to {pluralize()}.
'''NOTE''': This doesn't always work as well as {pluralize()}. Beware. It will mishandle cases like "passes" -> "passe", "eyries" -> "eyry".
# If word ends in -ies, replace -ies with -y.
# If the word ends in -xes, -shes, -ches, remove -es. [Does not affect -ses, cf. "houses", "impasses".]
# Otherwise, remove -s.
This handles links correctly:
# If a piped link, change the second part appropriately. Collapse the link to a simple link if both parts end up the same.
# If a non-piped link, singularize the link.
# A link like "[[parish]]es" will be handled correctly because the code that checks for -shes etc. allows ] characters between the
'sh' etc. and final -es.
]==]
function export.singularize(str)
if type(str) == "table" then
-- allow calling from a template
str = str.args[1]
end
-- Check for a link. This pattern matches both piped and unpiped links.
-- If the link is not piped, the second capture (linktext) will be empty.
local beginning, link, linktext = match(str, "^(.*)%[%[([^|%]]+)%|?(.-)%]%]$")
if not link then
return do_singularize(str)
elseif linktext ~= "" then
return beginning .. collapse_link(link, do_singularize(linktext))
end
return beginning .. "[[" .. do_singularize(link) .. "]]"
end
end
--[==[
Return the appropriate indefinite article to prefix to `str`. Correctly handles links and capitalized text.
Does not correctly handle words like [[union]], [[uniform]] and [[university]] that take "a" despite beginning with
a 'u'. The returned article will have its first letter capitalized if `ucfirst` is specified, otherwise lowercase.
]==]
function export.get_indefinite_article(str, ucfirst)
str = str or ""
-- If there's a link at the beginning, examine the first letter of the
-- link text. This pattern matches both piped and unpiped links.
-- If the link is not piped, the second capture (linktext) will be empty.
local link, linktext = match(str, "^%[%[([^|%]]+)%|?(.-)%]%]")
if match(link and (linktext ~= "" and linktext or link) or str, "^()[AEIOUaeiou]") then
return ucfirst and "An" or "an"
end
return ucfirst and "A" or "a"
end
get_indefinite_article = export.get_indefinite_article
--[==[
Prefix `text` with the appropriate indefinite article to prefix to `text`. Correctly handles links and capitalized
text. Does not correctly handle words like [[union]], [[uniform]] and [[university]] that take "a" despite beginning
with a 'u'. The returned article will have its first letter capitalized if `ucfirst` is specified, otherwise lowercase.
]==]
function export.add_indefinite_article(text, ucfirst)
return get_indefinite_article(text, ucfirst) .. " " .. text
end
export.vowels = vowels
export.vowel = "[" .. vowels .. "]"
return export
ng10j0jex61jkqxjx29lqls371m39e4
မဝ်ဂျူ:ber-headword
828
117729
402252
381428
2026-10-01T05:26:35Z
咽頭べさ
33
402252
Scribunto
text/plain
local export = {}
local pos_functions = {}
local M = require("Module:module loader").init {
require = {
headword_utilities = "Module:headword utilities",
languages = "Module:languages",
scripts = "Module:scripts",
links = "Module:links",
en_utilities = "Module:en-utilities",
latn_tfng_translit = "Module:Latn-Tfng-translit",
shi_latn_arab_translit = "Module:shi-Latn-Arab-translit",
rif_verb_form = "Module:rif-verb form",
gho_verb_form = "Module:gho-verb form",
},
}
local force_cat = false
local main_script = {tzm = "Tfng", zgh = "Tfng"}
local auto_tifinagh = {rif = true, shi = true, sjs = true}
local auto_arabic = {shi = true}
local verb_form_modules = {rif = "rif_verb_form", gho = "gho_verb_form"}
local valid_genders = {"m", "f", "mf", "mfbysense", "p", "?"}
local gender_default = {
nouns = "?",
["နာမ်မကိတ်ညဳ"] = "?",
numerals = "?",
pronouns = "?",
["နာမ်ထၜိုန်ပကောံ"] = "m",
["နာမ်ကိုန်ဨကဝုစ်"] = "f",
}
local pos_category_for = {
["နာမ်ထၜိုန်ပကောံ"] = "နာမ်",
["နာမ်ကိုန်ဨကဝုစ်"] = "နာမ်",
}
local function main_script_code(lang)
local code = main_script[lang:getCode()]
if code then
return code
end
local script_codes = lang:getScriptCodes()
for _, script_code in ipairs(script_codes) do
if script_code == "Latn" then
return script_code
end
end
return script_codes[1]
end
local function validate_genders(data, genders, gender_type)
data:validate_genders(genders, valid_genders, {gender_type = gender_type, no_augment = true})
end
local function without_lang(frame)
local args = {}
for key, value in pairs(frame.args) do
if key ~= "lang" then
args[key] = value
end
end
return {
args = args,
getParent = function()
return frame:getParent()
end,
}
end
local function insert_spelling(data, terms, script_code, form)
local sc = M.scripts.getByCode(script_code)
local genders = {}
for _, gender in ipairs(data.genders or {}) do
table.insert(genders, gender.spec)
end
for _, termobj in ipairs(terms) do
termobj.sc = sc
termobj.accel = {
form = form,
lemma = data.pagename,
pos = M.en_utilities.singularize(data.orig_poscat),
target = termobj.term,
gender = genders[1] and table.concat(genders, ",") or nil,
}
end
data:insert_inflection(terms,"ခ္ဍံက်လိက်" .. sc:getCanonicalName())
end
local function add_other_script_spellings(data, args)
if data.sc:getCode() ~= "Latn" then
return
end
local pagename = M.links.remove_links(data.pagename)
if auto_tifinagh[data.langcode] and not args.notfng then
insert_spelling(data, {{term = M.latn_tfng_translit.tr(pagename, data.langcode, "Latn")}}, "Tfng", "တဳဖှဳနာတ်ဂ်")
end
if auto_arabic[data.langcode] and not args.noarab then
local terms = data:parse_inflection("ar")
if not terms[1] then
terms = {{term = M.shi_latn_arab_translit.tr(pagename, data.langcode, "Latn")}}
end
insert_spelling(data, terms, "Arab", "အာရဗဳ")
end
end
function export.show(frame)
local code = frame.args.lang or error("Specify the language code in lang=, e.g. {{#invoke:ber-headword|show|lang=rif}}")
local props = {
lang = M.languages.getByCode(code, "lang"),
frame = without_lang(frame),
pos_functions = pos_functions,
include_tr = true,
force_cat = force_cat,
infls = {
{"g", type = "လိၚ်ဂမၠိုၚ်",
default = function(data)
return gender_default[data.orig_poscat]
end,
validate = function(data, genders)
validate_genders(data, genders)
end,
},
},
augment_params = function(data, params)
if auto_tifinagh[code] then
params.notfng = {type = "boolean"}
end
if auto_arabic[code] then
params.noarab = {type = "boolean"}
params.ar = true
end
local pos = pos_functions[data.orig_poscat]
if pos and pos.augment_params then
pos.augment_params(data, params)
end
end,
augment_headdata = function(data)
data.pos_category = pos_category_for[data.pos_category] or data.pos_category
if data.var == nil and data.orig_poscat ~= "အက္ခရ်" then
data.var = data.sc:getCode() ~= main_script_code(data.lang)
end
data.inflections.enable_auto_translit = data.sc:getCode() == "Tfng"
end,
}
local headword = M.headword_utilities.process_headword(props)
if props.definition then
return headword .. "\n# " .. props.definition
end
return headword
end
pos_functions["head"] = {
infls = function(data)
local pos = pos_functions[data.orig_poscat]
return pos and pos.infls or {}
end,
func = function(data, args)
local pos = pos_functions[data.orig_poscat]
if pos and pos.func then
pos.func(data, args)
end
add_other_script_spellings(data, args)
end,
}
local function form(param, label, default_gender)
return {param, label = label, include_mods = {"g"},
process_after_parse = function(data, terms)
for _, termobj in ipairs(terms) do
if default_gender and not termobj.genders and termobj.term ~= "-" then
termobj.genders = {{spec = default_gender}}
end
validate_genders(data, termobj.genders, param)
end
return terms
end,
}
end
local function annex_label(label)
if type(label) == "function" then
return function(data, terms)
return label(data, terms) .. " ကဆံၚ်အလံၚ်ပရေၚ်မပံၚ်ကောံ"
end
end
return label .. " ကဆံၚ်အလံၚ်ပရေၚ်မပံၚ်ကောံ"
end
local function annexed(param, label)
return {form(param, label), form(param .. "ပံၚ်ကောံ", annex_label(label))}
end
local function plural(label)
local infl = form("pl", label)
local process_terms = infl.process_after_parse
infl.process_after_parse = function(data, terms)
if terms[1].term == "?" then
if terms[2] then
error("Can't specify explicit plurals along with '?' for unknown/uncertain plural")
end
-- data:insert_category("nouns with unknown or uncertain plurals")
return nil, true
end
return process_terms(data, terms)
end
return {infl, form("ပရေၚ်စဳရေၚ်ပြုပြေၚ်လဝ်", annex_label(label))}
end
local function infl_list(items)
local infls = {}
for _, item in ipairs(items) do
if type(item[1]) == "table" then
for _, infl in ipairs(item) do
table.insert(infls, infl)
end
else
table.insert(infls, item)
end
end
return infls
end
local annex = form("ပံၚ်ကောံ", "ကဆံၚ်အလံၚ်ပရေၚ်မပံၚ်ကောံ")
local function noun_infls()
return infl_list {
annex,
annexed("d", "ၜါလ္ပာ်"),
plural("ကိုန်ဗဟုဝစ်"),
annexed("dim", "လဟုတ်စှ်ေ"),
annexed("aug", "ပရေၚ်မဖပေၚ်တိုန်"),
annexed("f", "မညဳညတ်သၟတ်တးကဵုလိၚ်ဗြဴ"),
annexed("m", "မညဳညတ်သၟတ်တးကဵုပုလ္လိၚ်"),
}
end
pos_functions["နာမ်"] = {
infls = noun_infls(),
}
pos_functions["နာမ်မကိတ်ညဳ"] = {
infls = noun_infls(),
}
local function collective_singulative(label, cat, other_param, other_label, other_gender)
return {
infls = infl_list {
{fixed_label = label, cat = cat},
form(other_param, other_label, other_gender),
annex,
plural("ကိုန်ဗဟုဝစ်"),
annexed("dim", "လဟုတ်စှ်ေ"),
},
}
end
pos_functions["နာမ်ထၜိုန်ပကောံ"] = collective_singulative("ထၜိုန်ပကောံ", "နာမ်ထၜိုန်ပကောံ", "sing", "နာမ်ကိုန်ဨကဝုစ်", "f")
pos_functions["နာမ်ကိုန်ဨကဝုစ်"] = collective_singulative("ကိုန်ဨကဝုစ်", "နာမ်ကိုန်ဨကဝုစ်", "coll", "ထၜိုန်ပကောံ", "m")
pos_functions["နာမဝိသေသန"] = {
infls = infl_list {
annex,
annexed("f", "ဣတ္တိလိၚ်"),
annexed("pl", "ကိုန်ဗဟုဝစ်ပုလ္လိၚ်"),
annexed("fpl", "ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်"),
annexed("cpl", "ကိုန်ဗဟုဝစ်သာမည"),
annexed("dim", "လဟုတ်စှ်ေ"),
},
}
local function participle_plural_label(data)
return data.langcode == "gho" and "ကိုန်ဗဟုဝစ်" or "ကိုန်ဗဟုဝစ်ပုလ္လိၚ်"
end
local function participles()
return {
infls = infl_list {
annex,
annexed("f", "ဣတ္တိလိၚ်"),
annexed("pl", participle_plural_label),
annexed("fpl", "ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်"),
annexed("cpl", "ကိုန်ဗဟုဝစ်သာမည"),
},
}
end
pos_functions["လုပ်ကၠောန်စွံလဝ်နကဵုမစိုပ်တရဴ"] = participles()
pos_functions["လုပ်ကၠောန်စွံလဝ်နကဵုဟွံတဝ်စၞေဟ်"] = participles()
pos_functions["ကြိယာဝိသေသန"] = {
infls = infl_list {
annex,
form("d", "ၜါလ္ပာ်"),
},
}
pos_functions["ဂၞန်သၚ်္ချာ"] = {
infls = infl_list {
{cat = "ဂၞန်သၚ်္ချာအဓိက"},
annex,
annexed("f", "ဣတ္တိလိၚ်"),
plural("ကိုန်ဗဟုဝစ်"),
},
}
pos_functions["ပစ္စဲ"] = {
infls = infl_list {
annexed("f", "ဣတ္တိလိၚ်"),
plural("ကိုန်ဗဟုဝစ်"),
},
}
pos_functions["ပစ္စဲ"] = {
infls = infl_list {
annex,
annexed("f", "ဣတ္တိလိၚ်"),
},
}
pos_functions["သဗ္ဗနာမ်"] = {
infls = infl_list {
annex,
plural("ကိုန်ဗဟုဝစ်"),
annexed("f", "ဣတ္တိလိၚ်"),
},
}
pos_functions["ကြိယာ"] = {
infls = {
form("aorist", "ပရေၚ်အတိက်"),
form("pret", "ကာလအတိက်"),
form("negpret", "မကယျာန်ပါဲပရေၚ်ဟွံဍိုက်ပေၚ်"),
form("cont", "မဟၟဲဍိုက်ပေၚ်"),
form("vn", "နာမ်ပါၚ်တိုက်"),
form("ap", "လုပ်ကၠောန်စွံလဝ်ဗွဲမပြဟ်"),
form("pp", "လုပ်ကၠောန်စွံလဝ်ဟွံတဝ်စၞေဟ်"),
},
}
pos_functions["ဗီုပြၚ်ကြိယာ"] = {
augment_params = function(data, params)
if verb_form_modules[data.langcode] then
params[2] = {sublist = "comma without whitespace"}
for _, param in ipairs {"slots", "noslots", "conjid", "noconjid", "t"} do
params[param] = true
end
end
end,
func = function(data, args)
if args[2] then
data.process_props.data.definition = M[verb_form_modules[data.langcode]].definition_line {
pagename = data.pagename,
lemmas = args[2],
slots = args.slots,
noslots = args.noslots,
conjid = args.conjid,
noconjid = args.noconjid,
gloss = args.t,
}
end
end,
}
return export
i6uu8dtd11gqyya9fj0vv1w5x3dt278
402273
402252
2026-10-01T06:34:06Z
咽頭べさ
33
402273
Scribunto
text/plain
local export = {}
local pos_functions = {}
local M = require("Module:module loader").init {
require = {
headword_utilities = "Module:headword utilities",
languages = "Module:languages",
scripts = "Module:scripts",
links = "Module:links",
en_utilities = "Module:en-utilities",
latn_tfng_translit = "Module:Latn-Tfng-translit",
shi_latn_arab_translit = "Module:shi-Latn-Arab-translit",
rif_verb_form = "Module:rif-verb form",
gho_verb_form = "Module:gho-verb form",
},
}
local force_cat = false
local main_script = {tzm = "Tfng", zgh = "Tfng"}
local auto_tifinagh = {rif = true, shi = true, sjs = true}
local auto_arabic = {shi = true}
local verb_form_modules = {rif = "rif_verb_form", gho = "gho_verb_form"}
local valid_genders = {"m", "f", "mf", "mfbysense", "p", "?"}
local gender_default = {
nouns = "?",
["နာမ်မကိတ်ညဳ"] = "?",
numerals = "?",
pronouns = "?",
["နာမ်ထၜိုန်ပကောံ"] = "m",
["နာမ်ကိုန်ဨကဝုစ်"] = "f",
}
local pos_category_for = {
["နာမ်ထၜိုန်ပကောံ"] = "နာမ်",
["နာမ်ကိုန်ဨကဝုစ်"] = "နာမ်",
}
local function main_script_code(lang)
local code = main_script[lang:getCode()]
if code then
return code
end
local script_codes = lang:getScriptCodes()
for _, script_code in ipairs(script_codes) do
if script_code == "Latn" then
return script_code
end
end
return script_codes[1]
end
local function validate_genders(data, genders, gender_type)
data:validate_genders(genders, valid_genders, {gender_type = gender_type, no_augment = true})
end
local function without_lang(frame)
local args = {}
for key, value in pairs(frame.args) do
if key ~= "lang" then
args[key] = value
end
end
return {
args = args,
getParent = function()
return frame:getParent()
end,
}
end
local function insert_spelling(data, terms, script_code, form)
local sc = M.scripts.getByCode(script_code)
local genders = {}
for _, gender in ipairs(data.genders or {}) do
table.insert(genders, gender.spec)
end
for _, termobj in ipairs(terms) do
termobj.sc = sc
termobj.accel = {
form = form,
lemma = data.pagename,
pos = M.en_utilities.singularize(data.orig_poscat),
target = termobj.term,
gender = genders[1] and table.concat(genders, ",") or nil,
}
end
data:insert_inflection(terms,"ခ္ဍံက်လိက်" .. sc:getCanonicalName())
end
local function add_other_script_spellings(data, args)
if data.sc:getCode() ~= "Latn" then
return
end
local pagename = M.links.remove_links(data.pagename)
if auto_tifinagh[data.langcode] and not args.notfng then
insert_spelling(data, {{term = M.latn_tfng_translit.tr(pagename, data.langcode, "Latn")}}, "Tfng", "တဳဖှဳနာတ်ဂ်")
end
if auto_arabic[data.langcode] and not args.noarab then
local terms = data:parse_inflection("ar")
if not terms[1] then
terms = {{term = M.shi_latn_arab_translit.tr(pagename, data.langcode, "Latn")}}
end
insert_spelling(data, terms, "Arab", "အာရဗဳ")
end
end
function export.show(frame)
local code = frame.args.lang or error("Specify the language code in lang=, e.g. {{#invoke:ber-headword|show|lang=rif}}")
local props = {
lang = M.languages.getByCode(code, "lang"),
frame = without_lang(frame),
pos_functions = pos_functions,
include_tr = true,
force_cat = force_cat,
infls = {
{"g", type = "လိၚ်ဂမၠိုၚ်",
default = function(data)
return gender_default[data.orig_poscat]
end,
validate = function(data, genders)
validate_genders(data, genders)
end,
},
},
augment_params = function(data, params)
if auto_tifinagh[code] then
params.notfng = {type = "boolean"}
end
if auto_arabic[code] then
params.noarab = {type = "boolean"}
params.ar = true
end
local pos = pos_functions[data.orig_poscat]
if pos and pos.augment_params then
pos.augment_params(data, params)
end
end,
augment_headdata = function(data)
data.pos_category = pos_category_for[data.pos_category] or data.pos_category
if data.var == nil and data.orig_poscat ~= "အက္ခရ်" then
data.var = data.sc:getCode() ~= main_script_code(data.lang)
end
data.inflections.enable_auto_translit = data.sc:getCode() == "Tfng"
end,
}
local headword = M.headword_utilities.process_headword(props)
if props.definition then
return headword .. "\n# " .. props.definition
end
return headword
end
pos_functions["head"] = {
infls = function(data)
local pos = pos_functions[data.orig_poscat]
return pos and pos.infls or {}
end,
func = function(data, args)
local pos = pos_functions[data.orig_poscat]
if pos and pos.func then
pos.func(data, args)
end
add_other_script_spellings(data, args)
end,
}
local function form(param, label, default_gender)
return {param, label = label, include_mods = {"g"},
process_after_parse = function(data, terms)
for _, termobj in ipairs(terms) do
if default_gender and not termobj.genders and termobj.term ~= "-" then
termobj.genders = {{spec = default_gender}}
end
validate_genders(data, termobj.genders, param)
end
return terms
end,
}
end
local function annex_label(label)
if type(label) == "function" then
return function(data, terms)
return label(data, terms) .. " ကဆံၚ်အလံၚ်ပရေၚ်မပံၚ်ကောံ"
end
end
return label .. " ကဆံၚ်အလံၚ်ပရေၚ်မပံၚ်ကောံ"
end
local function annexed(param, label)
return {form(param, label), form(param .. "annex", annex_label(label))}
end
local function plural(label)
local infl = form("pl", label)
local process_terms = infl.process_after_parse
infl.process_after_parse = function(data, terms)
if terms[1].term == "?" then
if terms[2] then
error("Can't specify explicit plurals along with '?' for unknown/uncertain plural")
end
-- data:insert_category("nouns with unknown or uncertain plurals")
return nil, true
end
return process_terms(data, terms)
end
return {infl, form("ပရေၚ်စဳရေၚ်ပြုပြေၚ်လဝ်", annex_label(label))}
end
local function infl_list(items)
local infls = {}
for _, item in ipairs(items) do
if type(item[1]) == "table" then
for _, infl in ipairs(item) do
table.insert(infls, infl)
end
else
table.insert(infls, item)
end
end
return infls
end
local annex = form("annex", "ကဆံၚ်အလံၚ်ပရေၚ်မပံၚ်ကောံ")
local function noun_infls()
return infl_list {
annex,
annexed("d", "ၜါလ္ပာ်"),
plural("ကိုန်ဗဟုဝစ်"),
annexed("dim", "လဟုတ်စှ်ေ"),
annexed("aug", "ပရေၚ်မဖပေၚ်တိုန်"),
annexed("f", "မညဳညတ်သၟတ်တးကဵုလိၚ်ဗြဴ"),
annexed("m", "မညဳညတ်သၟတ်တးကဵုပုလ္လိၚ်"),
}
end
pos_functions["နာမ်"] = {
infls = noun_infls(),
}
pos_functions["နာမ်မကိတ်ညဳ"] = {
infls = noun_infls(),
}
local function collective_singulative(label, cat, other_param, other_label, other_gender)
return {
infls = infl_list {
{fixed_label = label, cat = cat},
form(other_param, other_label, other_gender),
annex,
plural("ကိုန်ဗဟုဝစ်"),
annexed("dim", "လဟုတ်စှ်ေ"),
},
}
end
pos_functions["နာမ်ထၜိုန်ပကောံ"] = collective_singulative("ထၜိုန်ပကောံ", "နာမ်ထၜိုန်ပကောံ", "sing", "နာမ်ကိုန်ဨကဝုစ်", "f")
pos_functions["နာမ်ကိုန်ဨကဝုစ်"] = collective_singulative("ကိုန်ဨကဝုစ်", "နာမ်ကိုန်ဨကဝုစ်", "coll", "ထၜိုန်ပကောံ", "m")
pos_functions["နာမဝိသေသန"] = {
infls = infl_list {
annex,
annexed("f", "ဣတ္တိလိၚ်"),
annexed("pl", "ကိုန်ဗဟုဝစ်ပုလ္လိၚ်"),
annexed("fpl", "ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်"),
annexed("cpl", "ကိုန်ဗဟုဝစ်သာမည"),
annexed("dim", "လဟုတ်စှ်ေ"),
},
}
local function participle_plural_label(data)
return data.langcode == "gho" and "ကိုန်ဗဟုဝစ်" or "ကိုန်ဗဟုဝစ်ပုလ္လိၚ်"
end
local function participles()
return {
infls = infl_list {
annex,
annexed("f", "ဣတ္တိလိၚ်"),
annexed("pl", participle_plural_label),
annexed("fpl", "ကိုန်ဗဟုဝစ်ဣတ္တိလိၚ်"),
annexed("cpl", "ကိုန်ဗဟုဝစ်သာမည"),
},
}
end
pos_functions["လုပ်ကၠောန်စွံလဝ်နကဵုမစိုပ်တရဴ"] = participles()
pos_functions["လုပ်ကၠောန်စွံလဝ်နကဵုဟွံတဝ်စၞေဟ်"] = participles()
pos_functions["ကြိယာဝိသေသန"] = {
infls = infl_list {
annex,
form("d", "ၜါလ္ပာ်"),
},
}
pos_functions["ဂၞန်သၚ်္ချာ"] = {
infls = infl_list {
{cat = "ဂၞန်သၚ်္ချာအဓိက"},
annex,
annexed("f", "ဣတ္တိလိၚ်"),
plural("ကိုန်ဗဟုဝစ်"),
},
}
pos_functions["ပစ္စဲ"] = {
infls = infl_list {
annexed("f", "ဣတ္တိလိၚ်"),
plural("ကိုန်ဗဟုဝစ်"),
},
}
pos_functions["ပစ္စဲ"] = {
infls = infl_list {
annex,
annexed("f", "ဣတ္တိလိၚ်"),
},
}
pos_functions["သဗ္ဗနာမ်"] = {
infls = infl_list {
annex,
plural("ကိုန်ဗဟုဝစ်"),
annexed("f", "ဣတ္တိလိၚ်"),
},
}
pos_functions["ကြိယာ"] = {
infls = {
form("aorist", "ပရေၚ်အတိက်"),
form("pret", "ကာလအတိက်"),
form("negpret", "မကယျာန်ပါဲပရေၚ်ဟွံဍိုက်ပေၚ်"),
form("cont", "မဟၟဲဍိုက်ပေၚ်"),
form("vn", "နာမ်ပါၚ်တိုက်"),
form("ap", "လုပ်ကၠောန်စွံလဝ်ဗွဲမပြဟ်"),
form("pp", "လုပ်ကၠောန်စွံလဝ်ဟွံတဝ်စၞေဟ်"),
},
}
pos_functions["ဗီုပြၚ်ကြိယာ"] = {
augment_params = function(data, params)
if verb_form_modules[data.langcode] then
params[2] = {sublist = "comma without whitespace"}
for _, param in ipairs {"slots", "noslots", "conjid", "noconjid", "t"} do
params[param] = true
end
end
end,
func = function(data, args)
if args[2] then
data.process_props.data.definition = M[verb_form_modules[data.langcode]].definition_line {
pagename = data.pagename,
lemmas = args[2],
slots = args.slots,
noslots = args.noslots,
conjid = args.conjid,
noconjid = args.noconjid,
gloss = args.t,
}
end
end,
}
return export
dkwn3zacrnwn1nlktkx0uqgyg6sz9q6
မဝ်ဂျူ:labels/data/lang/shi
828
218158
402266
298450
2026-10-01T05:53:04Z
咽頭べさ
33
402266
Scribunto
text/plain
local labels = {}
labels["Medieval"] = {
aliases = {"shi-med", "Medieval Tashelhit"},
display = "တာသျာယ်ဟေတ်ခေတ်လဒေါဝ်",
regional_categories = "တာသျာယ်ဟေတ်",
}
return require("Module:labels").finalize_data(labels)
7j7nci7uthvbnzot1n5sg0x022b88m7
မဝ်ဂျူ:labels/data/lang/tmh
828
218163
402259
298455
2026-10-01T05:43:05Z
咽頭べさ
33
402259
Scribunto
text/plain
local labels = {}
labels["Tamahaq"] = {
aliases = {"Tahaggart"},
Wikipedia = "Tamahaq language",
regional_categories = true,
}
labels["Tamasheq"] = {
aliases = {"Tamashek", "Tadghaq"},
Wikipedia = "Tamasheq language",
regional_categories = true,
}
labels["Tayert"] = {
aliases = {"Tayart", "Tayirt", "Air", "Air Tamajaq"},
Wikipedia = "Air Tamajeq language",
regional_categories = true,
}
labels["Tawellemmet"] = {
aliases = {"Tawallammat", "Iwellemmeden"},
Wikipedia = "en:Tawellemmet language",
display = "ထာဝါလပ်မေတ်",
regional_categories = "ထာဝါလပ်မေတ်",
}
labels["Ghat"] = {
regional_categories = true,
}
return require("Module:labels").finalize_data(labels)
fszch4khpve1cdbelithwn924sail28
402263
402259
2026-10-01T05:47:30Z
咽頭べさ
33
402263
Scribunto
text/plain
local labels = {}
labels["Tamahaq"] = {
aliases = {"Tahaggart"},
Wikipedia = "Tamahaq language",
regional_categories = true,
}
labels["Tamasheq"] = {
aliases = {"Tamashek", "Tadghaq"},
Wikipedia = "Tamasheq language",
regional_categories = true,
}
labels["Tayert"] = {
aliases = {"Tayart", "Tayirt", "Air", "Air Tamajaq"},
Wikipedia = "en:Air Tamajeq language",
display = "ထေယျုက်",
regional_categories = "ထေယျုက်",
}
labels["Tawellemmet"] = {
aliases = {"Tawallammat", "Iwellemmeden"},
Wikipedia = "en:Tawellemmet language",
display = "ထာဝါလပ်မေတ်",
regional_categories = "ထာဝါလပ်မေတ်",
}
labels["Ghat"] = {
regional_categories = true,
}
return require("Module:labels").finalize_data(labels)
4w9wiwji7uie5l2vjgswkc3szymbeyq
ကဏ္ဍ:မဝ်ဂျူထေတ်သေရေတ်ဂမၠိုၚ်
14
299388
402253
2026-10-01T05:29:26Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာထေတ်သေရေတ်|ထေတ်သေရေတ်] » '''..."
402253
wikitext
text/x-wiki
[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာထေတ်သေရေတ်|ထေတ်သေရေတ်] » '''မဝ်ဂျူဂမၠိုၚ်'''
:[[:ကဏ္ဍ:မဝ်ဂျူဂမၠိုၚ်|မဝ်ဂျူ]]ဘာသာထေတ်သေရေတ်၊ မနွံကဵုလုပ်အဝေါၚ်ကုဒ် Lua နကဵုမကၠောန်ဗဒှ် ကဵု မစဳရေၚ်ယဵုဒုၚ်သ္ပမာန်ဂမၠိုၚ်။
[[ကဏ္ဍ:ဘာသာထေတ်သေရေတ်]][[ကဏ္ဍ:မဝ်ဂျူဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ထ]]
od00zt5p2luqik6up3w5yt9rgb2znk5
ကဏ္ဍ:ဘာသာထေတ်သေရေတ်
14
299389
402254
2026-10-01T05:30:20Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:အရေဝ်ဘာသာ|ထ]][[ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|ထ]]"
402254
wikitext
text/x-wiki
[[ကဏ္ဍ:အရေဝ်ဘာသာ|ထ]][[ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|ထ]]
p4n9dtk9uncqnyo75jtja2mkk8bmt55
afagan
0
299390
402255
2026-10-01T05:34:42Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "==ဂၠဳသဳယျာန်== ===ကြိယာ=== {{head|gl|verb form}} # {{gl-verb form of|afacer}} # {{gl-verb form of|afagar}} ==ထေတ်သေရေတ်== ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{der|tez|shi-med|اڢچَن|tr=afgan}}၊ သီုကဵု {{bor|tez|thz,ttq|afăgan}}။ ===နာမ်=== {{tez-head|noun|g=m}} # ပူဂဵု၊ တြုံ။"
402255
wikitext
text/x-wiki
==ဂၠဳသဳယျာန်==
===ကြိယာ===
{{head|gl|verb form}}
# {{gl-verb form of|afacer}}
# {{gl-verb form of|afagar}}
==ထေတ်သေရေတ်==
===နိရုတ်===
ဝေါဟာကၠုၚ်နူ {{der|tez|shi-med|اڢچَن|tr=afgan}}၊ သီုကဵု {{bor|tez|thz,ttq|afăgan}}။
===နာမ်===
{{tez-head|noun|g=m}}
# ပူဂဵု၊ တြုံ။
43qxk6jqrp94ra5dws1b25rd8gjpn7o
ထာမ်ပလိက်:tez-head
10
299391
402267
2026-10-01T05:54:35Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{#invoke:ber-headword|show|lang=tez}}<!-- --><noinclude>{{documentation}}</noinclude>"
402267
wikitext
text/x-wiki
{{#invoke:ber-headword|show|lang=tez}}<!--
--><noinclude>{{documentation}}</noinclude>
h1t9qm2pk3oh8jwrbptjxpp7qkc4y0t
မဝ်ဂျူ:rif-verb form
828
299392
402269
2026-10-01T06:00:25Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "-- Based on ar-inflections by Ben Wing local export = {} local M = require("Module:module loader").init({ require = { template_parser = "Module:template parser", rif_conj = "Module:rif-conj", ber_headword = "Module:ber-headword", form_of = "Module:form of", languages = "Module:languages", }, }) local lang_code = "rif" local lang_obj local function get_lang() if not lang_obj then lang_obj = M.language..."
402269
Scribunto
text/plain
-- Based on ar-inflections by Ben Wing
local export = {}
local M = require("Module:module loader").init({
require = {
template_parser = "Module:template parser",
rif_conj = "Module:rif-conj",
ber_headword = "Module:ber-headword",
form_of = "Module:form of",
languages = "Module:languages",
},
})
local lang_code = "rif"
local lang_obj
local function get_lang()
if not lang_obj then
lang_obj = M.languages.getByCode(lang_code)
end
return lang_obj
end
local all_slots = {}
local slot_tags = {}
for _, pair in ipairs(M.rif_conj.slot_list) do
local slot, accel = pair[1], pair[2]
table.insert(all_slots, slot)
local tags = {}
for tag in accel:gmatch("[^|]+") do table.insert(tags, tag) end
slot_tags[slot] = tags
end
local function split_comma(s)
if not s or s == "" then return nil end
local t = {}
for part in s:gmatch("[^,]+") do
table.insert(t, (part:match("^%s*(.-)%s*$")))
end
return t
end
local function list_to_set(list)
if not list then return nil end
local s = {}
for _, v in ipairs(list) do s[v] = true end
return s
end
local function find_conjugations(lemma, conjid, noconjid)
local title = mw.title.new(lemma)
if not title then return nil, "Bad lemma" end
local content = title:getContent()
if not content then return nil, "No content" end
local found_conjs = {}
for template in M.template_parser.find_templates(content) do
if template:get_name() == "rif-conj" then
local args = template:get_arguments()
if not (conjid and args.id ~= conjid) and not (noconjid and args.id == noconjid) then
table.insert(found_conjs, args)
end
end
end
if #found_conjs > 0 then return found_conjs, nil end
return nil, "Could not find any rif-conj matching id=" .. (conjid or "nil")
end
local function citation_lemma(data, conj_lemma)
local from_forms = M.rif_conj.citation_lemma_from_forms(data.forms, data.aorist)
if from_forms and from_forms ~= "" then
return from_forms
end
return conj_lemma
end
local function build_inflection_line(matches, user_gloss)
local by_lemma = {}
local lemma_seen = {}
for _, match in ipairs(matches) do
local lf = citation_lemma(match.lemma, match.conj_lemma)
if lf and lf ~= "" then
local gloss = user_gloss
if (not gloss or gloss == "") and match.lemma.t and match.lemma.t ~= "" then
gloss = match.lemma.t
end
if not lemma_seen[lf] then
table.insert(by_lemma, {lemma_form = lf, gloss = gloss, tag_sets = {}, tag_set_keys = {}})
lemma_seen[lf] = #by_lemma
end
local entry = by_lemma[lemma_seen[lf]]
local key = table.concat(match.tags, "|")
local found = false
for _, k in ipairs(entry.tag_set_keys) do
if k == key then found = true; break end
end
if not found then
table.insert(entry.tag_sets, match.tags)
table.insert(entry.tag_set_keys, key)
end
end
end
local lang = get_lang()
local parts = {}
for _, lem in ipairs(by_lemma) do
local flat_tags = {}
for i, tag_set in ipairs(lem.tag_sets) do
if i > 1 then table.insert(flat_tags, ";") end
for _, tag in ipairs(tag_set) do
table.insert(flat_tags, tag)
end
end
table.insert(parts, M.form_of.tagged_inflections({
lang = lang,
tags = flat_tags,
lemmas = { { lang = lang, term = lem.lemma_form } },
lemma_face = "term",
t = (lem.gloss and lem.gloss ~= "") and lem.gloss or nil,
}))
end
if #parts == 0 then return nil end
return table.concat(parts, "\n# ")
end
local function definition(opts)
local slot_filter = list_to_set(split_comma(opts.slots))
local slot_neg_filter = list_to_set(split_comma(opts.noslots))
local matches = {}
for _, conj_lemma in ipairs(opts.lemmas) do
local conj_args_list, err = find_conjugations(conj_lemma, opts.conjid, opts.noconjid)
if err then error(err) end
for _, conj_args in ipairs(conj_args_list) do
local data = M.rif_conj.get_forms(M.rif_conj.process_conj_args(conj_args))
for _, slot in ipairs(all_slots) do
if (not slot_filter or slot_filter[slot])
and (not slot_neg_filter or not slot_neg_filter[slot]) then
for _, formobj in ipairs(data.forms[slot] or {}) do
if formobj.form == opts.pagename then
table.insert(matches, {
tags = slot_tags[slot] or {slot},
lemma = data,
conj_lemma = conj_lemma,
})
end
end
end
end
end
end
if #matches == 0 then
error("'" .. opts.pagename
.. "' does not match any form of [[" .. table.concat(opts.lemmas, "]], [[") .. "]]")
end
return build_inflection_line(matches, opts.gloss)
end
function export.definition_line(opts)
local lemmas = {}
for index = 1, math.max(#opts.lemmas, 1) do
local lemma = opts.lemmas[index] or ""
if lemma == "" or lemma:sub(1, 1) == "+" then
error("Give the lemmas comma-separated and without +, e.g. mɣar")
end
table.insert(lemmas, lemma)
end
return definition {
pagename = opts.pagename,
lemmas = lemmas,
slots = opts.slots,
noslots = opts.noslots,
conjid = opts.conjid,
noconjid = opts.noconjid,
gloss = opts.gloss,
}
end
function export.verb_form(frame)
local pargs = {}
for k, v in pairs(frame:getParent().args) do pargs[k] = v end
for k, v in pairs(frame.args) do if pargs[k] == nil then pargs[k] = v end end
local is_template_example =
mw.title.getCurrentTitle().fullText == "Template:rif-verb form"
if is_template_example and (not pargs[1] or pargs[1] == "") then
pargs[1] = "+mɣar"
end
local working_pagename = is_template_example and "yemɣar"
or pargs.pagename
or mw.title.getCurrentTitle().text
local arg1 = pargs[1] or ""
if arg1:sub(1, 1) ~= "+" then
error("Direct conjugation spec not yet supported; use +lemma syntax.")
end
local line = definition {
pagename = working_pagename,
lemmas = { arg1:sub(2) },
slots = pargs.slots,
noslots = pargs.noslots,
conjid = pargs.conjid,
noconjid = pargs.noconjid,
gloss = pargs.t or pargs.gloss,
}
local headword_line = M.ber_headword.show_impl("verb forms", lang_code, {})
return headword_line .. "\n" .. (line and ("# " .. line) or "")
end
return export
njkk3orlzc83sd4yk4rm08ymky50e9b
မဝ်ဂျူ:rif-conj
828
299393
402270
2026-10-01T06:15:32Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "local export = {} local M = require("Module:module loader").init({ require = { iut = "Module:inflection utilities", languages = "Module:languages", string_utilities = "Module:string utilities", parameters = "Module:parameters", JSON = "Module:JSON", inflection_table = "Module:inflection-table", }, lazy = { ustring = function() return mw.ustring end, }, }) local VOWEL_CHARS = "aeiu" local DENTAL_CHA..."
402270
Scribunto
text/plain
local export = {}
local M = require("Module:module loader").init({
require = {
iut = "Module:inflection utilities",
languages = "Module:languages",
string_utilities = "Module:string utilities",
parameters = "Module:parameters",
JSON = "Module:JSON",
inflection_table = "Module:inflection-table",
},
lazy = {
ustring = function() return mw.ustring end,
},
})
local VOWEL_CHARS = "aeiu"
local DENTAL_CHARS = "tdṭḍ"
local SIBILANT_CHARS = "szṣẓ"
local function char_in_class(character_class, character)
return character ~= nil and M.ustring.find(character_class, character, 1, true) ~= nil
end
local function split_into_characters(text)
local result = {}
for _, codepoint in ipairs({ M.ustring.codepoint(text, 1, M.ustring.len(text)) }) do
table.insert(result, M.ustring.char(codepoint))
end
return result
end
local function is_vowel(character)
return char_in_class(VOWEL_CHARS, character and M.ustring.lower(character))
end
local function is_geminate(first, second)
if not first or not second then return false end
if first == second then return true end
return (char_in_class(DENTAL_CHARS, first) and char_in_class(DENTAL_CHARS, second))
or (char_in_class(SIBILANT_CHARS, first) and char_in_class(SIBILANT_CHARS, second))
end
local function strip_schwas(stem)
local characters = split_into_characters(stem)
local char_count = #characters
local ends_with_e_between_consonants = (char_count >= 3 and characters[char_count - 2] == "e"
and not is_vowel(characters[char_count - 1]) and not is_vowel(characters[char_count]))
local result = {}
for char_index, character in ipairs(characters) do
local keep = false
if character == "e" then
if ends_with_e_between_consonants and char_index == char_count - 2 then
keep = true
elseif char_index > 1 and char_index < char_count then
local char_before = characters[char_index - 1]
local char_after = characters[char_index + 1]
if not is_vowel(char_before) and not is_vowel(char_after)
and (is_geminate(char_before, char_after) or char_after == "ǧ" or char_after == "č") then
keep = true
end
end
else
keep = true
end
if keep then table.insert(result, character) end
end
local result_len = #result
if result_len >= 4 then
local first_pair_first = result[result_len - 3]
local first_pair_second = result[result_len - 2]
local second_pair_first = result[result_len - 1]
local second_pair_second = result[result_len]
if first_pair_first == second_pair_first and first_pair_second == second_pair_second
and not is_vowel(first_pair_first) and not is_vowel(first_pair_second) then
table.insert(result, result_len - 2, "e")
end
end
return table.concat(result)
end
local function insert_schwas(word, protect_suffix_len, prefix_len)
protect_suffix_len = protect_suffix_len or 0
prefix_len = prefix_len or 0
local characters = split_into_characters(word)
local char_count = #characters
local index = char_count - 1
while index >= 1 do
local protected_from_index = char_count - protect_suffix_len + 1
if index >= protected_from_index then
index = index - 1
else
local char_at_index = characters[index]
local char_after_index = characters[index + 1]
if not is_vowel(char_at_index) and not is_vowel(char_after_index) then
if char_after_index == "ʷ" then
index = index - 1
elseif is_geminate(char_at_index, char_after_index) and index ~= prefix_len
and index + 1 < protected_from_index then
index = index - 1
elseif char_at_index == "r"
and (not characters[index - 1] or characters[index - 1] ~= "r")
and (index + 1 < protected_from_index) then
index = index - 1
else
local lookahead_index = index + 2
local next_is_geminate = false
if lookahead_index <= char_count
and is_geminate(char_after_index, characters[lookahead_index]) then
next_is_geminate = true; lookahead_index = lookahead_index + 1
elseif char_after_index == "ǧ" or char_after_index == "č" then
next_is_geminate = true
end
while lookahead_index <= char_count do
if lookahead_index < char_count and characters[lookahead_index]
and characters[lookahead_index + 1]
and is_geminate(characters[lookahead_index], characters[lookahead_index + 1]) then
lookahead_index = lookahead_index + 2
elseif characters[lookahead_index] == "ǧ" or characters[lookahead_index] == "č" then
lookahead_index = lookahead_index + 1
elseif characters[lookahead_index] == "ʷ" then
lookahead_index = lookahead_index + 1
else
break
end
end
local char_at_lookahead = characters[lookahead_index]
local char_before_index = characters[index - 1]
local creates_open_syllable = char_at_lookahead and is_vowel(char_at_lookahead)
and not next_is_geminate
local is_redup_echo = char_at_lookahead and (char_at_index == char_at_lookahead)
and (index >= 3 and characters[index - 2] == char_after_index)
if char_before_index and is_vowel(char_before_index)
and (next_is_geminate or is_redup_echo)
and (char_at_index ~= "ǧ" and char_at_index ~= "č")
and (index + 1 < protected_from_index) then
index = index - 1
elseif creates_open_syllable then
index = index - 1
else
table.insert(characters, index + 1, "e")
char_count = char_count + 1; index = char_count - 1
end
end
else
index = index - 1
end
end
end
return table.concat(characters)
end
local function finalize(word, noglide)
if M.ustring.len(word) > 1 and M.ustring.sub(word, 1, 1) == "e" then
word = M.ustring.sub(word, 2)
end
if not noglide then
local word_len = M.ustring.len(word)
if word_len >= 2 then
local last_two = M.ustring.sub(word, word_len - 1, word_len)
if last_two == "ew" then
return M.ustring.sub(word, 1, word_len - 2) .. "u"
elseif last_two == "ey" then
return M.ustring.sub(word, 1, word_len - 2) .. "i"
end
end
end
return word
end
local function expand_stem(stem, has_suffix)
if M.ustring.find(stem, "i/a", 1, true) then
if has_suffix then
return (M.ustring.gsub(stem, "i/a", "i"))
else
return (M.ustring.gsub(stem, "i/a", "a"))
end
end
return stem
end
local function final_schwa_glide(stem)
local stem_len = M.ustring.len(stem)
if stem_len < 2 then return nil end
local last_char = M.ustring.sub(stem, stem_len, stem_len)
local prev_char = M.ustring.sub(stem, stem_len - 1, stem_len - 1)
if prev_char == "e" and (last_char == "w" or last_char == "y") then return last_char end
return nil
end
local function vocalize_final_glide(word)
local word_len = M.ustring.len(word)
if word_len < 1 then return word end
local last_char = M.ustring.sub(word, word_len, word_len)
if last_char == "w" then
return M.ustring.sub(word, 1, word_len - 1) .. "u"
elseif last_char == "y" then
return M.ustring.sub(word, 1, word_len - 1) .. "i"
end
return word
end
local slot_list = {
{ "aorist_sg1", "1|s|aor" },
{ "aorist_sg2", "2|s|aor" },
{ "aorist_sg3m", "3|m|s|aor" },
{ "aorist_sg3f", "3|f|s|aor" },
{ "aorist_pl1", "1|p|aor" },
{ "aorist_pl2m", "2|m|p|aor" },
{ "aorist_pl2f", "2|f|p|aor" },
{ "aorist_pl3m", "3|m|p|aor" },
{ "aorist_pl3f", "3|f|p|aor" },
{ "aorist_participle", "aor|part" },
{ "aorist_imp_sg", "s|aor|imp" },
{ "aorist_imp_plm", "m|p|aor|imp" },
{ "aorist_imp_plf", "f|p|aor|imp" },
{ "perfective_sg1", "1|s|pfv" },
{ "perfective_sg2", "2|s|pfv" },
{ "perfective_sg3m", "3|m|s|pfv" },
{ "perfective_sg3f", "3|f|s|pfv" },
{ "perfective_pl1", "1|p|pfv" },
{ "perfective_pl2m", "2|m|p|pfv" },
{ "perfective_pl2f", "2|f|p|pfv" },
{ "perfective_pl3m", "3|m|p|pfv" },
{ "perfective_pl3f", "3|f|p|pfv" },
{ "perfective_participle", "pfv|part" },
{ "neg_perfective_sg1", "1|s|neg|pfv" },
{ "neg_perfective_sg2", "2|s|neg|pfv" },
{ "neg_perfective_sg3m", "3|m|s|neg|pfv" },
{ "neg_perfective_sg3f", "3|f|s|neg|pfv" },
{ "neg_perfective_pl1", "1|p|neg|pfv" },
{ "neg_perfective_pl2m", "2|m|p|neg|pfv" },
{ "neg_perfective_pl2f", "2|f|p|neg|pfv" },
{ "neg_perfective_pl3m", "3|m|p|neg|pfv" },
{ "neg_perfective_pl3f", "3|f|p|neg|pfv" },
{ "neg_perfective_participle", "neg|pfv|part" },
{ "imperfective_sg1", "1|s|impfv" },
{ "imperfective_sg2", "2|s|impfv" },
{ "imperfective_sg3m", "3|m|s|impfv" },
{ "imperfective_sg3f", "3|f|s|impfv" },
{ "imperfective_pl1", "1|p|impfv" },
{ "imperfective_pl2m", "2|m|p|impfv" },
{ "imperfective_pl2f", "2|f|p|impfv" },
{ "imperfective_pl3m", "3|m|p|impfv" },
{ "imperfective_pl3f", "3|f|p|impfv" },
{ "imperfective_participle", "impfv|part" },
{ "imperfective_imp_sg", "s|impfv|imp" },
{ "imperfective_imp_plm", "m|p|impfv|imp" },
{ "imperfective_imp_plf", "f|p|impfv|imp" },
{ "neg_imperfective_sg1", "1|s|neg|impfv" },
{ "neg_imperfective_sg2", "2|s|neg|impfv" },
{ "neg_imperfective_sg3m", "3|m|s|neg|impfv" },
{ "neg_imperfective_sg3f", "3|f|s|neg|impfv" },
{ "neg_imperfective_pl1", "1|p|neg|impfv" },
{ "neg_imperfective_pl2m", "2|m|p|neg|impfv" },
{ "neg_imperfective_pl2f", "2|f|p|neg|impfv" },
{ "neg_imperfective_pl3m", "3|m|p|neg|impfv" },
{ "neg_imperfective_pl3f", "3|f|p|neg|impfv" },
{ "neg_imperfective_participle", "neg|impfv|part" },
{ "inj_m", "m|inj" },
{ "inj_f", "f|inj" },
}
local conj_params = {
[1] = { template_default = "mɣar" },
[2] = {},
[3] = {},
[4] = {},
[5] = {},
aorist = { alias_of = 1 },
perfective = { alias_of = 2 },
neg_perfective = { alias_of = 3 },
imperfective = { alias_of = 4 },
neg_imperfective = { alias_of = 5 },
aorist_imp = {},
imperfective_imp = {},
t = true,
id = true,
pagename = true,
noglide = { type = "boolean" },
json = { type = "boolean" },
}
function export.process_conj_args(args)
return M.parameters.process(args, conj_params)
end
local person_affixes = {
sg1 = { prefix = "", suffix = "ɣ" },
sg2 = { prefix = "t", suffix = "d" },
sg3m = { prefix = "y", suffix = "" },
sg3f = { prefix = "t", suffix = "" },
pl1 = { prefix = "n", suffix = "" },
pl2m = { prefix = "t", suffix = "m" },
pl2f = { prefix = "t", suffix = "nt" },
pl3m = { prefix = "", suffix = "n" },
pl3f = { prefix = "", suffix = "nt" },
}
local function conjugate(stem, person_key, noglide)
local person = person_affixes[person_key]
stem = expand_stem(stem, M.ustring.len(person.suffix) > 0)
if person_key == "sg1" or person_key == "sg2" then
local stem_len = M.ustring.len(stem)
if M.ustring.sub(stem, stem_len, stem_len) == "a" then
stem = M.ustring.sub(stem, 1, stem_len - 1) .. "i"
end
end
local final_glide = final_schwa_glide(stem)
local skeleton = strip_schwas(stem)
local prefix = person.prefix
local suffix = person.suffix
local suffix_len = M.ustring.len(suffix)
local prefix_len = M.ustring.len(prefix)
local stem_chars = split_into_characters(stem)
local stem_char_count = #stem_chars
local ends_with_e_between_consonants = (stem_char_count >= 3 and stem_chars[stem_char_count - 2] == "e"
and not is_vowel(stem_chars[stem_char_count - 1])
and not is_vowel(stem_chars[stem_char_count]))
local protect_suffix_len = suffix_len
if ends_with_e_between_consonants and suffix_len == 0 then protect_suffix_len = 2 end
local prefixed_form = prefix .. skeleton .. suffix
local with_schwas = insert_schwas(prefixed_form, protect_suffix_len, prefix_len)
if person.prefix == "y" then
local after_prefix = M.ustring.sub(with_schwas, prefix_len + 1)
if M.ustring.len(after_prefix) > 0 then
local after_prefix_chars = split_into_characters(after_prefix)
if not is_vowel(after_prefix_chars[1]) then
with_schwas = "i" .. after_prefix
end
end
end
local result = finalize(with_schwas, noglide)
if final_glide and suffix == "" and not noglide then result = vocalize_final_glide(result) end
return result
end
local function participle(stem, noglide)
stem = expand_stem(stem, true)
local skeleton = strip_schwas(stem)
local participle_form = "y" .. skeleton .. "n"
local with_schwas = insert_schwas(participle_form, 1, 1)
if M.ustring.sub(with_schwas, 1, 1) == "y" then
local after_prefix = M.ustring.sub(with_schwas, 2)
if M.ustring.len(after_prefix) > 0 then
local after_prefix_chars = split_into_characters(after_prefix)
if not is_vowel(after_prefix_chars[1]) then with_schwas = "i" .. after_prefix
end
end
end
return finalize(with_schwas, noglide)
end
local function imperative_singular(stem, noglide)
local final_glide = final_schwa_glide(stem)
stem = expand_stem(stem, false)
local skeleton = strip_schwas(stem)
local stem_chars = split_into_characters(stem)
local stem_char_count = #stem_chars
local ends_with_e_between_consonants = (stem_char_count >= 3 and stem_chars[stem_char_count - 2] == "e"
and not is_vowel(stem_chars[stem_char_count - 1])
and not is_vowel(stem_chars[stem_char_count]))
local protect_suffix_len = ends_with_e_between_consonants and 2 or 0
local result = finalize(insert_schwas(skeleton, protect_suffix_len, 0), noglide)
if final_glide and not noglide then result = vocalize_final_glide(result) end
return result
end
local function imperative_plural_masculine(stem, noglide)
stem = expand_stem(stem, true)
local skeleton = strip_schwas(stem)
return finalize(insert_schwas(skeleton .. "t", 1, 0), noglide),
finalize(insert_schwas(skeleton .. "m", 1, 0), noglide)
end
local function imperative_plural_feminine(stem, noglide)
stem = expand_stem(stem, true)
local skeleton = strip_schwas(stem)
return finalize(insert_schwas(skeleton .. "nt", 2, 0), noglide)
end
local function injunctive(stem, noglide)
stem = expand_stem(stem, true)
local skeleton = strip_schwas(stem)
return finalize(insert_schwas("n" .. skeleton .. "t", 1, 1), noglide),
finalize(insert_schwas("n" .. skeleton .. "nt", 2, 1), noglide)
end
function export.citation_lemma_from_forms(forms, fallback)
if fallback and fallback ~= "" then
return fallback
end
end
function export.get_forms(args)
local aorist_stem = args[1] or ""
local perfective_stem = args[2] or ""
local neg_perfective_stem = args[3] or ""
local imperfective_stem = args[4] or ""
local neg_imperfective_stem = args[5] or ""
local aorist_imp_stem = args.aorist_imp or ""
local imperfective_imp_stem = args.imperfective_imp or ""
local noglide = args.noglide
local stems = {
{ name = "aorist", stem = aorist_stem },
{ name = "perfective", stem = perfective_stem },
{ name = "neg_perfective", stem = neg_perfective_stem },
{ name = "imperfective", stem = imperfective_stem },
{ name = "neg_imperfective", stem = neg_imperfective_stem },
}
local person_keys = { "sg1", "sg2", "sg3m", "sg3f", "pl1", "pl2m", "pl2f", "pl3m", "pl3f" }
local forms = {}
for _, stem_entry in ipairs(stems) do
if stem_entry.stem ~= "" then
for _, person_key in ipairs(person_keys) do
M.iut.insert_form(forms, stem_entry.name .. "_" .. person_key,
{ form = conjugate(stem_entry.stem, person_key, noglide) })
end
M.iut.insert_form(forms, stem_entry.name .. "_participle", { form = participle(stem_entry.stem, noglide) })
end
end
for _, aspect_name in ipairs({ "aorist", "imperfective" }) do
local stem = (aspect_name == "aorist") and aorist_stem or imperfective_stem
local imp_stem = stem
local skip_imperative = false
if aspect_name == "aorist" then
if aorist_imp_stem == "-" then
skip_imperative = true
elseif aorist_imp_stem ~= "" then
imp_stem = aorist_imp_stem
end
else
if imperfective_imp_stem == "-" then
skip_imperative = true
elseif imperfective_imp_stem ~= "" then
imp_stem = imperfective_imp_stem
end
end
if stem ~= "" then
if not skip_imperative then
M.iut.insert_form(forms, aspect_name .. "_imp_sg", { form = imperative_singular(imp_stem, noglide) })
local imp_pl_masc_first, imp_pl_masc_second = imperative_plural_masculine(imp_stem, noglide)
local imp_pl_masc_slot = aspect_name .. "_imp_plm"
M.iut.insert_form(forms, imp_pl_masc_slot, { form = imp_pl_masc_second })
M.iut.insert_form(forms, imp_pl_masc_slot, { form = imp_pl_masc_first })
M.iut.insert_form(forms, aspect_name .. "_imp_plf", { form = imperative_plural_feminine(imp_stem, noglide) })
end
if aspect_name == "aorist" then
local injunctive_masc, injunctive_fem = injunctive(stem, noglide)
M.iut.insert_form(forms, "inj_m", { form = injunctive_masc })
M.iut.insert_form(forms, "inj_f", { form = injunctive_fem })
end
end
end
return {
aorist = aorist_stem,
lemma = export.citation_lemma_from_forms(forms, aorist_stem),
id = args.id,
t = args.t,
forms = forms,
}
end
local function get_accel_lemma_form(forms, args)
return export.citation_lemma_from_forms(forms, args.pagename or mw.title.getCurrentTitle().text)
or args.pagename
or mw.title.getCurrentTitle().text
end
local function show_conjugation_forms(forms, args)
local lang = M.languages.getByCode("rif")
local pagename = args.pagename or mw.title.getCurrentTitle().text
local lemma_form = get_accel_lemma_form(forms, args)
local verb_accel_spec = "verb-form-+" .. pagename
M.iut.show_forms(forms, {
lang = lang,
lemmas = { { form = lemma_form } },
slot_list = slot_list,
transform_accel_obj = function(_slot, _form_object, accel_object)
if accel_object then
accel_object.form = verb_accel_spec
end
return accel_object
end,
})
end
-- Make the conjugation table. Called from export.show().
local function make_table(forms)
local frame = mw.getCurrentFrame()
local function table_top()
return M.inflection_table.make_top{
title = "-",
palette = "red",
}
end
local function table_bottom()
return M.inflection_table.make_bottom{}
end
local participle_rows = [=[
! colspan="2" class="outer" |
! class="outer" | အဝ်ရေတ်
! class="outer" | မဍိုက်ပေၚ်
! class="outer" | ကယျာန်ပါဲမဍိုက်ပေၚ်
! class="outer" | မဍိုက်ပေၚ်
! class="outer" | ကယျာန်ပါဲဟွံဍိုက်ပေၚ်
|-
! colspan="2" class="outer" | လုပ်ကၠောန်စွံလဝ်
| {aorist_participle}
| {perfective_participle}
| {neg_perfective_participle}
| {imperfective_participle}
| {neg_imperfective_participle}
]=]
local main_rows = [=[
|-
! colspan="2" class="outer" |
! colspan="3" class="outer" | ကိုန်ဨကဝုစ်
! class="separator" rowspan="999" |
! colspan="3" class="outer" | ကိုန်ဗဟုဝစ်
|-
! colspan="2" class="outer" |
! 1<sup>st</sup> person
! 2<sup>nd</sup> person
! 3<sup>rd</sup> person
! 1<sup>st</sup> person
! 2<sup>nd</sup> person
! 3<sup>rd</sup> person
|-
! rowspan="2" class="outer" | အဝ်ရေတ်
! {\op}{\op}g|m{\cl}{\cl}
| rowspan="2" | {aorist_sg1}
| rowspan="2" | {aorist_sg2}
| {aorist_sg3m}
| rowspan="2" | {aorist_pl1}
| {aorist_pl2m}
| {aorist_pl3m}
|-
! {\op}{\op}g|f{\cl}{\cl}
| {aorist_sg3f}
| {aorist_pl2f}
| {aorist_pl3f}
|-
! rowspan="2" class="outer" | မဍိုက်ပေၚ်
! {\op}{\op}g|m{\cl}{\cl}
| rowspan="2" | {perfective_sg1}
| rowspan="2" | {perfective_sg2}
| {perfective_sg3m}
| rowspan="2" | {perfective_pl1}
| {perfective_pl2m}
| {perfective_pl3m}
|-
! {\op}{\op}g|f{\cl}{\cl}
| {perfective_sg3f}
| {perfective_pl2f}
| {perfective_pl3f}
|-
! rowspan="2" class="outer" | ကယျာန်ပါဲမဍိုက်ပေၚ်
! {\op}{\op}g|m{\cl}{\cl}
| rowspan="2" | {neg_perfective_sg1}
| rowspan="2" | {neg_perfective_sg2}
| {neg_perfective_sg3m}
| rowspan="2" | {neg_perfective_pl1}
| {neg_perfective_pl2m}
| {neg_perfective_pl3m}
|-
! {\op}{\op}g|f{\cl}{\cl}
| {neg_perfective_sg3f}
| {neg_perfective_pl2f}
| {neg_perfective_pl3f}
|-
! rowspan="2" class="outer" | ဟွံဍိုက်ပေၚ်
! {\op}{\op}g|m{\cl}{\cl}
| rowspan="2" | {imperfective_sg1}
| rowspan="2" | {imperfective_sg2}
| {imperfective_sg3m}
| rowspan="2" | {imperfective_pl1}
| {imperfective_pl2m}
| {imperfective_pl3m}
|-
! {\op}{\op}g|f{\cl}{\cl}
| {imperfective_sg3f}
| {imperfective_pl2f}
| {imperfective_pl3f}
|-
! rowspan="2" class="outer" | ကယျာန်ပါဲဟွံဍိုက်ပေၚ်
! {\op}{\op}g|m{\cl}{\cl}
| rowspan="2" | {neg_imperfective_sg1}
| rowspan="2" | {neg_imperfective_sg2}
| {neg_imperfective_sg3m}
| rowspan="2" | {neg_imperfective_pl1}
| {neg_imperfective_pl2m}
| {neg_imperfective_pl3m}
|-
! {\op}{\op}g|f{\cl}{\cl}
| {neg_imperfective_sg3f}
| {neg_imperfective_pl2f}
| {neg_imperfective_pl3f}
|-
! class="separator" colspan="999" |
|-
! rowspan="2" class="outer" | အဝ်ရေတ်အပ္ဍဲအသံ
! {\op}{\op}g|m{\cl}{\cl}
| class="secondary" rowspan="2" |
| rowspan="2" | {aorist_imp_sg}
| class="secondary" rowspan="2" |
| class="secondary" rowspan="2" |
| {aorist_imp_plm}
| class="secondary" rowspan="2" |
|-
! {\op}{\op}g|f{\cl}{\cl}
| {aorist_imp_plf}
|-
! rowspan="2" class="outer" | ပရေၚ်အသံဆက်တုဲဆက်ပၠန်
! {\op}{\op}g|m{\cl}{\cl}
| class="secondary" rowspan="2" |
| rowspan="2" | {imperfective_imp_sg}
| class="secondary" rowspan="2" |
| class="secondary" rowspan="2" |
| {imperfective_imp_plm}
| class="secondary" rowspan="2" |
|-
! {\op}{\op}g|f{\cl}{\cl}
| {imperfective_imp_plf}
|-
! class="separator" colspan="999" |
|-
! rowspan="2" class="outer" | ပရေၚ်အသံ
! {\op}{\op}g|m{\cl}{\cl}
| class="secondary" rowspan="2" |
| class="secondary" rowspan="2" |
| class="secondary" rowspan="2" |
| {inj_m}
| class="secondary" rowspan="2" |
| class="secondary" rowspan="2" |
|-
! {\op}{\op}g|f{\cl}{\cl}
| {inj_f}
]=]
return table_top()
.. M.string_utilities.format(participle_rows, forms)
.. table_bottom()
.. table_top()
.. M.string_utilities.format(main_rows, forms)
.. table_bottom()
end
-- Entry point for {{rif-conj}}. Template-callable function to conjugate a verb and
-- generate a displayable table, or JSON when |json=1| (for bot use).
function export.show(frame)
local parent_args = frame:getParent().args
if parent_args[1] == nil and frame.args[1] ~= nil then
parent_args = frame.args
end
local args = export.process_conj_args(parent_args)
local data = export.get_forms(args)
if args.json then
return M.JSON.toJSON(data)
end
show_conjugation_forms(data.forms, args)
return frame:preprocess(
"{{inflection-box-top|title=သမ္ဗန္ဓဆေၚ်စပ်ကဵု {{m-self|rif|{{PAGENAME}}}}|flow=vertical|category=conjugation}}\n"
.. make_table(data.forms)
.. "\n{{inflection-box-bottom}}"
)
end
export.slot_list = slot_list
return export
ffct3t87pietx57dunn1c5efg54ngj0
မဝ်ဂျူ:gho-verb form
828
299394
402271
2026-10-01T06:17:17Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "local export = {} local M = require("Module:module loader").init({ require = { template_parser = "Module:template parser", gho_conj = "Module:gho-conj", form_of = "Module:form of", ber_headword = "Module:ber-headword", languages = "Module:languages", }, }) local lang_code = "gho" local lang_obj local function get_lang() if not lang_obj then lang_obj = M.languages.getByCode(lan..."
402271
Scribunto
text/plain
local export = {}
local M = require("Module:module loader").init({
require = {
template_parser = "Module:template parser",
gho_conj = "Module:gho-conj",
form_of = "Module:form of",
ber_headword = "Module:ber-headword",
languages = "Module:languages",
},
})
local lang_code = "gho"
local lang_obj
local function get_lang()
if not lang_obj then
lang_obj = M.languages.getByCode(lang_code)
end
return lang_obj
end
local conj_template = "gho-conj"
local slot_tags_cache = setmetatable({}, { __mode = "k" })
local function slot_tags_for(slot_list)
local cached = slot_tags_cache[slot_list]
if cached then return cached end
local slot_tags = {}
for _, pair in ipairs(slot_list) do
local tags = {}
for tag in pair[2]:gmatch("[^|]+") do table.insert(tags, tag) end
slot_tags[pair[1]] = tags
end
slot_tags_cache[slot_list] = slot_tags
return slot_tags
end
local function split_comma(text)
if not text or text == "" then return nil end
local list = {}
for part in text:gmatch("[^,]+") do
table.insert(list, (part:match("^%s*(.-)%s*$")))
end
return list
end
local function list_to_set(list)
if not list then return nil end
local set = {}
for _, value in ipairs(list) do set[value] = true end
return set
end
local function find_conjugations(lemma, conjid, noconjid)
local title = mw.title.new(lemma)
if not title then return nil, "Bad lemma" end
local content = title:getContent()
if not content then return nil, ("[[%s]] has no content"):format(lemma) end
local found = {}
for template in M.template_parser.find_templates(content) do
if template:get_name() == conj_template then
local args = template:get_arguments()
if not (conjid and args.id ~= conjid)
and not (noconjid and args.id == noconjid) then
args.pagename = lemma
table.insert(found, args)
end
end
end
if #found > 0 then return found, nil end
return nil, ("Could not find any {{%s}} on [[%s]]%s")
:format(conj_template, lemma, conjid and (" with id=" .. conjid) or "")
end
local function build_inflection_line(matches, user_gloss)
local by_lemma, lemma_seen = {}, {}
for _, match in ipairs(matches) do
local lemma_form = match.lemma ~= "" and match.lemma or match.conj_lemma
if lemma_form and lemma_form ~= "" then
if not lemma_seen[lemma_form] then
table.insert(by_lemma, { form = lemma_form, gloss = user_gloss or match.t,
tag_sets = {}, seen = {} })
lemma_seen[lemma_form] = #by_lemma
end
local entry = by_lemma[lemma_seen[lemma_form]]
local key = table.concat(match.tags, "|")
if not entry.seen[key] then
entry.seen[key] = true
table.insert(entry.tag_sets, match.tags)
end
end
end
local lang = get_lang()
local parts = {}
for _, entry in ipairs(by_lemma) do
local tags = {}
for i, tag_set in ipairs(entry.tag_sets) do
if i > 1 then table.insert(tags, ";") end
for _, tag in ipairs(tag_set) do table.insert(tags, tag) end
end
table.insert(parts, M.form_of.tagged_inflections({
lang = lang,
tags = tags,
lemmas = { { lang = lang, term = entry.form } },
lemma_face = "term",
POS = "verb",
t = (entry.gloss and entry.gloss ~= "") and entry.gloss or nil,
}))
end
if #parts == 0 then return nil end
return table.concat(parts, "\n# ")
end
local function definition(opts)
local only = list_to_set(split_comma(opts.slots))
local avoid = list_to_set(split_comma(opts.noslots))
local matches = {}
local conjugations = {}
for _, conj_lemma in ipairs(opts.lemmas) do
local found, err = find_conjugations(conj_lemma, opts.conjid, opts.noconjid)
if err then error(err) end
for _, conj_args in ipairs(found) do
table.insert(conjugations, { args = conj_args, lemma = conj_lemma })
end
end
for _, entry in ipairs(conjugations) do
local conj_args, conj_lemma = entry.args, entry.lemma
local data = M.gho_conj.get_forms(M.gho_conj.process_conj_args(conj_args))
local slot_tags = slot_tags_for(data.slot_list)
for _, pair in ipairs(data.slot_list) do
local slot = pair[1]
if (not only or only[slot]) and not (avoid and avoid[slot]) then
for _, formobj in ipairs(data.forms[slot] or {}) do
if formobj.form == opts.pagename then
table.insert(matches, {
tags = slot_tags[slot] or { slot },
lemma = data.lemma or "",
conj_lemma = conj_lemma,
t = data.t,
})
end
end
end
end
end
if #matches == 0 then
error(("'%s' is not a form of [[%s]]")
:format(opts.pagename, table.concat(opts.lemmas, "]], [[")))
end
return build_inflection_line(matches, opts.gloss)
end
function export.definition_line(opts)
local lemmas = {}
for index = 1, math.max(#opts.lemmas, 1) do
local lemma = opts.lemmas[index] or ""
if lemma == "" or lemma:sub(1, 1) == "+" then
error("Give the lemmas comma-separated and without +, e.g. ẓer")
end
table.insert(lemmas, lemma)
end
return definition {
pagename = opts.pagename,
lemmas = lemmas,
slots = opts.slots,
noslots = opts.noslots,
conjid = opts.conjid,
noconjid = opts.noconjid,
gloss = opts.gloss,
}
end
function export.verb_form(frame)
local args = {}
for key, value in pairs(frame:getParent().args) do args[key] = value end
for key, value in pairs(frame.args) do
if args[key] == nil then args[key] = value end
end
local pagename = args.pagename or mw.title.getCurrentTitle().text
local lemmas = {}
for index = 1, math.max(#args, 1) do
local head = args[index] or ""
if head:sub(1, 1) ~= "+" then
error("Give each lemma as +LEMMA, e.g. {{gho-verb form|+ẓer}}")
end
table.insert(lemmas, head:sub(2))
end
local line = definition {
pagename = pagename,
lemmas = lemmas,
slots = args.slots,
noslots = args.noslots,
conjid = args.conjid,
noconjid = args.noconjid,
gloss = args.t or args.gloss,
}
local headword = M.ber_headword.show_impl("verb forms", lang_code, {})
return headword .. "\n# " .. line
end
return export
rxs7mfnz9stwyr5iwgdugk41fo1w222
မဝ်ဂျူ:gho-conj
828
299395
402272
2026-10-01T06:27:48Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "--[=[ Conjugation of Ghomara verbs. Called as {{gho-conj|PARADIGM[:STEM][.FIELD[:VALUE]]…}}. Angle brackets around the spec are accepted but carry nothing: the lemma comes from the page name, so there is no lemma text for them to delimit. ber:ttaddu Berber paradigm, imperfective stem ttaddu ber:ssuṭus.caus ... forced causative ar:u Arabic paradigm, hollow/defecti..."
402272
Scribunto
text/plain
--[=[
Conjugation of Ghomara verbs.
Called as {{gho-conj|PARADIGM[:STEM][.FIELD[:VALUE]]…}}. Angle brackets around
the spec are accepted but carry nothing: the lemma comes from the page name,
so there is no lemma text for them to delimit.
ber:ttaddu Berber paradigm, imperfective stem ttaddu
ber:ssuṭus.caus ... forced causative
ar:u Arabic paradigm, hollow/defective vowel u
ar:ktub Arabic paradigm, imperfect stem (no prefix)
ar:- ... imperfect suppressed
ber:ttaddu.imp:bdu imperative stem, .imp:a:b for alternatives,
.imp:- suppresses
ber:x.perfective_sg3m:y slot override; SLOT+SLOT2, SLOT:V1:V2, SLOT:-
ber:x.addnote[SLOTS][n] footnote named slots
ber:x[rare] footnote the slots that stem feeds
ber:x.[rare] footnote every form
|json=1| returns the analysis instead of the table, for bot use.
]=]
local export = {}
local M = require("Module:module loader").init({
require = {
template_parser = "Module:template parser",
iut = "Module:inflection utilities",
languages = "Module:languages",
links = "Module:links",
string_utilities = "Module:string utilities",
parameters = "Module:parameters",
JSON = "Module:JSON",
put = "Module:parse utilities",
utilities = "Module:utilities",
inflection_table = "Module:inflection-table",
gender_and_number = "Module:gender and number",
},
lazy = {
ustring = function() return mw.ustring end,
},
})
-- Set true to make categories show up outside the main namespace, for checking
-- them from a /testcases page.
local force_cat = false
--[==[ Shared: accents and page probing ]==]
local accent_pairs = {
{ "ḏ̣", "ḍ" },
{ "ḏ", "d" },
{ "ḷ", "l" },
{ "ṛ", "r" },
{ "p̣", "p" },
{ "ḵ", "k" },
{ "ḡ", "g" },
{ "ṯ", "t" },
{ "ḇ", "b" },
}
local function strip_accents(stem)
for _, pair in ipairs(accent_pairs) do
stem = stem:gsub(pair[1], pair[2])
end
return stem
end
-- The accented respelling from {{gho-IPA}} and whether {{causative of|gho}} is
-- present. Memoised per page.
local page_facts_cache = {}
local function page_facts(pagename)
local cached = page_facts_cache[pagename]
if cached then return cached end
local facts = { ipa = nil, ipa_all = nil, causative = false }
local title = mw.title.new(pagename)
local content = title and title:getContent()
if content then
for template in M.template_parser.find_templates(content) do
local template_name = template:get_name()
if template_name == "gho-IPA" then
-- {{gho-IPA|bnu|ḇnu}} gives two accented stems, both of which
-- conjugate. The scan stops at the first gap: |1=a|2=b|4=c is
-- two, not three.
if facts.ipa == nil then
local args = template:get_arguments()
local val = args[1]
if val and val ~= "" then
facts.ipa = val
facts.ipa_all = { val }
local index = 2
while args[index] and args[index] ~= "" do
table.insert(facts.ipa_all, args[index])
index = index + 1
end
end
end
elseif template_name == "causative of" then
if not facts.causative and template:get_arguments()[1] == "gho" then
facts.causative = true
end
end
end
end
page_facts_cache[pagename] = facts
return facts
end
--[==[ Shared: character classes ]==]
local vowel_chars = "aeiu"
local dental_chars = "tdṭḍčǧ"
local sibilant_chars = "szṣẓ"
local function char_in_class(character_class, character)
return character ~= nil and M.ustring.find(character_class, character, 1, true) ~= nil
end
-- Splits into graphemes, not codepoints: ḏ̣ and p̣ are a base letter plus U+0323,
-- with no precomposed form.
local function split_into_characters(text)
local result = {}
for _, codepoint in ipairs({ M.ustring.codepoint(text, 1, M.ustring.len(text)) }) do
local character = M.ustring.char(codepoint)
if codepoint >= 0x0300 and codepoint <= 0x036F and #result > 0 then
result[#result] = result[#result] .. character
else
table.insert(result, character)
end
end
return result
end
-- Length in graphemes, the unit insert_schwas and hyphenate index by.
local function grapheme_len(text)
return #split_into_characters(text)
end
local function is_vowel(character)
return char_in_class(vowel_chars, character and M.ustring.lower(character))
end
local function stem_has_vowel(stem)
for i = 1, M.ustring.len(stem) do
if is_vowel(M.ustring.sub(stem, i, i)) then
return true
end
end
return false
end
local function is_geminate(first, second)
if not first or not second then return false end
if first == second then return true end
return (char_in_class(dental_chars, first) and char_in_class(dental_chars, second))
or (char_in_class(sibilant_chars, first) and char_in_class(sibilant_chars, second))
end
local function should_pair_as_geminate(first, second, char_after_second)
if not is_geminate(first, second) then return false end
if first ~= second and second == char_after_second then
return false
end
return true
end
-- ǧ and č are geminates in themselves: each fills a consonant slot alone
-- rather than pairing with what follows, and counts as a cluster where the
-- schwa rules ask whether one is there.
local function is_inherent_geminate(character)
return character == "ǧ" or character == "č"
end
local function get_consonant_slots(skeleton)
local characters = split_into_characters(skeleton)
local char_count = #characters
local slots = {}
local i = 1
while i <= char_count do
local character = characters[i]
if character == "e" or is_vowel(character) then
i = i + 1
elseif character == "ʷ" then
if #slots > 0 then
slots[#slots] = slots[#slots] .. "ʷ"
end
i = i + 1
elseif is_inherent_geminate(character) then
table.insert(slots, character)
i = i + 1
else
local next_character = characters[i + 1]
if next_character and should_pair_as_geminate(character, next_character, characters[i + 2]) then
table.insert(slots, character .. next_character)
i = i + 2
else
table.insert(slots, character)
i = i + 1
end
end
end
return slots
end
local function four_consonant_skip_index(skeleton, prefix_len)
if stem_has_vowel(skeleton) then return nil end
local slots = get_consonant_slots(skeleton)
if #slots ~= 4 then return nil end
for _, slot in ipairs(slots) do
if M.ustring.len(slot) > 1 or is_inherent_geminate(slot) then
return nil
end
end
local characters = split_into_characters(skeleton)
local char_count = #characters
local slot_count, after_c2 = 0, nil
local index = 1
while index <= char_count do
local character = characters[index]
if character == "e" or is_vowel(character) then
index = index + 1
elseif character == "ʷ" then
index = index + 1
if slot_count == 2 then after_c2 = index - 1 end
elseif is_inherent_geminate(character) then
slot_count = slot_count + 1
index = index + 1
if slot_count == 2 then after_c2 = index - 1 end
else
local next_character = characters[index + 1]
if next_character and should_pair_as_geminate(character, next_character, characters[index + 2]) then
slot_count = slot_count + 1
index = index + 2
else
slot_count = slot_count + 1
index = index + 1
end
if slot_count == 2 then after_c2 = index - 1 end
end
end
return after_c2 and (prefix_len + after_c2) or nil
end
--[==[ Shared: schwa phonology ]==]
local function strip_schwas(stem)
local characters = split_into_characters(stem)
local char_count = #characters
local effective_char_count = char_count
if characters[effective_char_count] == "ʷ" then
effective_char_count = effective_char_count - 1
end
local ends_with_e_between_consonants = (effective_char_count >= 3
and characters[effective_char_count - 2] == "e"
and not is_vowel(characters[effective_char_count - 1])
and not is_vowel(characters[effective_char_count]))
local result = {}
for char_index, character in ipairs(characters) do
local keep = false
if character == "e" then
if ends_with_e_between_consonants and char_index == effective_char_count - 2 then
keep = true
elseif char_index > 1 and char_index < char_count then
local char_before = characters[char_index - 1]
local char_after = characters[char_index + 1]
if not is_vowel(char_before) and not is_vowel(char_after) and is_inherent_geminate(char_after) then
keep = true
end
end
else
keep = true
end
if keep then table.insert(result, character) end
end
local result_len = #result
if result_len >= 4 then
local first_pair_first = result[result_len - 3]
local first_pair_second = result[result_len - 2]
local second_pair_first = result[result_len - 1]
local second_pair_second = result[result_len]
if first_pair_first == second_pair_first and first_pair_second == second_pair_second
and not is_vowel(first_pair_first) and not is_vowel(first_pair_second) then
table.insert(result, result_len - 2, "e")
end
end
return table.concat(result)
end
local function has_geminate_echo(stem)
local slots = get_consonant_slots(strip_schwas(stem))
for i = 1, #slots - 1 do
if M.ustring.len(slots[i]) == 2 and M.ustring.sub(slots[i], 1, 1) == slots[i + 1] then
return true
end
end
return false
end
-- Walks the word right to left inserting the epenthetic vowel, restarting after
-- every insertion. `epenthetic_vowel` defaults to "e"; the Arabic engine passes
-- "u"/"i" for geminate cC verbs.
local function insert_schwas(word, protect_suffix_len, prefix_len, stem_len, vowelless_stem, epenthetic_vowel, skip_index, only_allow_index)
protect_suffix_len = protect_suffix_len or 0
prefix_len = prefix_len or 0
stem_len = stem_len or 0
vowelless_stem = vowelless_stem or false
epenthetic_vowel = epenthetic_vowel or "e"
local characters = split_into_characters(word)
local char_count = #characters
local index = char_count - 1
local stem_start = prefix_len + 1
local stem_end = prefix_len + stem_len
while index >= 1 do
local protected_from_index = char_count - protect_suffix_len + 1
if index >= protected_from_index then
index = index - 1
else
local char_at_index = characters[index]
local char_after_index = characters[index + 1]
if not is_vowel(char_at_index) and not is_vowel(char_after_index) then
if char_after_index == "ʷ" then
index = index - 1
elseif (should_pair_as_geminate(char_at_index, char_after_index, characters[index + 2]) or is_inherent_geminate(char_after_index)) and index ~= prefix_len
and index + 1 < protected_from_index then
index = index - 1
else
local lookahead_index = index + 2
local next_is_geminate = false
if lookahead_index <= char_count
and should_pair_as_geminate(char_after_index, characters[lookahead_index], characters[lookahead_index + 1]) then
next_is_geminate = true; lookahead_index = lookahead_index + 1
elseif is_inherent_geminate(char_after_index) then
next_is_geminate = true
end
while lookahead_index <= char_count do
if lookahead_index < char_count and characters[lookahead_index]
and characters[lookahead_index + 1]
and should_pair_as_geminate(characters[lookahead_index], characters[lookahead_index + 1], characters[lookahead_index + 2]) then
lookahead_index = lookahead_index + 2
elseif is_inherent_geminate(characters[lookahead_index]) then
lookahead_index = lookahead_index + 1
elseif characters[lookahead_index] == "ʷ" then
lookahead_index = lookahead_index + 1
else
break
end
end
local char_at_lookahead = characters[lookahead_index]
local creates_open_syllable = char_at_lookahead and is_vowel(char_at_lookahead)
and not next_is_geminate
local is_redup_echo = char_at_lookahead and (char_at_index == char_at_lookahead)
and (index >= 3 and characters[index - 2] == char_after_index)
local char_before_index = index > 1 and characters[index - 1] or nil
-- A geminate alone does not license dropping the schwa before
-- it: berrem keeps its e and gives iberrem. Only a reduplicated
-- echo does.
if char_before_index and is_vowel(char_before_index)
and is_redup_echo
and (not is_inherent_geminate(char_at_index))
and (index + 1 < protected_from_index) then
index = index - 1
elseif creates_open_syllable then
index = index - 1
else
if only_allow_index and index >= stem_start and index ~= only_allow_index then
index = index - 1
elseif skip_index and index == skip_index then
index = index - 1
elseif vowelless_stem and index >= stem_start and index + 1 <= stem_end then
index = index - 1
else
table.insert(characters, index + 1, epenthetic_vowel)
char_count = char_count + 1
if index < stem_start then
stem_start = stem_start + 1
stem_end = stem_end + 1
elseif index < stem_end then
stem_end = stem_end + 1
end
index = char_count - 1
end
end
end
else
index = index - 1
end
end
end
-- Two schwas either side of one consonant is one syllable too many: the
-- second goes, so tceḵcam gives ccekcmex and not cckecmex. An inherent
-- geminate or a labialised consonant does not count as that consonant, and
-- a combining mark belongs to the letter it sits on.
local function is_combining(character)
if not character then return false end
local codepoint = M.ustring.codepoint(character)
return codepoint >= 0x0300 and codepoint <= 0x036F
end
local at = 1
while at <= char_count - 2 do
local removed = false
if characters[at] == "e" then
local consonant = characters[at + 1]
local next_index = at + 2
while next_index <= char_count and is_combining(characters[next_index]) do
next_index = next_index + 1
end
if next_index <= char_count and characters[next_index] == "e"
and next_index + 1 <= char_count
and not is_vowel(characters[next_index + 1])
and not is_inherent_geminate(consonant)
and consonant ~= "ʷ" and not is_vowel(consonant) then
table.remove(characters, next_index)
char_count = char_count - 1
if next_index < stem_start then
stem_start = stem_start - 1
stem_end = stem_end - 1
elseif next_index < stem_end then
stem_end = stem_end - 1
end
removed = true
end
end
if not removed then at = at + 1 end
end
-- Three genuinely identical consonants in a row never surfaces (qeṣṣeṣ +
-- -et would otherwise give qeṣṣṣet): drop the third one. Exact character
-- match only -- an accented consonant is never identical to its plain
-- counterpart here. This only fires on whatever the passes above
-- actually produced: a form where a schwa already splits the run apart
-- (qeṣṣeṣ itself, i-qeṣṣeṣ, ...) has no run of 3 left by this point and
-- is left untouched.
local at3 = 1
while at3 <= char_count - 2 do
if characters[at3] ~= "" and characters[at3] == characters[at3 + 1]
and characters[at3] == characters[at3 + 2] then
table.remove(characters, at3 + 2)
char_count = char_count - 1
if at3 + 2 < stem_start then
stem_start = stem_start - 1
stem_end = stem_end - 1
elseif at3 + 2 < stem_end then
stem_end = stem_end - 1
end
else
at3 = at3 + 1
end
end
return table.concat(characters), stem_start, stem_end
end
local function finalize(word)
if M.ustring.len(word) > 1 and M.ustring.sub(word, 1, 1) == "e" then
word = M.ustring.sub(word, 2)
end
local word_len = M.ustring.len(word)
if word_len >= 2 then
local last_two = M.ustring.sub(word, word_len - 1, word_len)
if last_two == "ew" then
return M.ustring.sub(word, 1, word_len - 2) .. "u"
elseif last_two == "ey" then
return M.ustring.sub(word, 1, word_len - 2) .. "i"
end
end
return word
end
local function finalize_part(part, is_first, is_last)
if is_first and M.ustring.len(part) > 1 and M.ustring.sub(part, 1, 1) == "e" then
part = M.ustring.sub(part, 2)
end
if is_last then
local part_len = M.ustring.len(part)
if part_len >= 2 then
local last_two = M.ustring.sub(part, part_len - 1, part_len)
if last_two == "ew" then
part = M.ustring.sub(part, 1, part_len - 2) .. "u"
elseif last_two == "ey" then
part = M.ustring.sub(part, 1, part_len - 2) .. "i"
end
end
end
return part
end
-- `stem_start` and `stem_end` are grapheme offsets from insert_schwas.
local function hyphenate(word, prefix_len, stem_start, stem_end)
local characters = split_into_characters(word)
local function slice(from, to)
local parts = {}
for i = from, to or #characters do
if characters[i] then table.insert(parts, characters[i]) end
end
return table.concat(parts)
end
if characters[stem_end + 1] == "ʷ" then
stem_end = stem_end + 1
end
local prefix = prefix_len > 0 and slice(1, stem_start - 1) or ""
local root = slice(stem_start, stem_end)
local suffix = slice(stem_end + 1)
local parts = {}
if prefix ~= "" then
table.insert(parts, finalize_part(prefix, true, false))
end
table.insert(parts, finalize_part(root, prefix == "", suffix == ""))
if suffix ~= "" then
table.insert(parts, finalize_part(suffix, false, true))
end
return table.concat(parts, "-")
end
--[==[ Form tables ]==]
-- Ghomara stores two spellings per form: the accented one for the accelerator,
-- and the accent-stripped one for the link.
local function insert_form_pair(forms, slot, value, hyphenated_value, footnotes)
M.iut.insert_form(forms, slot, {
form = strip_accents(value),
accented_form = hyphenated_value or value,
footnotes = footnotes,
})
end
-- Footnote lists are shared between form objects; each addition builds a new
-- list rather than modifying one in place.
local function add_footnotes(forms, slot, footnotes)
if not footnotes or not forms[slot] then return end
for _, formobj in ipairs(forms[slot]) do
local combined = {}
for _, footnote in ipairs(formobj.footnotes or {}) do
table.insert(combined, footnote)
end
for _, footnote in ipairs(footnotes) do
local seen = false
for _, existing in ipairs(combined) do
if existing == footnote then seen = true break end
end
if not seen then table.insert(combined, footnote) end
end
formobj.footnotes = combined
end
end
--[==[ Row formatting ]==]
-- Gender labels for the m/f row headers, equivalent to {{g|m}} and {{g|f}}.
local gender_label_replacements
local function get_gender_label_replacements()
if not gender_label_replacements then
-- format_genders returns text and categories; only the text is used.
local masculine = M.gender_and_number.format_genders{ "m" }
local feminine = M.gender_and_number.format_genders{ "f" }
gender_label_replacements = { ["{g_m}"] = masculine, ["{g_f}"] = feminine }
end
return gender_label_replacements
end
-- Row templates are constant, so each is prepared with the gender labels once
-- per #invoke; only the forms vary per call. gsub, not format(), which would
-- reject the slot placeholders this pass has to leave alone.
local prepared_rows = {}
local function format_rows(rows, forms)
local prepared = prepared_rows[rows]
if not prepared then
prepared = (rows:gsub("{g_[mf]}", get_gender_label_replacements()))
prepared_rows[rows] = prepared
end
return M.string_utilities.format(prepared, forms)
end
local table_helpers = {
format_rows = format_rows,
make_top = function(args) return M.inflection_table.make_top(args) end,
make_bottom = function(args) return M.inflection_table.make_bottom(args) end,
}
-- .imp:STEM replaces the stem the imperative is built on; .imp:- suppresses it.
-- `suppressed` is what to fall back on when the spec says nothing: the Arabic
-- imperative is built on the imperfect stem and so inherits its suppression,
-- while the Berber one is built on the aorist and has nothing to inherit.
-- .imp: may name several stems, .imp:ndu:nda, when the imperative has
-- alternative forms. Returns the stems to build imperatives on.
local function imperative_from(default_stem, overrides, suppressed)
if overrides[1] == "-" then return {}, true end
if #overrides > 0 then return overrides, false end
return { default_stem }, suppressed
end
--[==[ The paradigms ]==]
-- Each paradigm exposes:
-- code, label, category, appendix descriptive/dispatch metadata
-- slot_list {slot, accelerator tag spec} pairs
-- derive(context) -> forms, info
-- citation_lemma_from_forms(forms, fallback)
-- make_table(forms, notes, helpers) -> wikitext
-- `context` is { pagename, accented, stem, imp, caus }, where `stem` is the
-- spec's stem override and `imp` its list of imperative stems. `info` is { class, class_desc,
-- stem_slot_prefix }: the inflection class, its display form, and the slot
-- prefix a stem footnote attaches to (nil meaning every slot).
local PARADIGMS = {}
local person_keys = { "sg1", "sg2", "sg3m", "sg3f", "pl1", "pl2", "pl3" }
-- Arabic-morphology verb "forms" (measures) whose citation spelling starts
-- with a fixed augment permanently fused to the root, so the augment's own
-- internal boundaries -- and the boundary between the augment and the root
-- -- never take a schwa the way an ordinary root's consonant clusters do.
-- Declared as {{gho-conj|ar:VII}} etc. Value is the augment's length in
-- consonants: VII is n- (nbheṭ), VIII is a t- infixed after C1 (rtɛeb),
-- X is st- (steɛjeb) -- VIII and X differ in where the augment sits
-- morphologically, but behave identically for schwa placement.
local AR_AUGMENT_CLASSES = { VII = 1, VIII = 2, X = 2 }
do --[==[ Arabic morphology ]==]
local function bare_consonant_skeleton(stem)
local characters = split_into_characters(stem)
local result = {}
for _, character in ipairs(characters) do
if character ~= "e" then
table.insert(result, character)
end
end
return table.concat(result)
end
local function is_cC_verb(skeleton)
local bare = bare_consonant_skeleton(skeleton)
if stem_has_vowel(bare) then return false end
local slots = get_consonant_slots(bare)
if #slots ~= 2 then return false end
return M.ustring.len(slots[2]) >= 2
end
local function is_cac_verb(stem)
local characters = split_into_characters(stem)
local char_count = #characters
local slots = {}
local vowel_count = 0
local vowel_position = nil
local i = 1
while i <= char_count do
local character = characters[i]
local lowered = M.ustring.lower(character)
if character == "e" then
i = i + 1
elseif lowered == "a" or lowered == "i" or lowered == "u" then
vowel_count = vowel_count + 1
if lowered ~= "a" then return false end
vowel_position = #slots
i = i + 1
elseif character == "ʷ" then
i = i + 1
elseif is_inherent_geminate(character) then
table.insert(slots, character)
i = i + 1
else
local next_character = characters[i + 1]
if next_character and should_pair_as_geminate(character, next_character, characters[i + 2]) then
return false
end
table.insert(slots, character)
i = i + 1
end
end
return vowel_count == 1 and #slots == 2 and vowel_position == 1
end
local function cac_with_vowel(stem, new_vowel)
local characters = split_into_characters(stem)
for i, character in ipairs(characters) do
if M.ustring.lower(character) == "a" then
characters[i] = new_vowel
break
end
end
return table.concat(characters)
end
local function is_final_a_verb(stem)
local stem_len = M.ustring.len(stem)
if stem_len < 1 then return false end
return M.ustring.lower(M.ustring.sub(stem, stem_len, stem_len)) == "a"
end
local function final_a_with_vowel(stem, new_vowel)
local stem_len = M.ustring.len(stem)
return M.ustring.sub(stem, 1, stem_len - 1) .. new_vowel
end
local function dental_for(preceding_char)
if is_vowel(preceding_char) then return "ṯ" else return "t" end
end
local function apply_dental(suffix, preceding_char)
local d = dental_for(preceding_char)
return (suffix:gsub("^t", d))
end
local function augment_schwa_indices(augment_len, prefix_len, has_suffix)
if not augment_len then return nil, nil end
if has_suffix then
return nil, prefix_len + 2
end
return prefix_len + 1, nil
end
local function perfect_direct(stem, suffix, insert_i)
if insert_i then
local realized = apply_dental(suffix, "i")
local result = stem .. "i" .. realized
local hyph = realized ~= "" and (stem .. "i-" .. realized) or (stem .. "i")
return result, hyph
end
local stem_last = M.ustring.sub(stem, M.ustring.len(stem), M.ustring.len(stem))
local realized = apply_dental(suffix, stem_last)
local result = stem .. realized
local hyph = realized ~= "" and (stem .. "-" .. realized) or stem
return result, hyph
end
local function perfect_recompute(stem, suffix, protect_len, augment_len)
if suffix == "" and has_geminate_echo(stem) then
return finalize(stem), finalize(stem)
end
local skeleton = strip_schwas(stem)
if is_cC_verb(skeleton) then
skeleton = bare_consonant_skeleton(skeleton)
end
local stem_len = grapheme_len(skeleton)
local vowelless = not stem_has_vowel(stem)
local word = skeleton .. suffix
local skip_index, only_allow_index
if augment_len then
skip_index, only_allow_index = augment_schwa_indices(augment_len, 0, suffix ~= "")
else
skip_index = four_consonant_skip_index(skeleton, 0)
end
local raw, ss, se = insert_schwas(word, protect_len, 0, stem_len, vowelless,
nil, skip_index, only_allow_index)
local result = finalize(raw)
local hyph = hyphenate(raw, 0, ss, se)
return result, hyph
end
-- sg2 and pl2 return two variants as (form, hyphenated, form, hyphenated),
-- via locals: a call in a non-final position of a return list is truncated.
local function conjugate_perfect(stem, person_key, vowel_override, augment_len)
local is_hollow = vowel_override ~= nil and is_cac_verb(stem)
local is_final_a = is_final_a_verb(stem)
local direct_stem = stem
if is_hollow then
direct_stem = cac_with_vowel(stem, vowel_override)
elseif is_final_a then
direct_stem = final_a_with_vowel(stem, "i")
end
local stem_last = M.ustring.sub(direct_stem, M.ustring.len(direct_stem), M.ustring.len(direct_stem))
local skeleton = strip_schwas(stem)
local skeleton_last = M.ustring.sub(skeleton, M.ustring.len(skeleton), M.ustring.len(skeleton))
local after_vowel = is_vowel(skeleton_last)
local is_geminated = is_cC_verb(skeleton)
if person_key == "sg1" then
if is_geminated then
return perfect_direct(direct_stem, "t", true)
end
return perfect_direct(direct_stem, apply_dental("t", stem_last))
elseif person_key == "sg2" then
if is_geminated then
local plain, plain_hyph = perfect_direct(direct_stem, "t", true)
local with_i, with_i_hyph = perfect_direct(direct_stem, "ti", true)
return plain, plain_hyph, with_i, with_i_hyph
end
local d = dental_for(stem_last)
local plain, plain_hyph = perfect_direct(direct_stem, d)
local with_i, with_i_hyph = perfect_direct(direct_stem, d .. "i")
return plain, plain_hyph, with_i, with_i_hyph
elseif person_key == "sg3m" then
return perfect_recompute(stem, "", 0, augment_len)
elseif person_key == "sg3f" then
if after_vowel then
return perfect_recompute(stem, "ṯ", 1, augment_len)
else
return perfect_recompute(stem, "eṯ", 1, augment_len)
end
elseif person_key == "pl1" then
if is_geminated then
return perfect_direct(direct_stem, "na", true)
end
return perfect_direct(direct_stem, "na")
elseif person_key == "pl2" then
if is_geminated then
local long, long_hyph = perfect_direct(direct_stem, "tum", true)
local short, short_hyph = perfect_direct(direct_stem, "tu", true)
return long, long_hyph, short, short_hyph
end
local d = dental_for(stem_last)
local long, long_hyph = perfect_direct(direct_stem, d .. "um")
local short, short_hyph = perfect_direct(direct_stem, d .. "u")
return long, long_hyph, short, short_hyph
elseif person_key == "pl3" then
local suffix = after_vowel and "w" or "u"
local protect = M.ustring.len(suffix)
return perfect_recompute(stem, suffix, protect, augment_len)
end
end
local function fixed_prefix(person_key)
if person_key == "sg1" or person_key == "pl1" then
return "n"
elseif person_key == "sg2" or person_key == "sg3f" or person_key == "pl2" then
return "d"
end
return nil
end
local function conjugate_imperfect(stem, person_key, vowel_override, augment_len)
if vowel_override ~= nil then
if is_cac_verb(stem) then
stem = cac_with_vowel(stem, vowel_override)
elseif is_final_a_verb(stem) then
stem = final_a_with_vowel(stem, vowel_override)
end
end
local has_suffix = (person_key == "pl1" or person_key == "pl2" or person_key == "pl3")
local is_3rd = (person_key == "sg3m" or person_key == "pl3")
if not has_suffix and has_geminate_echo(stem) then
local prefix = is_3rd and (is_vowel(M.ustring.sub(stem, 1, 1)) and "y" or "i") or fixed_prefix(person_key)
return finalize(prefix .. stem), prefix .. "-" .. stem
end
local skeleton = strip_schwas(stem)
local is_geminated = is_cC_verb(skeleton)
local epenthetic_vowel = "e"
if is_geminated then
skeleton = bare_consonant_skeleton(skeleton)
epenthetic_vowel = vowel_override or "u"
end
local stem_len = grapheme_len(skeleton)
local vowelless = not stem_has_vowel(stem)
local suffix, protect_len
if has_suffix then
local sk_last = M.ustring.sub(skeleton, M.ustring.len(skeleton), M.ustring.len(skeleton))
suffix = is_vowel(sk_last) and "w" or "u"
protect_len = M.ustring.len(suffix)
else
suffix = ""
protect_len = 0
end
local prefix, prefix_len, raw, ss, se
if is_3rd then
-- Vowel-initial stems take y-; i- would put two vowels together.
-- Everything else takes i-, whether or not a schwa follows: bɣa
-- gives ibɣi, not yebɣi.
prefix = is_vowel(M.ustring.sub(skeleton, 1, 1)) and "y" or "i"
prefix_len = M.ustring.len(prefix)
local word = prefix .. skeleton .. suffix
local skip_index, only_allow_index
if augment_len then
skip_index, only_allow_index = augment_schwa_indices(augment_len, prefix_len, has_suffix)
else
skip_index = four_consonant_skip_index(skeleton, prefix_len)
end
raw, ss, se = insert_schwas(word, protect_len, prefix_len, stem_len, vowelless,
epenthetic_vowel, skip_index, only_allow_index)
else
prefix = fixed_prefix(person_key)
prefix_len = M.ustring.len(prefix)
local word = prefix .. skeleton .. suffix
local skip_index, only_allow_index
if augment_len then
skip_index, only_allow_index = augment_schwa_indices(augment_len, prefix_len, has_suffix)
else
skip_index = four_consonant_skip_index(skeleton, prefix_len)
end
raw, ss, se = insert_schwas(word, protect_len, prefix_len, stem_len, vowelless,
epenthetic_vowel, skip_index, only_allow_index)
end
local result = finalize(raw)
local hyph = hyphenate(raw, prefix_len, ss, se)
return result, hyph
end
local function imperative_singular(stem, vowel_override, augment_len)
if vowel_override ~= nil then
if is_cac_verb(stem) then
stem = cac_with_vowel(stem, vowel_override)
elseif is_final_a_verb(stem) then
stem = final_a_with_vowel(stem, vowel_override)
end
end
if has_geminate_echo(stem) then
return finalize(stem), finalize(stem)
end
local skeleton = strip_schwas(stem)
local is_geminated = is_cC_verb(skeleton)
local epenthetic_vowel = "e"
if is_geminated then
skeleton = bare_consonant_skeleton(skeleton)
epenthetic_vowel = vowel_override or "u"
end
local stem_len = grapheme_len(skeleton)
local vowelless = not stem_has_vowel(stem)
local skip_index, only_allow_index
if augment_len then
skip_index, only_allow_index = augment_schwa_indices(augment_len, 0, false)
else
skip_index = four_consonant_skip_index(skeleton, 0)
end
local raw, ss, se = insert_schwas(skeleton, 0, 0, stem_len, vowelless, epenthetic_vowel,
skip_index, only_allow_index)
local result = finalize(raw)
local hyph = hyphenate(raw, 0, ss, se)
return result, hyph
end
local function imperative_plural(stem, vowel_override, augment_len)
if vowel_override ~= nil then
if is_cac_verb(stem) then
stem = cac_with_vowel(stem, vowel_override)
elseif is_final_a_verb(stem) then
stem = final_a_with_vowel(stem, vowel_override)
end
end
local skeleton = strip_schwas(stem)
local is_geminated = is_cC_verb(skeleton)
local epenthetic_vowel = "e"
if is_geminated then
skeleton = bare_consonant_skeleton(skeleton)
epenthetic_vowel = vowel_override or "u"
end
local stem_len = grapheme_len(skeleton)
local vowelless = not stem_has_vowel(stem)
local sk_last = M.ustring.sub(skeleton, M.ustring.len(skeleton), M.ustring.len(skeleton))
local suffix = is_vowel(sk_last) and "w" or "u"
local protect_len = M.ustring.len(suffix)
local word = skeleton .. suffix
local skip_index, only_allow_index
if augment_len then
skip_index, only_allow_index = augment_schwa_indices(augment_len, 0, true)
else
skip_index = four_consonant_skip_index(skeleton, 0)
end
local raw, ss, se = insert_schwas(word, protect_len, 0, stem_len, vowelless, epenthetic_vowel,
skip_index, only_allow_index)
local result = finalize(raw)
local hyph = hyphenate(raw, 0, ss, se)
return result, hyph
end
local slot_list = {
{ "perfect_sg1", "1|s|perf" },
{ "perfect_sg2", "2|s|perf" },
{ "perfect_sg3m", "3|m|s|perf" },
{ "perfect_sg3f", "3|f|s|perf" },
{ "perfect_pl1", "1|p|perf" },
{ "perfect_pl2", "2|p|perf" },
{ "perfect_pl3", "3|p|perf" },
{ "imperfect_sg1", "1|s|impf" },
{ "imperfect_sg2", "2|s|impf" },
{ "imperfect_sg3m", "3|m|s|impf" },
{ "imperfect_sg3f", "3|f|s|impf" },
{ "imperfect_pl1", "1|p|impf" },
{ "imperfect_pl2", "2|p|impf" },
{ "imperfect_pl3", "3|p|impf" },
{ "imperative_sg", "s|imp" },
{ "imperative_pl", "p|imp" },
}
local function insert_perfect_forms(forms, stem, person_key, vowel_override, augment_len)
if person_key == "sg2" or person_key == "pl2" then
local r1, h1, r2, h2 = conjugate_perfect(stem, person_key, vowel_override, augment_len)
insert_form_pair(forms, "perfect_" .. person_key, r1, h1)
insert_form_pair(forms, "perfect_" .. person_key, r2, h2)
else
insert_form_pair(forms, "perfect_" .. person_key, conjugate_perfect(stem, person_key, vowel_override, augment_len))
end
end
-- Ordered; first match wins. These carry no derive: the branching on
-- hollow, defective and geminate is inside the stem builders above. Here to
-- name the classes in one place.
local verb_classes = {
{ name = "geminate", matches = function(_h, _d, geminate) return geminate end },
{ name = "hollow", matches = function(hollow) return hollow end },
{ name = "final-a", matches = function(_h, defective) return defective end },
{ name = "sound", matches = function() return true end },
}
local function derive(context)
local accented_perfect = context.accented
local param_1 = context.head or ""
local accented_imperative = context.imp or {}
local augment_len = context.augment_class and AR_AUGMENT_CLASSES[context.augment_class] or nil
local is_hollow = is_cac_verb(accented_perfect)
local is_defective = is_final_a_verb(accented_perfect)
local is_geminate = is_cC_verb(strip_schwas(accented_perfect))
local vowel_override = nil
local imperfect_override = param_1
-- On hollow and final-a verbs the stem slot holds either the vowel of the
-- paradigm or an imperfect stem; on a geminate it holds the vowel that
-- breaks the cluster in the imperfect, u unless the verb says otherwise.
-- Only a bare a/i/u is the vowel.
if (is_hollow or is_defective or is_geminate)
and (param_1 == "a" or param_1 == "i" or param_1 == "u") then
vowel_override = param_1
imperfect_override = ""
end
local accented_imperfect
local skip_imperfect = false
if imperfect_override == "-" then
skip_imperfect = true
accented_imperfect = ""
elseif imperfect_override ~= "" then
accented_imperfect = imperfect_override
else
accented_imperfect = accented_perfect
end
local forms = {}
for _, person_key in ipairs(person_keys) do
insert_perfect_forms(forms, accented_perfect, person_key, vowel_override, augment_len)
end
if accented_imperfect ~= "" and not skip_imperfect then
for _, person_key in ipairs(person_keys) do
insert_form_pair(forms, "imperfect_" .. person_key,
conjugate_imperfect(accented_imperfect, person_key, vowel_override, augment_len))
end
end
local imp_stems, skip_imperative =
imperative_from(accented_imperfect, accented_imperative, skip_imperfect)
if not skip_imperative then
for _, imp_stem in ipairs(imp_stems) do
if imp_stem ~= "" then
insert_form_pair(forms, "imperative_sg", imperative_singular(imp_stem, vowel_override, augment_len))
insert_form_pair(forms, "imperative_pl", imperative_plural(imp_stem, vowel_override, augment_len))
end
end
end
local class = "sound"
for _, candidate in ipairs(verb_classes) do
if candidate.matches(is_hollow, is_defective, is_geminate) then
class = candidate.name
break
end
end
-- A vowel override colours the whole paradigm, an imperfect stem only
-- the imperfect; stem footnotes follow the same split.
return forms, {
class = class,
stem_slot_prefix = vowel_override == nil and "imperfect_" or nil,
}
end
local function citation_lemma_from_forms(forms, fallback)
local perfect_sg3m = forms.perfect_sg3m
if perfect_sg3m and perfect_sg3m[1] and perfect_sg3m[1].form ~= "" then
return perfect_sg3m[1].form
end
if fallback and fallback ~= "" then
return fallback
end
end
local main_rows = [=[
|-
! colspan="2" class="outer" |
! colspan="3" class="outer" | ကိုန်ဨကဝုစ်
! class="separator" rowspan="999" |
! colspan="3" class="outer" | ကိုန်ဗဟုဝစ်
|-
! colspan="2" class="outer" |
! 1<sup>st</sup> person
! 2<sup>nd</sup> person
! 3<sup>rd</sup> person
! 1<sup>st</sup> person
! 2<sup>nd</sup> person
! 3<sup>rd</sup> person
|-
! rowspan="2" class="outer" | မဍိုက်ပေၚ်
! {g_m}
| rowspan="2" | {perfect_sg1}
| rowspan="2" | {perfect_sg2}
| {perfect_sg3m}
| rowspan="2" | {perfect_pl1}
| rowspan="2" | {perfect_pl2}
| rowspan="2" | {perfect_pl3}
|-
! {g_f}
| {perfect_sg3f}
|-
! rowspan="2" class="outer" | ဟွံဍိုက်ပေၚ်
! {g_m}
| rowspan="2" | {imperfect_sg1}
| rowspan="2" | {imperfect_sg2}
| {imperfect_sg3m}
| rowspan="2" | {imperfect_pl1}
| rowspan="2" | {imperfect_pl2}
| rowspan="2" | {imperfect_pl3}
|-
! {g_f}
| {imperfect_sg3f}
|-
! class="separator" colspan="999" |
|-
! rowspan="2" class="outer" | ပါဲဗလေတ်ဟွံဗၠး
! {g_m}
| class="secondary" rowspan="2" |
| rowspan="2" | {imperative_sg}
| class="secondary" rowspan="2" |
| class="secondary" rowspan="2" |
| rowspan="2" | {imperative_pl}
| class="secondary" rowspan="2" |
|-
! {g_f}
]=]
local function make_table(forms, notes, helpers)
return helpers.make_top{ title = "-", palette = "red" }
.. helpers.format_rows(main_rows, forms)
.. helpers.make_bottom{ notes = notes }
end
PARADIGMS.ar = {
code = "ar",
label = "Arabic-morphology",
category = " ",
appendix = ":en:Appendix:Ghomara verbs#Arabic-morphology verbs",
slot_list = slot_list,
derive = derive,
citation_lemma_from_forms = citation_lemma_from_forms,
make_table = make_table,
}
end
do --[==[ Berber morphology ]==]
local function replace_all_vowel(stem, from_vowel, to_vowel)
return (M.ustring.gsub(stem, from_vowel, to_vowel))
end
local function has_full_vowel(stem)
for _, character in ipairs(split_into_characters(stem)) do
local lowered = M.ustring.lower(character)
if lowered == "a" or lowered == "i" or lowered == "u" then
return true
end
end
return false
end
local function is_cc_verb(aorist_stem)
return not has_full_vowel(aorist_stem) and #get_consonant_slots(aorist_stem) == 2
end
local function is_C_verb(aorist_stem)
return not has_full_vowel(aorist_stem) and #get_consonant_slots(aorist_stem) == 1
end
local function strip_labialization(stem)
return (M.ustring.gsub(stem, "ʷ", ""))
end
local function final_schwa_glide(stem)
local stem_len = M.ustring.len(stem)
if stem_len < 2 then return nil end
local last_char = M.ustring.sub(stem, stem_len, stem_len)
local prev_char = M.ustring.sub(stem, stem_len - 1, stem_len - 1)
if prev_char == "e" and (last_char == "w" or last_char == "y") then return last_char end
return nil
end
local function citation_schwa_before_final_slot(stem)
local characters = split_into_characters(stem)
local char_count = #characters
local last_e_seen = false
local slot_count = 0
local i = 1
while i <= char_count do
local character = characters[i]
if character == "e" then
last_e_seen = true
i = i + 1
elseif is_vowel(character) then
last_e_seen = false
i = i + 1
elseif character == "ʷ" then
i = i + 1
elseif is_inherent_geminate(character) then
slot_count = slot_count + 1
if slot_count == 2 then return last_e_seen end
last_e_seen = false
i = i + 1
else
local next_character = characters[i + 1]
if next_character and should_pair_as_geminate(character, next_character, characters[i + 2]) then
slot_count = slot_count + 1
if slot_count == 2 then return last_e_seen end
last_e_seen = false
i = i + 2
else
slot_count = slot_count + 1
if slot_count == 2 then return last_e_seen end
last_e_seen = false
i = i + 1
end
end
end
return false
end
local function perfective_stem_data_by_type(aorist_stem, verb_type)
if verb_type == 3 then
local stem = strip_labialization(aorist_stem)
return { unsuffixed_stem = stem, suffixed_stem = stem, dual_participle = true }
end
local slots = get_consonant_slots(aorist_stem)
local bare_parts = {}
for _, slot in ipairs(slots) do
table.insert(bare_parts, strip_labialization(slot))
end
local bare = table.concat(bare_parts)
local with_a = bare .. "a"
local unsuffixed_bare = bare
local keeps_schwa = final_schwa_glide(aorist_stem) or citation_schwa_before_final_slot(aorist_stem)
if keeps_schwa then
bare_parts[#bare_parts] = "e" .. bare_parts[#bare_parts]
unsuffixed_bare = table.concat(bare_parts)
end
if verb_type == 1 then
return { unsuffixed_stem = with_a, suffixed_stem = with_a, dual_participle = false }
else
return { unsuffixed_stem = unsuffixed_bare, suffixed_stem = with_a, dual_participle = false }
end
end
local function shape_slots(stem)
local characters = split_into_characters(stem)
local char_count = #characters
local slots = {}
local i = 1
while i <= char_count do
local character = characters[i]
local lowered = M.ustring.lower(character)
if character == "e" then
i = i + 1
elseif lowered == "a" or lowered == "i" or lowered == "u" then
table.insert(slots, { kind = "vowel", text = lowered })
i = i + 1
elseif character == "ʷ" then
if #slots > 0 then
slots[#slots].text = slots[#slots].text .. "ʷ"
end
i = i + 1
elseif is_inherent_geminate(character) then
table.insert(slots, { kind = "cons", text = character })
i = i + 1
else
local next_character = characters[i + 1]
if next_character and should_pair_as_geminate(character, next_character, characters[i + 2]) then
table.insert(slots, { kind = "cons", text = character .. next_character })
i = i + 2
else
table.insert(slots, { kind = "cons", text = character })
i = i + 1
end
end
end
return slots
end
local function shape_pattern_string(slots)
local parts = {}
for _, slot in ipairs(slots) do
if slot.kind == "vowel" then
table.insert(parts, slot.text)
elseif M.ustring.len(slot.text:gsub("ʷ", "")) > 1 then
table.insert(parts, "C")
else
table.insert(parts, "c")
end
end
return table.concat(parts)
end
local function shape_matches(aorist_stem, pattern)
return shape_pattern_string(shape_slots(aorist_stem)) == pattern
end
local function swap_vowel_slot_to_a(aorist_stem, vowel_index)
local characters = split_into_characters(aorist_stem)
local seen_vowels = 0
for i, character in ipairs(characters) do
local lowered = M.ustring.lower(character)
if lowered == "a" or lowered == "i" or lowered == "u" then
seen_vowels = seen_vowels + 1
if seen_vowels == vowel_index then
characters[i] = "a"
end
end
end
return table.concat(characters)
end
local function swap_middle_vowel_to_a(aorist_stem)
return swap_vowel_slot_to_a(aorist_stem, 1)
end
local function swapped_middle_vowel_perfective(aorist_stem)
return { swap_middle_vowel_to_a(aorist_stem) }
end
local function caci_perfective_stems(aorist_stem)
return { swap_vowel_slot_to_a(aorist_stem, 2) }
end
local function ss_causative_perfective_stems(aorist_stem)
if M.ustring.find(aorist_stem, "u", 1, true) or M.ustring.find(aorist_stem, "i", 1, true) then
local swapped = replace_all_vowel(aorist_stem, "u", "a")
swapped = replace_all_vowel(swapped, "i", "a")
return { swapped }
end
return nil
end
local function first_vowel_or_schwa(stem)
for _, character in ipairs(split_into_characters(stem)) do
local lowered = M.ustring.lower(character)
if lowered == "a" or lowered == "e" or lowered == "i" or lowered == "u" then
return lowered
end
end
return nil
end
local function is_causative_initial_u(stem, is_causative)
return is_causative == true and first_vowel_or_schwa(stem) == "u"
end
local function causative_echo_stem(stem)
local characters = split_into_characters(stem)
for i = #characters, 1, -1 do
if characters[i] == "e" then
characters[i] = "u"
break
end
end
return table.concat(characters)
end
local aorist_unsuffixed_persons = { sg3m = true, sg3f = true, pl1 = true }
local function expand_stem(stem, has_suffix)
if M.ustring.find(stem, "i/a", 1, true) then
if has_suffix then
return (M.ustring.gsub(stem, "i/a", "i"))
else
return (M.ustring.gsub(stem, "i/a", "a"))
end
end
return stem
end
local function vocalize_final_glide(word)
local word_len = M.ustring.len(word)
if word_len < 1 then return word end
local last_char = M.ustring.sub(word, word_len, word_len)
if last_char == "w" then
return M.ustring.sub(word, 1, word_len - 1) .. "u"
elseif last_char == "y" then
return M.ustring.sub(word, 1, word_len - 1) .. "i"
end
return word
end
local slot_list = {
{ "aorist_sg1", "1|s|aor" },
{ "aorist_sg2", "2|s|aor" },
{ "aorist_sg3m", "3|m|s|aor" },
{ "aorist_sg3f", "3|f|s|aor" },
{ "aorist_pl1", "1|p|aor" },
{ "aorist_pl2", "2|p|aor" },
{ "aorist_pl3", "3|p|aor" },
{ "aorist_participle", "aor|part" },
{ "imperative_sg", "s|imp" },
{ "imperative_pl", "p|imp" },
{ "perfective_sg1", "1|s|pfv" },
{ "perfective_sg2", "2|s|pfv" },
{ "perfective_sg3m", "3|m|s|pfv" },
{ "perfective_sg3f", "3|f|s|pfv" },
{ "perfective_pl1", "1|p|pfv" },
{ "perfective_pl2", "2|p|pfv" },
{ "perfective_pl3", "3|p|pfv" },
{ "perfective_participle", "pfv|part" },
{ "imperfective_sg1", "1|s|impfv" },
{ "imperfective_sg2", "2|s|impfv" },
{ "imperfective_sg3m", "3|m|s|impfv" },
{ "imperfective_sg3f", "3|f|s|impfv" },
{ "imperfective_pl1", "1|p|impfv" },
{ "imperfective_pl2", "2|p|impfv" },
{ "imperfective_pl3", "3|p|impfv" },
{ "imperfective_participle", "impfv|part" },
{ "inj", "inj" },
}
local person_affixes = {
sg1 = { prefix = "", suffix = "x" },
sg2 = { prefix = "t", suffix = "t" },
sg3m = { prefix = "y", suffix = "" },
sg3f = { prefix = "t", suffix = "" },
pl1 = { prefix = "n", suffix = "" },
pl2 = { prefix = "t", suffix = "m" },
pl3 = { prefix = "", suffix = "n" },
}
local function conjugate(stem, person_key)
local person = person_affixes[person_key]
stem = expand_stem(stem, M.ustring.len(person.suffix) > 0)
local final_glide = final_schwa_glide(stem)
local skeleton = strip_schwas(stem)
local prefix = person.prefix
if person_key == "sg3m" then
local first_char = M.ustring.sub(skeleton, 1, 1)
if is_vowel(first_char) then
prefix = "y"
else
prefix = "i"
end
end
local suffix = person.suffix
if suffix == "" and has_geminate_echo(stem) then
local result = finalize(prefix .. stem)
local hyphenated = prefix .. "-" .. stem
if final_glide then
result = vocalize_final_glide(result)
hyphenated = vocalize_final_glide(hyphenated)
end
return result, hyphenated
end
local suffix_len = M.ustring.len(suffix)
local prefix_len = M.ustring.len(prefix)
local stem_chars = split_into_characters(stem)
local stem_char_count = #stem_chars
local effective_stem_char_count = stem_char_count
if stem_chars[effective_stem_char_count] == "ʷ" then
effective_stem_char_count = effective_stem_char_count - 1
end
local ends_with_e_between_consonants = (effective_stem_char_count >= 3
and stem_chars[effective_stem_char_count - 2] == "e"
and not is_vowel(stem_chars[effective_stem_char_count - 1])
and not is_vowel(stem_chars[effective_stem_char_count]))
local protect_suffix_len = suffix_len
if ends_with_e_between_consonants and suffix_len == 0 then protect_suffix_len = 2 end
local prefixed_form = prefix .. skeleton .. suffix
local stem_len = grapheme_len(skeleton)
local has_vowel = stem_has_vowel(stem)
local vowelless_stem = not has_vowel
local with_schwas, stem_start, stem_end = insert_schwas(prefixed_form, protect_suffix_len, prefix_len, stem_len,
vowelless_stem, nil, four_consonant_skip_index(skeleton, prefix_len))
local result = finalize(with_schwas)
local hyphenated = hyphenate(with_schwas, prefix_len, stem_start, stem_end)
if final_glide and suffix == "" then
result = vocalize_final_glide(result)
hyphenated = vocalize_final_glide(hyphenated)
end
return result, hyphenated
end
local function participle(stem)
stem = expand_stem(stem, true)
local skeleton = strip_schwas(stem)
local first_char = M.ustring.sub(skeleton, 1, 1)
local prefix = is_vowel(first_char) and "y" or "i"
local participle_form = prefix .. skeleton .. "n"
local stem_len = grapheme_len(skeleton)
local has_vowel = stem_has_vowel(stem)
local vowelless_stem = not has_vowel
local with_schwas, stem_start, stem_end = insert_schwas(participle_form, 1, 1, stem_len, vowelless_stem,
nil, four_consonant_skip_index(skeleton, 1))
return finalize(with_schwas), hyphenate(with_schwas, 1, stem_start, stem_end)
end
local function participle_dual(stem)
stem = expand_stem(stem, true)
local skeleton = strip_schwas(stem)
local first_char = M.ustring.sub(skeleton, 1, 1)
local prefix = is_vowel(first_char) and "y" or "i"
local stem_len = grapheme_len(skeleton)
local has_vowel = stem_has_vowel(stem)
local vowelless_stem = not has_vowel
local en_raw, en_start, en_end = insert_schwas(prefix .. skeleton .. "en", 2, 1, stem_len, vowelless_stem,
nil, four_consonant_skip_index(skeleton, 1))
local an_raw, an_start, an_end = insert_schwas(prefix .. skeleton .. "an", 2, 1, stem_len, vowelless_stem,
nil, four_consonant_skip_index(skeleton, 1))
local with_en, with_en_hyph = finalize(en_raw), hyphenate(en_raw, 1, en_start, en_end)
local with_an, with_an_hyph = finalize(an_raw), hyphenate(an_raw, 1, an_start, an_end)
return with_en, with_en_hyph, with_an, with_an_hyph
end
local function imperative_singular(stem)
local final_glide = final_schwa_glide(stem)
stem = expand_stem(stem, false)
if has_geminate_echo(stem) then
local result = finalize(stem)
local hyphenated = finalize(stem)
if final_glide then
result = vocalize_final_glide(result)
hyphenated = vocalize_final_glide(hyphenated)
end
return result, hyphenated
end
local skeleton = strip_schwas(stem)
local stem_chars = split_into_characters(stem)
local stem_char_count = #stem_chars
local effective_stem_char_count = stem_char_count
if stem_chars[effective_stem_char_count] == "ʷ" then
effective_stem_char_count = effective_stem_char_count - 1
end
local ends_with_e_between_consonants = (effective_stem_char_count >= 3
and stem_chars[effective_stem_char_count - 2] == "e"
and not is_vowel(stem_chars[effective_stem_char_count - 1])
and not is_vowel(stem_chars[effective_stem_char_count]))
local protect_suffix_len = ends_with_e_between_consonants and 2 or 0
local stem_len = grapheme_len(skeleton)
local has_vowel = stem_has_vowel(stem)
local vowelless_stem = not has_vowel
local raw, stem_start, stem_end = insert_schwas(skeleton, protect_suffix_len, 0, stem_len, vowelless_stem,
nil, four_consonant_skip_index(skeleton, 0))
local result = finalize(raw)
local hyphenated = hyphenate(raw, 0, stem_start, stem_end)
if final_glide then
result = vocalize_final_glide(result)
hyphenated = vocalize_final_glide(hyphenated)
end
return result, hyphenated
end
local function assimilate_before_suffix(skeleton)
local len = M.ustring.len(skeleton)
if len == 0 then return skeleton end
local last = M.ustring.sub(skeleton, len, len)
if last == "i" then
return M.ustring.sub(skeleton, 1, len - 1) .. "y"
elseif last == "u" then
return M.ustring.sub(skeleton, 1, len - 1) .. "w"
elseif last == "a" then
return M.ustring.sub(skeleton, 1, len - 1)
end
return skeleton
end
-- Builds the -awet and -at variants. The imperative plural and the
-- injunctive differ only in the n- prefix.
local function suffixed_pair(stem, prefix)
stem = expand_stem(stem, true)
local skeleton = strip_schwas(stem)
local vowelless_stem = not stem_has_vowel(stem)
local assimilated = assimilate_before_suffix(skeleton)
local prefix_len = M.ustring.len(prefix)
local stem_len = grapheme_len(assimilated)
local awet_raw, awet_start, awet_end =
insert_schwas(prefix .. assimilated .. "awet", 4, prefix_len, stem_len,
vowelless_stem, nil, four_consonant_skip_index(assimilated, prefix_len))
local at_raw, at_start, at_end =
insert_schwas(prefix .. assimilated .. "at", 2, prefix_len, stem_len,
vowelless_stem, nil, four_consonant_skip_index(assimilated, prefix_len))
local with_awet, with_awet_hyph = finalize(awet_raw), hyphenate(awet_raw, prefix_len, awet_start, awet_end)
local with_at, with_at_hyph = finalize(at_raw), hyphenate(at_raw, prefix_len, at_start, at_end)
with_awet_hyph = with_awet_hyph:gsub("t$", "ṯ")
with_at_hyph = with_at_hyph:gsub("t$", "ṯ")
return with_awet, with_awet_hyph, with_at, with_at_hyph
end
local function imperative_plural(stem)
return suffixed_pair(stem, "")
end
local function injunctive(stem)
return suffixed_pair(stem, "n")
end
local function insert_perfective_forms_by_type(forms, aorist_stem, verb_types, person_keys)
for _, verb_type in ipairs(verb_types) do
local stem_data = perfective_stem_data_by_type(aorist_stem, verb_type)
for _, person_key in ipairs(person_keys) do
local has_suffix = person_affixes[person_key].suffix ~= ""
local stem = has_suffix and stem_data.suffixed_stem or stem_data.unsuffixed_stem
insert_form_pair(forms, "perfective_" .. person_key, conjugate(stem, person_key))
end
if stem_data.dual_participle then
local with_en, with_en_hyph, with_an, with_an_hyph = participle_dual(stem_data.unsuffixed_stem)
insert_form_pair(forms, "perfective_participle", with_en, with_en_hyph)
insert_form_pair(forms, "perfective_participle", with_an, with_an_hyph)
else
insert_form_pair(forms, "perfective_participle", participle(stem_data.suffixed_stem))
end
end
end
local function insert_literal_perfective_forms(forms, stems, person_keys)
for _, stem in ipairs(stems) do
local delabialized_stem = strip_labialization(stem)
for _, person_key in ipairs(person_keys) do
insert_form_pair(forms, "perfective_" .. person_key, conjugate(delabialized_stem, person_key))
end
insert_form_pair(forms, "perfective_participle", participle(delabialized_stem))
end
end
-- Ordered; first match wins. One block per class: what it matches and what
-- perfective it builds.
local verb_classes = {}
table.insert(verb_classes, {
name = "ss-causative",
matches = function(aorist_stem, is_causative)
return is_causative == true
end,
-- A causative with u or i swaps them for a; with neither, the
-- perfective is the aorist unchanged.
derive = function(aorist_stem, person_keys, forms)
insert_literal_perfective_forms(forms,
ss_causative_perfective_stems(aorist_stem) or { aorist_stem },
person_keys)
end,
})
do
local function is_a_initial_verb(aorist_stem)
return M.ustring.sub(aorist_stem, 1, 1) == "a"
end
-- The a becomes u. A verb that keeps it, or varies, says so with .perf:.
local function a_initial_perfective_stems(aorist_stem)
return { "u" .. M.ustring.sub(aorist_stem, 2) }
end
table.insert(verb_classes, {
name = "a-initial",
matches = function(aorist_stem)
return is_a_initial_verb(aorist_stem)
end,
derive = function(aorist_stem, person_keys, forms)
insert_literal_perfective_forms(forms, a_initial_perfective_stems(aorist_stem), person_keys)
end,
})
end
table.insert(verb_classes, {
name = "cic",
matches = function(aorist_stem)
return shape_matches(aorist_stem, "cic")
end,
derive = function(aorist_stem, person_keys, forms)
insert_literal_perfective_forms(forms, swapped_middle_vowel_perfective(aorist_stem), person_keys)
end,
})
do
local function cicc_perfective_stems(aorist_stem)
return { aorist_stem }
end
table.insert(verb_classes, {
name = "cicc",
matches = function(aorist_stem)
return shape_matches(aorist_stem, "cicc")
end,
derive = function(aorist_stem, person_keys, forms)
insert_literal_perfective_forms(forms, cicc_perfective_stems(aorist_stem), person_keys)
end,
})
end
do
local function ccic_perfective_stems(aorist_stem)
return { aorist_stem }
end
table.insert(verb_classes, {
name = "ccic",
matches = function(aorist_stem)
return shape_matches(aorist_stem, "ccic")
end,
derive = function(aorist_stem, person_keys, forms)
insert_literal_perfective_forms(forms, ccic_perfective_stems(aorist_stem), person_keys)
end,
})
end
do
local function cuc_perfective_stems(aorist_stem)
return { swap_middle_vowel_to_a(aorist_stem), aorist_stem }
end
table.insert(verb_classes, {
name = "cuc",
matches = function(aorist_stem)
return shape_matches(aorist_stem, "cuc")
end,
derive = function(aorist_stem, person_keys, forms)
insert_literal_perfective_forms(forms, cuc_perfective_stems(aorist_stem), person_keys)
end,
})
end
do
local function ccuc_perfective_stems(aorist_stem)
return { aorist_stem }
end
table.insert(verb_classes, {
-- Matches the geminate-initial shape Cuc, despite the name.
name = "ccuc",
matches = function(aorist_stem)
return shape_matches(aorist_stem, "Cuc")
end,
derive = function(aorist_stem, person_keys, forms)
insert_literal_perfective_forms(forms, ccuc_perfective_stems(aorist_stem), person_keys)
end,
})
end
table.insert(verb_classes, {
name = "ccu",
matches = function(aorist_stem)
return shape_matches(aorist_stem, "ccu")
end,
derive = function(aorist_stem, person_keys, forms)
insert_literal_perfective_forms(forms, swapped_middle_vowel_perfective(aorist_stem), person_keys)
end,
})
do
local function cu_perfective_stems(aorist_stem)
return { swap_middle_vowel_to_a(aorist_stem) }
end
table.insert(verb_classes, {
name = "Cu",
matches = function(aorist_stem)
return shape_matches(aorist_stem, "Cu")
end,
derive = function(aorist_stem, person_keys, forms)
insert_literal_perfective_forms(forms, cu_perfective_stems(aorist_stem), person_keys)
end,
})
end
do
local function cci_geminate_perfective_stems(aorist_stem)
return { swap_middle_vowel_to_a(aorist_stem) }
end
table.insert(verb_classes, {
name = "cCi",
matches = function(aorist_stem)
return shape_matches(aorist_stem, "cCi")
end,
derive = function(aorist_stem, person_keys, forms)
insert_literal_perfective_forms(forms, cci_geminate_perfective_stems(aorist_stem), person_keys)
end,
})
end
do
local function cci_perfective_stems(aorist_stem)
return { aorist_stem }
end
table.insert(verb_classes, {
name = "cci",
matches = function(aorist_stem)
return shape_matches(aorist_stem, "cci")
end,
derive = function(aorist_stem, person_keys, forms)
insert_literal_perfective_forms(forms, cci_perfective_stems(aorist_stem), person_keys)
end,
})
end
table.insert(verb_classes, {
name = "caci",
matches = function(aorist_stem)
return shape_matches(aorist_stem, "caci")
end,
derive = function(aorist_stem, person_keys, forms)
insert_literal_perfective_forms(forms, caci_perfective_stems(aorist_stem), person_keys)
end,
})
table.insert(verb_classes, {
-- nes is type 2 and meḏ type 3 on the same skeleton, so the shape
-- cannot pick: a cc verb joins this class only once .type: says
-- which. A C shape defaults to type 2.
name = "cc/C",
matches = function(aorist_stem, _is_causative, stated_types)
if is_cc_verb(aorist_stem) then
return stated_types ~= nil and #stated_types > 0
end
return is_C_verb(aorist_stem)
end,
derive = function(aorist_stem, person_keys, forms, stated_types)
local verb_types = stated_types
if not verb_types or #verb_types == 0 then verb_types = { 2 } end
insert_perfective_forms_by_type(forms, aorist_stem, verb_types, person_keys)
end,
})
local function derive(context)
local accented_aorist = context.accented
local accented_imperfective = context.head or ""
local accented_imperative = context.imp or {}
local is_causative = context.caus or page_facts(context.pagename).causative
local forms = {}
local stated_perfective = context.perf
local matched_class = nil
for _, class in ipairs(verb_classes) do
if class.matches(accented_aorist, is_causative, context.types) then
matched_class = class
break
end
end
if stated_perfective then
-- .perf: replaces the class's perfective derivation, not the class:
-- the table and the category still come from the match.
insert_literal_perfective_forms(forms, stated_perfective, person_keys)
elseif matched_class then
matched_class.derive(accented_aorist, person_keys, forms, context.types)
else
local delabialized_stem = strip_labialization(accented_aorist)
for _, person_key in ipairs(person_keys) do
insert_form_pair(forms, "perfective_" .. person_key, conjugate(delabialized_stem, person_key))
end
insert_form_pair(forms, "perfective_participle", participle(delabialized_stem))
end
local stems = {
{ name = "aorist", stem = accented_aorist },
{ name = "imperfective", stem = accented_imperfective },
}
for _, stem_entry in ipairs(stems) do
if stem_entry.stem ~= "" then
local use_echo = stem_entry.name == "aorist"
and is_causative_initial_u(stem_entry.stem, is_causative)
local echo_stem = use_echo and causative_echo_stem(stem_entry.stem) or nil
for _, person_key in ipairs(person_keys) do
local stem_for_person = stem_entry.stem
if use_echo and aorist_unsuffixed_persons[person_key] then
stem_for_person = echo_stem
end
insert_form_pair(forms, stem_entry.name .. "_" .. person_key,
conjugate(stem_for_person, person_key))
end
insert_form_pair(forms, stem_entry.name .. "_participle", participle(stem_entry.stem))
end
end
local imp_stems, skip_imperative =
imperative_from(accented_aorist, accented_imperative, false)
if accented_aorist ~= "" and not skip_imperative then
for _, imp_stem in ipairs(imp_stems) do
insert_form_pair(forms, "imperative_sg", imperative_singular(imp_stem))
local imp_pl_awet, imp_pl_awet_hyph, imp_pl_at, imp_pl_at_hyph = imperative_plural(imp_stem)
insert_form_pair(forms, "imperative_pl", imp_pl_awet, imp_pl_awet_hyph)
insert_form_pair(forms, "imperative_pl", imp_pl_at, imp_pl_at_hyph)
end
end
if accented_aorist ~= "" then
local inj_awet, inj_awet_hyph, inj_at, inj_at_hyph = injunctive(accented_aorist)
insert_form_pair(forms, "inj", inj_awet, inj_awet_hyph)
insert_form_pair(forms, "inj", inj_at, inj_at_hyph)
end
local class = matched_class and matched_class.name or "default"
local class_desc = class
if matched_class and matched_class.name == "cc/C" then
local types = context.types
if types and #types > 0 then
class_desc = ("cc/C type %s"):format(table.concat(types, ", "))
end
end
return forms, {
class = class,
class_desc = class_desc,
stem_slot_prefix = "imperfective_",
}
end
-- The imperative singular is the citation form, but only where the module
-- derived it. A verb whose imperative is suppletive states it, and stating
-- it is not evidence about the lemma: ddu takes ndu and stays ddu.
local function citation_lemma_from_forms(forms, fallback, imperative_stated)
local imperative_sg = forms.imperative_sg
if not imperative_stated
and imperative_sg and imperative_sg[1] and imperative_sg[1].form ~= "" then
return imperative_sg[1].form
end
if fallback and fallback ~= "" then
return fallback
end
end
local participle_rows = [=[
! colspan="2" class="outer" |
! class="outer" | အဝ်ရေတ်
! class="outer" | မဍိုက်ပေၚ်
! class="outer" | ဟွံဍိုက်ပေၚ်
|-
! colspan="2" class="outer" | လုပ်ကၠောန်စွံလဝ်
| {aorist_participle}
| {perfective_participle}
| {imperfective_participle}
]=]
local main_rows = [=[
|-
! colspan="2" class="outer" |
! colspan="3" class="outer" | ကိုန်ဨကဝုစ်
! class="separator" rowspan="999" |
! colspan="3" class="outer" | ကိုန်ဗဟုဝစ်
|-
! colspan="2" class="outer" |
! 1<sup>st</sup> person
! 2<sup>nd</sup> person
! 3<sup>rd</sup> person
! 1<sup>st</sup> person
! 2<sup>nd</sup> person
! 3<sup>rd</sup> person
|-
! rowspan="2" class="outer" | အဝ်ရေတ်
! {g_m}
| rowspan="2" | {aorist_sg1}
| rowspan="2" | {aorist_sg2}
| {aorist_sg3m}
| rowspan="2" | {aorist_pl1}
| rowspan="2" | {aorist_pl2}
| rowspan="2" | {aorist_pl3}
|-
! {g_f}
| {aorist_sg3f}
|-
! rowspan="2" class="outer" | မဍိုက်ပေၚ်
! {g_m}
| rowspan="2" | {perfective_sg1}
| rowspan="2" | {perfective_sg2}
| {perfective_sg3m}
| rowspan="2" | {perfective_pl1}
| rowspan="2" | {perfective_pl2}
| rowspan="2" | {perfective_pl3}
|-
! {g_f}
| {perfective_sg3f}
|-
! rowspan="2" class="outer" | ဟွံဍိုက်ပေၚ်
! {g_m}
| rowspan="2" | {imperfective_sg1}
| rowspan="2" | {imperfective_sg2}
| {imperfective_sg3m}
| rowspan="2" | {imperfective_pl1}
| rowspan="2" | {imperfective_pl2}
| rowspan="2" | {imperfective_pl3}
|-
! {g_f}
| {imperfective_sg3f}
|-
! class="separator" colspan="999" |
|-
! rowspan="2" class="outer" | ပါဲဗလေတ်ဟွံဗၠး
! {g_m}
| class="secondary" rowspan="2" |
| rowspan="2" | {imperative_sg}
| class="secondary" rowspan="2" |
| class="secondary" rowspan="2" |
| rowspan="2" | {imperative_pl}
| class="secondary" rowspan="2" |
|-
! {g_f}
|-
! class="separator" colspan="999" |
|-
! rowspan="2" class="outer" | ပရေၚ်အသံ
! {g_m}
| class="secondary" rowspan="2" |
| class="secondary" rowspan="2" |
| class="secondary" rowspan="2" |
| rowspan="2" | {inj}
| class="secondary" rowspan="2" |
| class="secondary" rowspan="2" |
|-
! {g_f}
]=]
local function make_table(forms, notes, helpers)
local function table_top()
return helpers.make_top{ title = "-", palette = "red" }
end
return table_top()
.. helpers.format_rows(participle_rows, forms)
.. helpers.make_bottom{}
.. table_top()
.. helpers.format_rows(main_rows, forms)
.. helpers.make_bottom{ notes = notes }
end
PARADIGMS.ber = {
code = "ber",
label = "Berber-morphology",
category = " ",
appendix = ":en:Appendix:Ghomara verbs#Berber-morphology verbs",
slot_list = slot_list,
derive = derive,
citation_lemma_from_forms = citation_lemma_from_forms,
make_table = make_table,
}
end
--[==[ The spec's named fields
`where` is the text of the error a field gets on a verb it does not apply
to; `applies` decides. Rejected outright, as Module:parameters rejects an
unknown parameter.
`applies` takes the paradigm code and the class. The class is not known
until an engine has derived, so a field that turns on it is checked in the
second pass, in get_forms.
]==]
local INDICATORS = {
["imp"] = { value = true,
where = "any verb; the imperative is otherwise built from the stem",
applies = function() return true end },
-- Where a verb's class cannot derive its perfective stem, the spec says it.
["perf"] = { value = true,
where = "a Berber-morphology verb",
applies = function(code) return code == "ber" end },
["type"] = { value = true,
where = "a Berber-morphology verb of cc or C shape",
applies = function(code) return code == "ber" end },
["caus"] = { flag = true,
where = "a Berber-morphology verb",
-- Arabic has no causative stem for the flag to force.
applies = function(code) return code == "ber" end },
}
--[==[ Spec parsing ]==]
local ESCAPED_COMMA = "\1"
local ESCAPED_PERIOD = "\2"
local function split_groups(segments, splitchar)
for i, segment in ipairs(segments) do
segment = segment:gsub("\\,", ESCAPED_COMMA)
segments[i] = segment:gsub("\\%.", ESCAPED_PERIOD)
end
local groups = M.put.split_alternating_runs_and_strip_spaces(segments, splitchar)
for _, group in ipairs(groups) do
for i, segment in ipairs(group) do
segment = segment:gsub(ESCAPED_COMMA, ",")
group[i] = segment:gsub(ESCAPED_PERIOD, ".")
end
end
return groups
end
-- Bracketed footnotes trailing a group, e.g. the {"[rare]", ""} in
-- {"ttaddu", "[rare]", ""}.
local function fetch_footnotes(group, parse_err)
local footnotes
for i = 2, #group - 1, 2 do
if group[i + 1] ~= "" then
parse_err("Extraneous text after bracketed footnotes: '" .. table.concat(group) .. "'")
end
footnotes = footnotes or {}
table.insert(footnotes, group[i])
end
return footnotes
end
local function slot_set_for(paradigm)
if not paradigm.slot_set then
local slots = {}
for _, pair in ipairs(paradigm.slot_list) do
slots[pair[1]] = true
end
paradigm.slot_set = slots
end
return paradigm.slot_set
end
local function slot_list_for_err(paradigm)
local names = {}
for _, pair in ipairs(paradigm.slot_list) do
table.insert(names, "'" .. pair[1] .. "'")
end
return table.concat(names, ", ")
end
-- SLOT[+SLOT2]:VALUE[:VALUE2], each value optionally carrying footnotes. A
-- single value of "-" deletes the slot.
local function parse_override(group, paradigm, parse_err)
local colon_groups = M.put.split_alternating_runs_and_strip_spaces(group, ":")
if colon_groups[1][2] then
parse_err(("Footnotes not allowed directly on slot override '%s'; put them on the value after the colon")
:format(colon_groups[1][1]))
end
if not colon_groups[2] then
parse_err(("Slot override '%s' needs a value"):format(colon_groups[1][1]))
end
local slots = {}
local valid = slot_set_for(paradigm)
for slot in colon_groups[1][1]:gmatch("[^+]+") do
if not valid[slot] then
parse_err(("Unrecognized slot '%s' in override; %s has %s")
:format(slot, paradigm.code, slot_list_for_err(paradigm)))
end
table.insert(slots, slot)
end
local specs = {}
for i = 2, #colon_groups do
local value = colon_groups[i][1]
if value == "" then
parse_err(("Empty value in slot override '%s'"):format(table.concat(group)))
end
table.insert(specs, { form = value, footnotes = fetch_footnotes(colon_groups[i], parse_err) })
end
return slots, specs
end
local function parse_spec(spec, pagename)
if type(spec) ~= "string" or spec == "" then
error("Missing inflection spec as the first parameter")
end
-- Angle brackets are optional: there is no lemma text for them to delimit,
-- since the lemma comes from the page name.
local inner = spec
if spec:find("^<") or spec:find(">$") then
inner = spec:match("^<(.*)>$")
if not inner then
error("Unbalanced angle brackets in inflection spec: " .. spec)
end
end
local function parse_err(msg)
error(msg .. ": <" .. inner .. ">")
end
local groups = split_groups(M.put.parse_balanced_segment_run(inner, "[", "]"), "%.")
if not groups[1] or groups[1][1] == "" and not groups[1][2] then
parse_err("Empty inflection spec")
end
local head_group = M.put.split_alternating_runs_and_strip_spaces(groups[1], ":")
local code = head_group[1][1]
if head_group[1][2] then
parse_err(("Footnotes not allowed on the paradigm '%s'; put them on the head or use addnote"):format(code))
end
-- Several stems are written the way slot overrides write their variants,
-- <ber:ttuṯu:ttiṯu>, and each carries its own footnotes.
local heads = {}
for index = 2, #head_group do
local value = head_group[index][1]
if value == "" then
parse_err("Empty head value")
end
table.insert(heads, {
form = value,
footnotes = fetch_footnotes(head_group[index], parse_err),
})
end
-- {{gho-conj|ar:VII}} etc.: the augment class is written where a stem
-- override normally goes, but it isn't one -- it never feeds a stem, only
-- schwa placement. Recognized only as the first head and only when it
-- carries no footnotes of its own (a footnoted "VII" is presumably an
-- actual, if unlikely, stem spelling someone means literally).
local augment_class = nil
if code == "ar" and heads[1] and not heads[1].footnotes and AR_AUGMENT_CLASSES[heads[1].form] then
augment_class = heads[1].form
table.remove(heads, 1)
end
local parsed = {
code = code,
heads = heads,
-- What wants a single head reads the first stem.
head = heads[1] and heads[1].form or "",
head_footnotes = heads[1] and heads[1].footnotes or nil,
augment_class = augment_class,
fields = {},
field_values = {},
seen_fields = {},
overrides = {},
addnotes = {},
footnotes = nil,
}
-- Fields first, paradigm second: slot names can only be validated once the
-- paradigm is known.
local deferred = {}
for i = 2, #groups do
local group = groups[i]
local part = group[1]
local name = part:match("^([^:]+)") or part
local indicator = INDICATORS[name]
if part == "" then
-- A bare [footnote] group: applies to every form.
if not group[2] then
parse_err("Blank field; only allowed carrying footnotes")
end
parsed.footnotes = fetch_footnotes(group, parse_err)
elseif part == "addnote" then
table.insert(deferred, { kind = "addnote", group = group })
elseif indicator and indicator.flag and part == name then
if group[2] then
parse_err(("Footnotes not allowed on '%s'"):format(part))
end
parsed.fields[name] = true
table.insert(parsed.seen_fields, name)
elseif indicator and indicator.value and part:find(":") then
local colon_groups = M.put.split_alternating_runs_and_strip_spaces(group, ":")
-- A field may state variants the way an override does, .perf:a:b.
local values = {}
for index = 2, #colon_groups do
if colon_groups[index][2] then
parse_err(("Footnotes not allowed on '%s'; use addnote or a slot override"):format(name))
end
local value = colon_groups[index][1]
if value == "" then
parse_err(("Field '%s' needs a value"):format(name))
end
table.insert(values, value)
end
if #values > 1 then
for _, value in ipairs(values) do
if value == "-" then
parse_err(("Field '%s' cannot combine - with another value"):format(name))
end
end
end
parsed.fields[name] = values[1]
parsed.field_values[name] = values
table.insert(parsed.seen_fields, name)
elseif table.concat(group):find(":") then
-- Whole group, not `part`: a footnote on the slot name pushes the
-- colon into a later segment.
table.insert(deferred, { kind = "override", group = group })
else
parse_err(("Unrecognized field '%s'"):format(table.concat(group)))
end
end
local paradigm = PARADIGMS[code]
if not paradigm then
local names = {}
for name in pairs(PARADIGMS) do table.insert(names, "'" .. name .. "'") end
table.sort(names)
parse_err(("Unrecognized paradigm '%s'; expected %s"):format(code, table.concat(names, ", ")))
end
parsed.paradigm = paradigm
-- A field that means nothing to this paradigm is an error, not a no-op.
for _, name in ipairs(parsed.seen_fields) do
local indicator = INDICATORS[name]
if indicator.applies and not indicator.applies(code, nil) then
parse_err(("'%s' applies to %s; '%s' is %s")
:format(name, indicator.where, pagename, paradigm.label))
end
end
for _, item in ipairs(deferred) do
if item.kind == "override" then
local slots, specs = parse_override(item.group, paradigm, parse_err)
for _, slot in ipairs(slots) do
parsed.overrides[slot] = specs
end
else
local spec_and_footnotes = fetch_footnotes(item.group, parse_err)
if not spec_and_footnotes or #spec_and_footnotes < 2 then
parse_err("addnote should be of the form addnote[SLOT,SLOT2][FOOTNOTE][FOOTNOTE...]")
end
local slot_spec = table.remove(spec_and_footnotes, 1):match("^%[(.*)%]$")
local slots = {}
local valid = slot_set_for(paradigm)
for raw_slot in slot_spec:gmatch("[^,]+") do
local slot = raw_slot:match("^%s*(.-)%s*$")
if not valid[slot] then
parse_err(("Unrecognized slot '%s' in addnote; %s has %s")
:format(slot, paradigm.code, slot_list_for_err(paradigm)))
end
table.insert(slots, slot)
end
table.insert(parsed.addnotes, { slots = slots, footnotes = spec_and_footnotes })
end
end
return parsed
end
--[==[ Entry points ]==]
local conj_params = {
[1] = {},
t = true,
id = true,
pagename = true,
json = { type = "boolean" },
}
local lang
local function get_lang()
if not lang then
lang = M.languages.getByCode("gho")
end
return lang
end
function export.process_conj_args(args)
return M.parameters.process(args, conj_params)
end
-- The accented spelling comes from {{gho-IPA}} on the page, falling back to the
-- page name; the link spelling is that with the accents stripped.
local function context_for(pagename, parsed, accented, head)
return {
pagename = pagename,
accented = accented,
accented_stem = accented,
stem = strip_accents(accented),
head = head,
imp = parsed.field_values.imp or {},
caus = parsed.fields.caus or false,
perf = parsed.field_values.perf,
augment_class = parsed.augment_class,
types = parsed.fields.type and (function()
local list = {}
for part in parsed.fields.type:gmatch("[^,]+") do
table.insert(list, tonumber(part:match("^%s*(.-)%s*$")))
end
return list
end)() or nil,
}
end
-- Every (accented stem, head) pair: two spellings and two stems is four.
local VARIANT_LIMIT = 8
local function variants_for(pagename, parsed, parse_err)
local accented = page_facts(pagename).ipa_all
if not accented or #accented == 0 then accented = { pagename } end
local heads = {}
for _, head in ipairs(parsed.heads) do table.insert(heads, head) end
-- No head at all still conjugates: the engines read "" as "not given".
if #heads == 0 then heads = { { form = "" } } end
if #accented * #heads > VARIANT_LIMIT then
parse_err(("%d accented spellings and %d stems is %d conjugations; %d is the limit")
:format(#accented, #heads, #accented * #heads, VARIANT_LIMIT))
end
local pairs_out = {}
for _, one in ipairs(accented) do
for _, head in ipairs(heads) do
table.insert(pairs_out, { accented = one, head = head })
end
end
return pairs_out
end
-- One form table out of several. Grouping is on the accent-stripped spelling,
-- so bnu and ḇnu are one form carrying two respellings rather than two
-- identical-looking rows; the pipe between them is what the accelerator reads.
-- Footnotes are unioned, since a variant may be marked rare.
local function merge_variant_forms(tables)
if #tables == 1 then return tables[1] end
local merged = {}
for _, forms in pairs(tables) do
for slot, formobjs in pairs(forms) do
for _, formobj in ipairs(formobjs) do
local existing
for _, candidate in ipairs(merged[slot] or {}) do
if candidate.form == formobj.form then existing = candidate break end
end
if existing then
local accented = formobj.accented_form or formobj.form
local seen = false
for spelling in existing.accented_form:gmatch("[^|]+") do
if spelling == accented then seen = true break end
end
if not seen then
existing.accented_form = existing.accented_form .. "|" .. accented
end
if formobj.footnotes then
add_footnotes({ [slot] = { existing } }, slot, formobj.footnotes)
end
else
merged[slot] = merged[slot] or {}
table.insert(merged[slot], {
form = formobj.form,
accented_form = formobj.accented_form or formobj.form,
footnotes = formobj.footnotes,
})
end
end
end
end
return merged
end
function export.get_forms(args)
local pagename = args.pagename or mw.title.getCurrentTitle().text
local parsed = parse_spec(args[1], pagename)
local paradigm = parsed.paradigm
local function parse_err(msg)
error(msg .. ": <" .. tostring(args[1]) .. ">")
end
-- The first variant names the class, the stem and the accented stem.
local derived, info = {}, nil
for _, variant in ipairs(variants_for(pagename, parsed, parse_err)) do
local variant_forms, variant_info =
paradigm.derive(context_for(pagename, parsed, variant.accented, variant.head.form))
if variant.head.footnotes then
for _, pair in ipairs(paradigm.slot_list) do
local prefix = (variant_info or {}).stem_slot_prefix
if not prefix or pair[1]:sub(1, #prefix) == prefix then
add_footnotes(variant_forms, pair[1], variant.head.footnotes)
end
end
end
table.insert(derived, variant_forms)
info = info or variant_info
end
local forms = merge_variant_forms(derived)
info = info or {}
-- The class exists only now, so the fields that turn on it are checked here.
for _, name in ipairs(parsed.seen_fields) do
local indicator = INDICATORS[name]
if indicator.applies and not indicator.applies(parsed.code, info.class) then
error(("'%s' applies to %s; '%s' is %s"):format(
name, indicator.where, pagename, info.class_desc or info.class or paradigm.label))
end
end
-- Slot overrides replace the derived forms outright; "-" deletes the slot.
for slot, specs in pairs(parsed.overrides) do
forms[slot] = nil
for _, spec in ipairs(specs) do
if spec.form ~= "-" then
insert_form_pair(forms, slot, spec.form, nil, spec.footnotes)
end
end
end
for _, pair in ipairs(paradigm.slot_list) do
local slot = pair[1]
if parsed.footnotes then
add_footnotes(forms, slot, parsed.footnotes)
end
end
for _, addnote in ipairs(parsed.addnotes) do
for _, slot in ipairs(addnote.slots) do
add_footnotes(forms, slot, addnote.footnotes)
end
end
-- The first variant's spelling, matching the class reported above.
local first = variants_for(pagename, parsed, error)[1]
local context = context_for(pagename, parsed, first.accented, first.head.form)
return {
paradigm = paradigm.code,
slot_list = paradigm.slot_list,
class = info.class,
class_desc = info.class_desc or info.class,
stem = context.stem,
accented_stem = context.accented_stem or context.stem,
lemma = paradigm.citation_lemma_from_forms(forms, context.stem,
(parsed.fields.imp ~= nil) or (parsed.overrides.imperative_sg ~= nil)),
id = args.id,
t = args.t,
forms = forms,
}
end
-- |json=1| output: the data table minus slot_list, which is a property of the
-- paradigm rather than of this word.
local function json_payload(data)
return {
paradigm = data.paradigm,
class = data.class,
stem = data.stem,
accented_stem = data.accented_stem,
lemma = data.lemma,
id = data.id,
t = data.t,
forms = data.forms,
}
end
local function show_forms(data, args)
local pagename = args.pagename or mw.title.getCurrentTitle().text
M.iut.show_forms(data.forms, {
lang = get_lang(),
lemmas = { { form = data.lemma or pagename } },
slot_list = data.slot_list,
transform_accel_obj = function(_slot, form_object, accel_object)
if accel_object then
accel_object.form = "verb-form-ipa("
.. (form_object.accented_form or form_object.form) .. ")-+" .. pagename
end
return accel_object
end,
})
end
local function categories_for(data)
return { PARADIGMS[data.paradigm].category }
end
function export.show(frame)
local parent_args = frame:getParent().args
if parent_args[1] == nil and frame.args[1] ~= nil then
parent_args = frame.args
end
local args = export.process_conj_args(parent_args)
local data = export.get_forms(args)
if args.json then
return M.JSON.toJSON(json_payload(data))
end
local paradigm = PARADIGMS[data.paradigm]
local pagename = args.pagename or mw.title.getCurrentTitle().text
show_forms(data, args)
local label = paradigm.appendix
and ("[[" .. paradigm.appendix .. "|" .. paradigm.label .. "]]")
or paradigm.label
local box_title = "Conjugation of "
.. M.links.full_link({
lang = get_lang(),
term = pagename,
show_decorations = true,
}, "term", false)
.. " (" .. label .. ")"
return M.inflection_table.make_box_top{
title = box_title,
flow = "vertical",
category = "conjugation",
}
.. "\n"
.. paradigm.make_table(data.forms, data.forms.footnote, table_helpers)
.. "\n"
.. M.inflection_table.make_bottom{}
.. M.utilities.format_categories(categories_for(data), get_lang(), nil, nil, force_cat)
end
return export
fspde0wjiumth4xqqp7w4tapflx1caq
ထာမ်ပလိက်:tez-head/documentation
10
299396
402274
2026-10-01T06:35:09Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{documentation subpage}} {{uses lua|Module:ber-headword}} This template makes the headword line for Tetserret entries. Put the part of speech in {{para|1}}; the other parameters you can use depend on it. ==Parameters== ;{{para|1|req=1}} : The part of speech, singular or plural, spelled out or abbreviated: {{cd|n}} for noun, {{cd|v}} for verb, {{cd|adj}} for adjective. [[Template:head#Part of speech]] lists the abbre..."
402274
wikitext
text/x-wiki
{{documentation subpage}}
{{uses lua|Module:ber-headword}}
This template makes the headword line for Tetserret entries. Put the part of speech in {{para|1}}; the other parameters you can use depend on it.
==Parameters==
;{{para|1|req=1}}
: The part of speech, singular or plural, spelled out or abbreviated: {{cd|n}} for noun, {{cd|v}} for verb, {{cd|adj}} for adjective. [[Template:head#Part of speech]] lists the abbreviations.
;{{para|head}}
: The headword, if it differs from the page name. Separate several headwords with commas, with no space after the comma. Each can take a transliteration with {{cd|<tr:...>}}.
;{{para|tr}}
: The transliteration of a headword that is not in Latin script.
;{{para|g}}
: The gender: <code>m</code>, <code>f</code>, <code>mf</code>, <code>mfbysense</code> or <code>p</code> (plural only), several separated by commas. Without it, nouns, proper nouns, numerals and pronouns show <code>?</code>, collective nouns show <code>m</code> and singulative nouns show <code>f</code>.
;{{para|id}}, {{para|sort}}, {{para|cat}}, {{para|nolink}}, {{para|var}}
: These work as in [[Module:headword utilities]]. {{para|cat}} takes categories without the language name, separated by commas.
Form parameters such as {{para|pl}} take one or more forms, separated by commas with no space after the comma. A form can carry inline modifiers: {{cd|<tr:...>}} for a transliteration, {{cd|<g:...>}} for a gender, {{cd|<q:...>}} and {{cd|<qq:...>}} for a qualifier before or after it, {{cd|<l:...>}} and {{cd|<ll:...>}} for labels before or after it, and {{cd|<ref:...>}} for references. To put a comma with no space after it inside a form, write <code>\,</code>.
Most forms also have an annexed-state parameter, which is the form's name followed by <code>annex</code>. {{para|plannex}} gives the annexed state of the plural, and {{para|annex}} by itself gives the annexed state of the headword.
==Parts of speech with extra parameters==
{| class="wikitable"
! {{para|1}} !! Parameters
|-
| <code>noun</code>, <code>proper noun</code> || {{para|annex}}, {{para|d}} dual, {{para|pl}} plural (<code>-</code> if there is none, <code>-</code> followed by forms for "usually no plural", <code>?</code> if it is unknown), {{para|dim}} diminutive, {{para|aug}} augmentative, {{para|f}} female equivalent, {{para|m}} male equivalent, each with its annexed state ({{para|dannex}}, {{para|plannex}} and so on)
|-
| <code>collective noun</code> || {{para|sing}} singulative, feminine unless {{cd|<g:...>}} gives another gender; {{para|annex}}, {{para|pl}}, {{para|plannex}}, {{para|dim}}, {{para|dimannex}}
|-
| <code>singulative noun</code> || {{para|coll}} collective, masculine unless {{cd|<g:...>}} gives another gender; {{para|annex}}, {{para|pl}}, {{para|plannex}}, {{para|dim}}, {{para|dimannex}}
|-
| <code>adjective</code> || {{para|annex}}, {{para|f}} feminine, {{para|pl}} masculine plural, {{para|fpl}} feminine plural, {{para|cpl}} common plural, {{para|dim}} diminutive, each with its annexed state
|-
| <code>active participle</code>, <code>passive participle</code> || {{para|annex}}, {{para|f}} feminine, {{para|pl}} masculine plural, {{para|fpl}} feminine plural, {{para|cpl}} common plural, each with its annexed state
|-
| <code>adverb</code> || {{para|annex}}, {{para|d}} dual
|-
| <code>numeral</code>, <code>particle</code> || {{para|annex}}, {{para|f}} feminine, {{para|fannex}}
|-
| <code>pronoun</code> || {{para|annex}}, {{para|pl}} plural, {{para|plannex}}, {{para|f}} feminine, {{para|fannex}}
|-
| <code>verb</code> || {{para|aorist}}, {{para|pret}} perfective, {{para|negpret}} negative perfective, {{para|cont}} imperfective, {{para|vn}} verbal noun, {{para|ap}} active participle, {{para|pp}} passive participle
|}
Other parts of speech, such as <code>letter</code>, <code>noun form</code>, <code>preposition</code> and <code>conjunction</code>, take only the parameters listed above the table.
==Examples==
{{demo|<nowiki>{{tez-head|noun|pagename=afagan}}</nowiki>}}
{{tcat|headword}}
sd709m3rnq3g4jgft973l5s939p0sc3
ကဏ္ဍ:ထာမ်ပလိက်ထေတ်သေရေတ်လာၚ်က္ဍိုပ်မအရေဝ်ဂမၠိုၚ်
14
299397
402275
2026-10-01T06:37:41Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ထာမ်ပလိက်ထေတ်သေရေတ်ဂမၠိုၚ်]][[ကဏ္ဍ:လာၚ်က္ဍိုပ်မအရေဝ်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ထ]]"
402275
wikitext
text/x-wiki
[[ကဏ္ဍ:ထာမ်ပလိက်ထေတ်သေရေတ်ဂမၠိုၚ်]][[ကဏ္ဍ:လာၚ်က္ဍိုပ်မအရေဝ်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ထ]]
cit771lk2vxtyy3v5pagwqecqdfiuub
ကဏ္ဍ:ထာမ်ပလိက်ထေတ်သေရေတ်ဂမၠိုၚ်
14
299398
402276
2026-10-01T06:38:42Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[ကဏ္ဍ:ဘာသာထေတ်သေရေတ်]][[ကဏ္ဍ:ထာမ်ပလိက်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ထ]]"
402276
wikitext
text/x-wiki
[[ကဏ္ဍ:ဘာသာထေတ်သေရေတ်]][[ကဏ္ဍ:ထာမ်ပလိက်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ထ]]
sc0s78kouveonbimcmzmr1e1h1jhlq3
ကဏ္ဍ:နာမ်ထေတ်သေရေတ်ဂမၠိုၚ်
14
299399
402278
2026-10-01T07:01:26Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာထေတ်သေရေတ်|ထေတ်သေရေတ်]] » :..."
402278
wikitext
text/x-wiki
[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာထေတ်သေရေတ်|ထေတ်သေရေတ်]] » [[:ကဏ္ဍ:ဝေါဟာအဓိကထေတ်သေရေတ်ဂမၠိုၚ်|ဝေါဟာတံသ္ဇိုၚ်]] » '''နာမ်ဂမၠိုၚ်'''
:ဝေါဟာထေတ်သေရေတ်ပွမစၞောန်ထ္ၜးပူဂဵုအတေံ၊ မက္တဵုဒှ်ဂမၠိုၚ်၊ ဌာန်ဒတန်ဂမၠိုၚ်၊ ဥပပါတ်ဂမၠိုၚ်၊ ကဆံၚ်ဂုန်သတ္တိ ဝါ ကိုန်စဳရေၚ်ဂမၠိုၚ်။
[[ကဏ္ဍ:ဘာသာထေတ်သေရေတ်]][[ကဏ္ဍ:နာမ်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ထ]]
cj3syefts8vzy8n5s4qeb2sapvdlci3
ကဏ္ဍ:ဝေါဟာအဓိကထေတ်သေရေတ်ဂမၠိုၚ်
14
299400
402279
2026-10-01T07:03:09Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာထေတ်သေရေတ်|ထေတ်သေရေတ်]] » '''..."
402279
wikitext
text/x-wiki
[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာထေတ်သေရေတ်|ထေတ်သေရေတ်]] » '''ဝေါဟာတံသ္ဇိုၚ်ဂမၠိုၚ်'''
:ဝေါဟာတံသ္ဇိုၚ်ဘာသာထေတ်သေရေတ်၊ ကဏ္ဍနူကဵုမပါ်ပရံဒကုတ်မဆေၚ်စပ်ကဵုမအရေဝ်ဝေါဟာ။
[[ကဏ္ဍ:ဘာသာထေတ်သေရေတ်]][[ကဏ္ဍ:ဝေါဟာအဓိကဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ထ]]
e0jv1h4irk6cvp6kp68jdg43yqxun1l
ကဏ္ဍ:နာမ်ပုလ္လိၚ်ထေတ်သေရေတ်ဂမၠိုၚ်
14
299401
402280
2026-10-01T07:06:31Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာထေတ်သေရေတ်|ထေတ်သေရေတ်]] » :..."
402280
wikitext
text/x-wiki
[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာထေတ်သေရေတ်|ထေတ်သေရေတ်]] » [[:ကဏ္ဍ:ဝေါဟာအဓိကထေတ်သေရေတ်ဂမၠိုၚ်|ဝေါဟာတံသ္ဇိုၚ်]] » [[:ကဏ္ဍ:နာမ်ထေတ်သေရေတ်ဂမၠိုၚ်|နာမ်ဂမၠိုၚ်]] » [[:ကဏ္ဍ:နာမ်ထေတ်သေရေတ်ဗက်အလိုက်လိၚ်ဂမၠိုၚ်|ဗက်အလိုက်လိၚ်ဂမၠိုၚ်]] »'''ပုလ္လိၚ်ဂမၠိုၚ်'''
:နာမ်ထေတ်သေရေတ်မဆေၚ်စပ်ကဵုလိၚ်တြုံ၊ ဥပမာ ဆေၚ်စပ်ကဵုကဏ္ဍလုပ်အဝေါၚ်လိၚ်အတေံ (အကြာတၞဟ်ခြာအရာမွဲမွဲအဂှ်) မက္တဵုဒှ်ပုလ္လိၚ်ဂမၠိုၚ်။
[[ကဏ္ဍ:နာမ်ထေတ်သေရေတ်ဗက်အလိုက်လိၚ်ဂမၠိုၚ်|ပ]][[ကဏ္ဍ:နာမ်ပုလ္လိၚ်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ထ]]
5j4f08ejtw7bu4xflb2iq57n9zo8iwi
ကဏ္ဍ:နာမ်ထေတ်သေရေတ်ဗက်အလိုက်လိၚ်ဂမၠိုၚ်
14
299402
402281
2026-10-01T07:08:15Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာထေတ်သေရေတ်|ထေတ်သေရေတ်]] » :..."
402281
wikitext
text/x-wiki
[[:ကဏ္ဍ:ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်|ဒၞာဲလုပ်အဝေါၚ်ကဵုပၟိက်]] » [[:ကဏ္ဍ:အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်|အရေဝ်ဘာသာအိုတ်သီုဂမၠိုၚ်]] » [[:ကဏ္ဍ:ဘာသာထေတ်သေရေတ်|ထေတ်သေရေတ်]] » [[:ကဏ္ဍ:ဝေါဟာအဓိကထေတ်သေရေတ်ဂမၠိုၚ်|ဝေါဟာတံသ္ဇိုၚ်]] » [[:ကဏ္ဍ:နာမ်ထေတ်သေရေတ်ဂမၠိုၚ်|နာမ်ဂမၠိုၚ်]] »'''ဗက်အလိုက်လိၚ်ဂမၠိုၚ်'''
:နာမ်ထေတ်သေရေတ်မဂကောံလဝ်နူကဵုဆေၚ်စပ်ကဵုလိၚ်ပွမတုဲဒှ်နကဵုအတေံ။
[[ကဏ္ဍ:နာမ်ထေတ်သေရေတ်ဂမၠိုၚ်]][[ကဏ္ဍ:နာမ်နူကဵုလိၚ်ဗက်အလိုက်အရေဝ်ဘာသာဂမၠိုၚ်|ထ]]
6dscqf6mbwtg0oscjuts5zufssf15ui
afacer
0
299403
402282
2026-10-01T07:19:17Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "==အေက်သတဝ်ရေန်== ===ဗွဟ်ရမ္သာၚ်=== {{ast-pr}} ===ကြိယာ=== {{head|ast|verb}} # သကဵုဆက်တောဲစုတ်၊ သကဵုဂတ်တိုန်။ # သကဵုမရပ်စပ်ကေတ်နကဵု။ ==ဂၠဳသဳယျာန်== ===နိရုတ်=== ဝေါဟာကၠုၚ်နူ {{inh|gl|roa-opt|afazer}} ===..."
402282
wikitext
text/x-wiki
==အေက်သတဝ်ရေန်==
===ဗွဟ်ရမ္သာၚ်===
{{ast-pr}}
===ကြိယာ===
{{head|ast|verb}}
# သကဵုဆက်တောဲစုတ်၊ သကဵုဂတ်တိုန်။
# သကဵုမရပ်စပ်ကေတ်နကဵု။
==ဂၠဳသဳယျာန်==
===နိရုတ်===
ဝေါဟာကၠုၚ်နူ {{inh|gl|roa-opt|afazer}}
===ဗွဟ်ရမ္သာၚ်===
* {{IPA|gl|[afaˈθeɾ]|[afaˈseɾ]|q2=western}}
===ကြိယာ===
{{gl-verb}}
# သကဵုကေၚ်မံၚ်၊ ပြုပြေၚ်မကလိတ်ကလောတ်၊ သကဵုမရပ်စပ်ကေတ်နကဵု။
#: {{syn|gl|acostumar|adaptar|axeitar}}
# သကဵုဒးရး။
# သကဵုဂတ်တိုန်။
====သမ္ဗန္ဓ====
{{gl-conj}}
d7keygpqfzy0ukf00pfxru7uvg2ddsn
ထာမ်ပလိက်:gl-conj
10
299404
402283
2026-10-01T07:20:15Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{#invoke:gl-verb|show}}<noinclude>{{documentation}}</noinclude>"
402283
wikitext
text/x-wiki
{{#invoke:gl-verb|show}}<noinclude>{{documentation}}</noinclude>
4sgddmd1v7bad1qkgoagxitqn3mq8vd
ထာမ်ပလိက်:gl-conj/documentation
10
299405
402284
2026-10-01T07:24:50Z
咽頭べさ
33
ခၞံကၠောန်လဝ် မုက်လိက် နကု "{{documentation subpage}} This template generates a navigation box for [[:ကဏ္ဍ:ကြိယာဂၠဳသဳယျာန်ဂမၠိုၚ်|Galician verb]] conjugation entries. The actual work is done by [[Module:gl-verb]]. ==Usage== This template should be added to all Galician verb entries. The template should be placed within the Galician language section, immediately following the '''Conjugation'''..."
402284
wikitext
text/x-wiki
{{documentation subpage}}
This template generates a navigation box for [[:ကဏ္ဍ:ကြိယာဂၠဳသဳယျာန်ဂမၠိုၚ်|Galician verb]] conjugation entries. The actual work is done by [[Module:gl-verb]].
==Usage==
This template should be added to all Galician verb entries.
The template should be placed within the Galician language section, immediately following the '''Conjugation''' L4 language header.
As with other Wiktionary navigation box templates, '''please do not use <code>subst:</code>'''.
===Parameters===
The template uses one unnamed parameter to specify any information not automatically inferrable from the infinitive form.
==Examples==
'''( 1 )''' {{m|gl|cantar||to sing}}
:<code><nowiki>{{gl-conj}}</nowiki></code>
{{gl-conj|pagename=cantar}}
'''NOTE:''' For most verbs, no parameters are needed.
----
'''( 2 )''' {{m|gl|ser||to be}}
:<code><nowiki>{{gl-conj}}</nowiki></code>
{{gl-conj|pagename=ser}}
'''NOTE:''' The module knows how to handle all irregular verbs automatically, including prefixed derivatives such as {{m|gl|desfacer}} (from {{m|gl|facer}}) and {{m|gl|abster}} (from {{m|gl|ter}}).
----
'''( 3 )''' {{m|gl|desfacer||to undo}}
:<code><nowiki>{{gl-conj}}</nowiki></code>
{{gl-conj|pagename=desfacer}}
'''NOTE:''' Example of a prefixed verb handled automatically.
----
'''( 4 )''' {{m|gl|continuar||to continue}}
:<code><nowiki>{{gl-conj}}</nowiki></code>
{{gl-conj|pagename=continuar}}
'''NOTE:''' The alternation between ''-uar'' and stressed ''-úo'' is predictable, hence automatic.
----
'''( 5 )''' {{m|gl|conseguir||to get, to manage}}
:<code><nowiki>{{gl-conj|<i-e>}}</nowiki></code>
{{gl-conj|<i-e>|pagename=conseguir}}
'''NOTE:''' The vowel alternation between ''conseguir'', ''consigo'' and ''consegue'' is unpredictable, hence a vowel alternation indicator <code><i-e></code> must be given. In general, indicators are contained between angle brackets, and if more than one must be given, they are separated by periods/full stops (a <code>.</code> symbol). Note however that the consonant alternation between ''-g-'' and ''-gu-'' is predictable, hence automatic.
----
'''( 6 )''' {{m|gl|espiar||to spy; to peek}}
:<code><nowiki>{{gl-conj|<í>}}</nowiki></code>
{{gl-conj|<í>|pagename=espiar}}
'''NOTE:''' Unlike for verbs in ''-uar'', the alternation between ''i'' and ''í'' in verbs in ''-iar'' (e.g. ''espiar'' vs. ''eu espío'') is unpredictable and occurs only in some verbs (contrast {{m|gl|odiar||to hate}} with ''eu odio''), so must be given explicitly using <code><í></code>.
----
'''( 7 )''' {{m|gl|axuizar||to indict; to judge}}
:<code><nowiki>{{gl-conj|<í>}}</nowiki></code>
{{gl-conj|<í>|pagename=axuizar}}
'''NOTE:''' The same indicator <code><í></code> is also used when the alternation between ''i'' and ''í'' occurs within the stem (''axuizar'' vs. ''eu axuízo''). Note that the consonant alternation between ''-z-'' and ''-c-'' is predictable, hence automatic.
----
'''( 8 )''' {{m|gl|amiudar||to frequent}}
:<code><nowiki>{{gl-conj|<ú>}}</nowiki></code>
{{gl-conj|<ú>|pagename=amiudar}}
'''NOTE:''' This is the parallel situation to {{m|gl|axuizar}} with a ''u''-''ú'' alternation occurring within the stem (''amiudar'' vs. ''eu amiúdo'').
----
'''( 9 )''' {{m|gl|abolir||to abolish}}
:<code><nowiki>{{gl-conj|<no_pres_stressed>}}</nowiki></code>
{{gl-conj|<no_pres_stressed>|pagename=abolir}}
'''NOTE:''' This verb is defective, missing all stem-stressed forms in the present indicative and imperative (as well as the entire present subjunctive). This is specified using the indicator <code><no_pres_stressed></code>.
----
'''( 10 )''' {{m|gl|concernir||to concern, to be of interest to}}
:<code><nowiki>{{gl-conj|<i.only3sp>}}</nowiki></code>
{{gl-conj|<i.only3sp>|pagename=concernir}}
'''NOTE:''' This verb occurs only in the third person (singular and plural) and has an alternation between ''i'' in all stressed forms and ''e'' in all unstressed forms. The latter is specified using the indicator <code><nowiki><i></nowiki></code> and the former using <code><only3sp></code>. When multiple indicators occur, separate them by a period/full stop (<code>.</code>).
----
'''( 11 )''' {{m|gl|chover a cántaros||to [[rain cats and dogs]]}}
:<code><nowiki>{{gl-conj|chover<only3s> [[a]] [[cántaro]]s}}</nowiki></code>
{{gl-conj|chover<only3s> [[a]] [[cántaro]]s}}
'''NOTE:''' Full support is available for multiword expressions. Put the angle-bracket spec after the verb or verbs needing to be conjugated. Remaining text is passed through unaltered, and can include links, as shown. Here, the indicator <code>only3s</code> specifies an impersonal ("only third-singular") verb.
----
'''( 12 )''' {{m|gl|dar de comer||to [[feed]]|lit=to give to eat}}
:<code><nowiki>{{gl-conj}}</nowiki></code>
{{gl-conj|pagename=dar de comer}}
'''NOTE:''' In a multiword expression where no indicators are needed and all words can be linked directly, {{para|1}} can be omitted. This is equivalent to placing <code><></code> after the first word, and all remaining words are automatically linked.
----
'''( 13 )''' {{m|gl|arrepentirse||to [[regret]], to [[repent]]}}
:<code><nowiki>{{gl-conj|<i>}}</nowiki></code>
{{gl-conj|<i>|pagename=arrepentirse}}
'''NOTE:''' Support exists for reflexive verbs. Nothing special needs to be done. Here, the <code><nowiki><i></nowiki></code> indicator specifies that stressed ''e'' becomes ''i'' (''eu arrepíntome'', ''el arrepíntese'').
----
'''( 14 )''' {{m|gl|rever||to go stale, to turn sour}}
:<code><nowiki>{{gl-conj|<no_built_in>}}</nowiki></code>
{{gl-conj|<no_built_in>|pagename=rever}}
'''NOTE:''' The verb {{m|gl|rever}} has two different meanings and two conjugations, one following the regular ''-er'' conjugation and the other ("to see again") following the conjugation of {{m|gl|ver||to see}}. The default here is to use the irregular conjugation; to disable this and use the regular conjugation, use <code><no_built_in></code>.
----
'''( 15 )''' {{m|gl|bendicir||to bless}}
:<code><nowiki>{{gl-conj|((<>,<no_built_in>))}}</nowiki></code>
{{gl-conj|((<>,<no_built_in>))|pagename=bendicir}}
'''NOTE:''' The verb {{m|gl|bendicir}} has two conjugations, one following the regular ''-ir'' conjugation and the other following the conjugation of {{m|gl|dicir||to say}}. As with {{m|gl|rever}} above, the default is to use the irregular conjugation. Here, we use the syntax <code>((<var>infl1</var>,<var>infl2</var>))</code> to request two different conjugations, in this case one regular and one irregular.
<includeonly>
[[ကဏ္ဍ:ထာမ်ပလိက်ဂၠဳသဳယျာန်အပြံၚ်အလှာဲပ္တဝ်ထ္ၜးပမာဏကြိယာဂမၠိုၚ်|*]]
</includeonly>
ful72hwmi7beyx6adfxxkcucmi7kxmi