Module:Languages/datax

local u = mw.ustring.char

-- UTF-8 encoded strings for some commonly-used diacritics local GRAVE    = u(0x0300) local ACUTE    = u(0x0301) local CIRC     = u(0x0302) local TILDE    = u(0x0303) local MACRON   = u(0x0304) local BREVE    = u(0x0306) local DOTABOVE = u(0x0307) local DIAER    = u(0x0308) local CARON    = u(0x030C) local DGRAVE   = u(0x030F) local INVBREVE = u(0x0311) local DOTBELOW = u(0x0323) local RINGBELOW = u(0x0325) local CEDILLA  = u(0x0327)

local m = {}

m["aav-ban-pro"] = { canonicalName = "Proto-Bahnaric", type = "reconstructed", scripts = {"Latn"}, family = "aav-ban", }

m["aav-khm-pro"] = { canonicalName = "Proto-Khmuic", type = "reconstructed", scripts = {"Latn"}, family = "aav-khm", }

m["aav-pro"] = { canonicalName = "Proto-Austro-Asiatic", type = "reconstructed", scripts = {"Latinx"}, family = "aav", }

m["afa-pro"] = { canonicalName = "Proto-Afro-Asiatic", otherNames = {"Hamito-Semitic"}, type = "reconstructed", scripts = {"Latinx"}, family = "afa", }

m["alg-pro"] = { canonicalName = "Proto-Algonquian", type = "reconstructed", scripts = {"Latinx"}, family = "alg", sort_key = { from = {"·"}, to  = {""}}, }

m["alv-edo-pro"] = { canonicalName = "Proto-Edoid", type = "reconstructed", scripts = {"Latn"}, family = "alv-edo", }

m["alv-pro"] = { canonicalName = "Proto-Atlantic-Congo", type = "reconstructed", scripts = {"Latn"}, family = "alv", }

m["apa-pro"] = { canonicalName = "Proto-Apachean", otherNames = {"Proto-Apache", "Proto-Southern Athabaskan"}, type = "reconstructed", scripts = {"Latinx"}, family = "apa", }

m["aql-pro"] = { canonicalName = "Proto-Algic", type = "reconstructed", scripts = {"Latinx"}, family = "aql", sort_key = { from = {"·"}, to  = {""}} , }

m["art-blk"] = { canonicalName = "Bolak", type = "appendix-constructed", scripts = {"Latn"}, family = "art", }

m["art-bsp"] = { canonicalName = "Black Speech", type = "appendix-constructed", scripts = {"Latn", "Teng"}, family = "art", }

m["art-com"] = { canonicalName = "Communicationssprache", type = "appendix-constructed", scripts = {"Latn"}, family = "art", }

m["art-dtk"] = { canonicalName = "Dothraki", type = "appendix-constructed", scripts = {"Latn"}, family = "art", }

m["art-elo"] = { canonicalName = "Eloi", type = "appendix-constructed", scripts = {"Latn"}, family = "art", }

m["art-gld"] = { canonicalName = "Goa'uld", type = "appendix-constructed", scripts = {"Latn", "Egyp", "Mero"}, family = "art", }

m["art-lap"] = { canonicalName = "Lapine", type = "appendix-constructed", scripts = {"Latn"}, family = "art", }

m["art-man"] = { canonicalName = "Mandalorian", type = "appendix-constructed", scripts = {"Latn"}, family = "art", }

m["art-mun"] = { canonicalName = "Mundolinco", type = "appendix-constructed", scripts = {"Latn"}, family = "art", }

m["art-nav"] = { canonicalName = "Na'vi", type = "appendix-constructed", scripts = {"Latn"}, family = "art", }

m["art-nox"] = { canonicalName = "Noxilo", type = "appendix-constructed", scripts = {"Latn"}, family = "art", }

m["art-top"] = { canonicalName = "Toki Pona", type = "appendix-constructed", scripts = {"Latn"}, family = "art", }

m["art-una"] = { canonicalName = "Unas", type = "appendix-constructed", scripts = {"Latn"}, family = "art", }

m["ath-pro"] = { canonicalName = "Proto-Athabaskan", type = "reconstructed", scripts = {"Latinx"}, family = "ath", }

m["auf-pro"] = { canonicalName = "Proto-Arawa", otherNames = {"Proto-Arawan", "Proto-Arauan"}, type = "reconstructed", family = "auf", }

m["aus-arn-pro"] = { canonicalName = "Proto-Arnhem", type = "reconstructed", scripts = {"Latinx"}, family = "aus-arn", }

m["aus-bun"] = { canonicalName = "Bunurong", family = "aus-pam", }

m["aus-cww-pro"] = { canonicalName = "Proto-Central New South Wales", type = "reconstructed", scripts = {"Latinx"}, family = "aus-cww", }

m["aus-dal-pro"] = { canonicalName = "Proto-Daly", type = "reconstructed", scripts = {"Latinx"}, family = "aus-dal", }

m["aus-nyu-pro"] = { canonicalName = "Proto-Nyulnyulan", type = "reconstructed", scripts = {"Latinx"}, family = "aus-nyu", }

m["aus-pam-pro"] = { canonicalName = "Proto-Pama-Nyungan", type = "reconstructed", scripts = {"Latinx"}, family = "aus-pam", }

m["aus-wdj-pro"] = { canonicalName = "Proto-Iwaidjan", type = "reconstructed", scripts = {"Latinx"}, family = "aus-wdj", }

m["aus-won"] = { canonicalName = "Wong-gie", family = "aus-pam", }

m["awd-pro"] = { canonicalName = "Proto-Arawakan", otherNames = {"Proto-Arawak", "Proto-Maipurean", "Proto-Maipuran"}, type = "reconstructed", scripts = {"Latn"}, family = "awd", }

m["awd-taa-pro"] = { canonicalName = "Proto-Ta-Arawakan", otherNames = {"Proto-Ta-Arawak", "Proto-Caribbean Northern Arawak"}, type = "reconstructed", scripts = {"Latn"}, family = "awd-taa", }

m["azc-cup-pro"] = { canonicalName = "Proto-Cupan", type = "reconstructed", scripts = {"Latinx"}, family = "azc-cup", }

m["azc-nah-pro"] = { canonicalName = "Proto-Nahuan", type = "reconstructed", scripts = {"Latinx"}, family = "azc-nah", }

m["azc-num-pro"] = { canonicalName = "Proto-Numic", type = "reconstructed", scripts = {"Latinx"}, family = "azc-num", }

m["azc-tak-pro"] = { canonicalName = "Proto-Takic", type = "reconstructed", scripts = {"Latinx"}, family = "azc-tak", }

m["azc-pro"] = { canonicalName = "Proto-Uto-Aztecan", type = "reconstructed", scripts = {"Latinx"}, family = "azc", }

m["ber-pro"] = { canonicalName = "Proto-Berber", type = "reconstructed", family = "ber", }

m["bnt-ngu-pro"] = { canonicalName = "Proto-Nguni", type = "reconstructed", scripts = {"Latinx"}, family = "bnt-ngu", }

m["bnt-phu"] = { canonicalName = "Phuthi", otherNames = {"Siphuthi"}, scripts = {"Latn"}, family = "bnt-ngu", }

m["bnt-pro"] = { canonicalName = "Proto-Bantu", type = "reconstructed", scripts = {"Latinx"}, family = "bnt", }

m["btk-pro"] = { canonicalName = "Proto-Batak", type = "reconstructed", scripts = {"Latinx"}, family = "btk", }

m["cau-abz-pro"] = { canonicalName = "Proto-Abkhaz-Abaza", otherNames = {"Proto-Abazgi", "Proto-Abkhaz-Tapanta"}, type = "reconstructed", scripts = {"Latinx"}, family = "cau-abz", }

m["cau-ava-pro"] = { canonicalName = "Proto-Avaro-Andian", otherNames = {"Proto-Avar-Andian", "Proto-Avar-Andi", "Proto-Avar-Andic", "Proto-Andian"}, type = "reconstructed", scripts = {"Latinx"}, family = "cau-ava", }

m["cau-cir-pro"] = { canonicalName = "Proto-Circassian", otherNames = {"Proto-Adyghe-Kabardian", "Proto-Adyghe-Circassian"}, type = "reconstructed", scripts = {"Latinx"}, family = "cau-cir", }

m["cau-drg-pro"] = { canonicalName = "Proto-Dargwa", otherNames = {"Proto-Dargin"}, type = "reconstructed", scripts = {"Latinx"}, family = "cau-drg", }

m["cau-lzg-pro"] = { canonicalName = "Proto-Lezghian", otherNames = {"Proto-Lezgi", "Proto-Lezgian", "Proto-Lezgic"}, type = "reconstructed", scripts = {"Latinx"}, family = "cau-lzg", }

m["cau-nec-pro"] = { canonicalName = "Proto-Northeast Caucasian", type = "reconstructed", scripts = {"Latinx"}, family = "cau-nec", }

m["cau-nkh-pro"] = { canonicalName = "Proto-Nakh", type = "reconstructed", scripts = {"Latinx"}, family = "cau-nkh", }

m["cau-nwc-pro"] = { canonicalName = "Proto-Northwest Caucasian", type = "reconstructed", scripts = {"Latinx"}, family = "cau-nwc", }

m["cau-tsz-pro"] = { canonicalName = "Proto-Tsezian", otherNames = {"Proto-Tsezic", "Proto-Didoic"}, type = "reconstructed", scripts = {"Latinx"}, family = "cau-tsz", } m["cba-pro"] = { canonicalName = "Proto-Chibchan", type = "reconstructed", scripts = {"Latinx"}, family = "cba", }

m["ccn-pro"] = { canonicalName = "Proto-North Caucasian", type = "reconstructed", scripts = {"Latinx"}, family = "ccn", }

m["ccs-pro"] = { canonicalName = "Proto-Kartvelian", type = "reconstructed", scripts = {"Latinx"}, family = "ccs", entry_name = { from = {"q̣", "p̣", "ʓ", "ċ"}, to  = {"q̇", "ṗ", "ʒ", "c̣"}} , }

m["ccs-gzn-pro"] = { canonicalName = "Proto-Georgian-Zan", otherNames = {"Proto-Karto-Zan"}, type = "reconstructed", scripts = {"Latinx"}, family = "ccs-gzn", entry_name = { from = {"q̣", "p̣", "ʓ", "ċ"}, to  = {"q̇", "ṗ", "ʒ", "c̣"}} , }

m["cdc-cbm-pro"] = { canonicalName = "Proto-Central Chadic", otherNames = {"Proto-Central-Chadic", "Proto-Biu-Mandara"}, type = "reconstructed", scripts = {"Latn"}, family = "cdc-cbm", }

m["cdc-pro"] = { canonicalName = "Proto-Chadic", type = "reconstructed", scripts = {"Latn"}, family = "cdc", }

m["cdd-pro"] = { canonicalName = "Proto-Caddoan", type = "reconstructed", scripts = {"Latinx"}, family = "cdd", }

m["cel-bry-pro"] = { canonicalName = "Proto-Brythonic", otherNames = {"Proto-Brittonic"}, type = "reconstructed", scripts = {"Latinx"}, family = "cel-bry", }

m["cel-gau"] = { canonicalName = "Gaulish", scripts = {"Latn", "Grek"}, family = "cel", }

m["cel-pro"] = { canonicalName = "Proto-Celtic", type = "reconstructed", scripts = {"Latinx"}, family = "cel", }

m["chi-pro"] = { canonicalName = "Proto-Chimakuan", type = "reconstructed", scripts = {"Latinx"}, family = "chi", }

m["cmc-pro"] = { canonicalName = "Proto-Chamic", type = "reconstructed", scripts = {"Latinx"}, family = "cmc", }

m["cpe-mar"] = { canonicalName = "Maroon Spirit Language", otherNames = {"Jamaican Maroon Spirit Possession Language"}, scripts = {"Latn"}, family = "crp", ancestors = {"en"}, }

m["cpe-spp"] = { canonicalName = "Samoan Plantation Pidgin", scripts = {"Latn"}, family = "crp", ancestors = {"en"}, }

m["crp-gep"] = { canonicalName = "Greenlandic Pidgin", otherNames = {"West Greenlandic Pidgin", "Greenlandic Eskimo Pidgin"}, scripts = {"Latn"}, family = "crp", }

m["crp-rsn"] = { canonicalName = "Russenorsk", scripts = {"Cyrl", "Latn"}, family = "crp", ancestors = {"no", "ru"}, }

m["crp-tpr"] = { canonicalName = "Taimyr Pidgin Russian", scripts = {"Cyrl"}, family = "crp", }

m["cus-pro"] = { canonicalName = "Proto-Cushitic", type = "reconstructed", scripts = {"Latinx"}, family = "afa", }

m["dra-pro"] = { canonicalName = "Proto-Dravidian", type = "reconstructed", scripts = {"Latinx"}, family = "dra", }

m["dru-pro"] = { canonicalName = "Proto-Rukai", type = "reconstructed", scripts = {"Latinx"}, family = "map", }

m["esx-esk-pro"] = { canonicalName = "Proto-Eskimo", type = "reconstructed", scripts = {"Latinx"}, family = "esx-esk", }

m["esx-inu-pro"] = { canonicalName = "Proto-Inuit", type = "reconstructed", scripts = {"Latinx"}, family = "esx-inu", }

m["esx-pro"] = { canonicalName = "Proto-Eskimo-Aleut", type = "reconstructed", scripts = {"Latinx"}, family = "esx", }

m["euq-pro"] = { canonicalName = "Proto-Basque", type = "reconstructed", scripts = {"Latinx"}, family = "euq", }

m["fiu-fin-pro"] = { canonicalName = "Proto-Finnic", type = "reconstructed", scripts = {"Latn"}, family = "fiu-fin", }

m["fiu-mdv-pro"] = { canonicalName = "Proto-Mordvinic", type = "reconstructed", scripts = {"Latn"}, family = "fiu-mdv", }

m["fiu-prm-pro"] = { canonicalName = "Proto-Permic", type = "reconstructed", scripts = {"Latn"}, family = "fiu-prm", }

m["fiu-ugr-pro"] = { canonicalName = "Proto-Ugric", type = "reconstructed", scripts = {"Latinx"}, family = "fiu-ugr", }

m["gem-pro"] = { canonicalName = "Proto-Germanic", otherNames = {"Common Germanic"}, type = "reconstructed", scripts = {"Latinx"}, family = "gem", sort_key = { from = {"ā", "[ēê]", "ī", "[ōô]", "ū", "ą", "į" , "ǫ" , "ų" , CIRC, MACRON}, to  = {"a", "e"  , "i", "o"   , "u", "an", "in", "on", "un"}} , }

m["gme-cgo"] = { canonicalName = "Crimean Gothic", scripts = {"Latn"}, family = "gme", }

m["gmq-gut"] = { canonicalName = "Gutnish", scripts = {"Latn"}, family = "gmq", ancestors = {"non"}, }

m["gmq-mno"] = { canonicalName = "Middle Norwegian", scripts = {"Latn"}, family = "gmq", ancestors = {"non"}, }

m["gmq-oda"] = { canonicalName = "Old Danish", scripts = {"Latn"}, family = "gmq", ancestors = {"non"}, }

m["gmq-osw"] = { canonicalName = "Old Swedish", scripts = {"Latn"}, family = "gmq", ancestors = {"non"}, }

m["gmq-pro"] = { canonicalName = "Proto-Norse", -- attested scripts = {"Runr"}, family = "gmq", translit_module = "Runr-translit", }

m["gmw-cfr"] = { canonicalName = "Central Franconian", otherNames = {"Mittelfränkisch", "Ripuarian", "Moselle Franconian", "Colognian", "Kölsch"}, scripts = {"Latn"}, family = "gmw", ancestors = {"gmh"}, wikimedia_codes = {"ksh"}, }

m["gmw-gts"] = { canonicalName = "Gottscheerish", otherNames = {"Gottscheerisch"}, scripts = {"Latn"}, family = "gmw", ancestors = {"bar"}, }

m["gmw-jdt"] = { canonicalName = "Jersey Dutch", scripts = {"Latn"}, family = "gmw", ancestors = {"nl"}, }

m["gmw-rfr"] = { canonicalName = "Rhine Franconian", otherNames = {"Rheinfränkisch", "Rhenish Franconian", "Hessian", "Lorraine Franconian", "Lorrainian", "Lothringisch"}, scripts = {"Latn"}, family = "gmw", ancestors = {"gmh"}, }

m["gmw-stm"] = { canonicalName = "Sathmar Swabian", otherNames = {"Satu Mare Swabian", "Sathmarschwäbisch", "Sathmarisch"}, scripts = {"Latn"}, family = "gmw", ancestors = {"swg"}, }

m["gmw-tsx"] = { canonicalName = "Transylvanian Saxon", otherNames = {"Siebenbürger Saxon"}, scripts = {"Latn"}, family = "gmw", ancestors = {"gmw-cfr"}, }

m["gmw-vog"] = { canonicalName = "Volga German", scripts = {"Latn"}, family = "gmw", ancestors = {"gmw-rfr"}, }

m["gmw-zps"] = { canonicalName = "Zipser German", otherNames = {"Zipser", "Zipserisch", "Outzäpsersch"}, scripts = {"Latn"}, family = "gmw", ancestors = {"gmh"}, }

m["grk-cal"] = { canonicalName = "Calabrian Greek", otherNames = {"Italian Greek", "Bova"}, -- NB the related lect Griko has the etym-only code 'el-grk' scripts = {"Latn"}, family = "grk", ancestors = {"grc"}, }

m["grk-pro"] = { canonicalName = "Proto-Hellenic", type = "reconstructed", scripts = {"Latinx"}, family = "grk", }

m["hmn-pro"] = { canonicalName = "Proto-Hmong", type = "reconstructed", scripts = {"Latinx"}, family = "hmn", }

m["hmx-mie-pro"] = { canonicalName = "Proto-Mien", type = "reconstructed", scripts = {"Latinx"}, family = "hmx-mie", }

m["hmx-pro"] = { canonicalName = "Proto-Hmong-Mien", type = "reconstructed", scripts = {"Latinx"}, family = "hmx", }

m["hyx-pro"] = { canonicalName = "Proto-Armenian", type = "reconstructed", scripts = {"Latn"}, family = "hyx", }

m["iir-nur-pro"] = { canonicalName = "Proto-Nuristani", type = "reconstructed", scripts = {"Latinx"}, family = "iir-nur", }

m["iir-pro"] = { canonicalName = "Proto-Indo-Iranian", type = "reconstructed", scripts = {"Latinx"}, family = "iir", }

m["inc-pro"] = { canonicalName = "Proto-Indo-Aryan", type = "reconstructed", scripts = {"Latinx"}, family = "inc", }

m["inc-dar-pro"] = { canonicalName = "Proto-Dardic", otherNames = {"Proto-Rigvedic"}, type = "reconstructed", scripts = {"Latinx"}, family = "inc-dar", }

m["ine-ana-pro"] = { canonicalName = "Proto-Anatolian", type = "reconstructed", scripts = {"Latinx"}, family = "ine-ana", }

m["ine-bsl-pro"] = { canonicalName = "Proto-Balto-Slavic", type = "reconstructed", scripts = {"Latinx"}, family = "ine-bsl", sort_key = { from = {"[áā]", "[éēḗ]", "[íī]", "[óōṓ]", "[úū]", ACUTE, MACRON, "ˀ"}, to  = {"a", "e", "i", "o", "u"}} , }

m["ine-pro"] = { canonicalName = "Proto-Indo-European", type = "reconstructed", scripts = {"Latinx"}, family = "ine", sort_key = { from = {"[áā]", "[éēḗ]", "[íī]", "[óōṓ]", "[úū]", "ĺ", "ḿ", "ń", "ŕ", "ǵ", "ḱ" , "ʰ", "ʷ", "₁", "₂", "₃", RINGBELOW, ACUTE, MACRON}, to  = {"a"  , "e"	, "i"   , "o"	, "u"   , "l", "m", "n", "r", "g'", "k'", "¯h", "¯w", "1", "2", "3"}} , }

m["ine-toc-pro"] = { canonicalName = "Proto-Tocharian", type = "reconstructed", scripts = {"Latinx"}, family = "ine-toc", }

m["ira-pro"] = { canonicalName = "Proto-Iranian", type = "reconstructed", scripts = {"Latinx"}, family = "ira", }

m["iro-min"] = { canonicalName = "Mingo", scripts = {"Latn"}, family = "iro", }

m["iro-pro"] = { canonicalName = "Proto-Iroquoian", type = "reconstructed", scripts = {"Latinx"}, family = "iro", }

m["itc-ola"] = { canonicalName = "Old Latin", otherNames = {"Archaic Latin", "Early Latin", "Pre-Classical Latin", "Ante-Classical Latin"}, scripts = {"Latn", "Ital"}, family = "itc", entry_name = { from = {"Ā", "ā", "Ē", "ē", "Ī", "ī", "Ō", "ō", "Ū", "ū", "Ȳ", "ȳ"}, to  = {"A", "a", "E", "e", "I", "i", "O", "o", "U", "u", "Y", "y"}}, translit_module = "Ital-translit", }

m["itc-pro"] = { canonicalName = "Proto-Italic", type = "reconstructed", scripts = {"Latinx"}, family = "itc", }

m["jpx-pro"] = { canonicalName = "Proto-Japonic", type = "reconstructed", scripts = {"Latinx"}, family = "jpx", }

m["jpx-ryu-pro"] = { canonicalName = "Proto-Ryukyuan", type = "reconstructed", scripts = {"Latinx"}, family = "jpx-ryu", }

m["khi-kun"] = { canonicalName = "ǃKung", otherNames = {"ǃOǃKung", "ǃ'OǃKung", "Kung", "Ekoka ǃKung", "Ekoka Kung", "Sekele"}, scripts = {"Latn"}, family = "khi", }

m["map-ata-pro"] = { canonicalName = "Proto-Atayalic", type = "reconstructed", scripts = {"Latinx"}, family = "map-ata", }

m["map-bms"] = { canonicalName = "Banyumasan", family = "map", }

m["map-pro"] = { canonicalName = "Proto-Austronesian", type = "reconstructed", scripts = {"Latinx"}, family = "map", }

m["mkh-mvi"] = { canonicalName = "Middle Vietnamese", scripts = {"Latn", "Hani"}, family = "mkh-vie", }

m["mkh-pro"] = { canonicalName = "Proto-Mon-Khmer", type = "reconstructed", scripts = {"Latinx"}, family = "mkh", }

m["mkh-vie-pro"] = { canonicalName = "Proto-Vietic", type = "reconstructed", scripts = {"Latinx"}, family = "mkh-vie", }

m["myn-pro"] = { canonicalName = "Proto-Mayan", otherNames = {"Proto-Maya"}, type = "reconstructed", scripts = {"Latinx"}, family = "myn", }

m["nai-chu-pro"] = { canonicalName = "Proto-Chumash", otherNames = {"Proto-Chumashan"}, type = "reconstructed", scripts = {"Latinx"}, family = "nai-chu", }

m["nai-ckn-pro"] = { canonicalName = "Proto-Chinookan", otherNames = {"Proto-Chinook"}, type = "reconstructed", scripts = {"Latinx"}, family = "nai-ckn", }

m["nai-kat"] = { canonicalName = "Kathlamet", otherNames = {"Kathlamet Chinook"}, scripts = {"Latn"}, family = "nai-ckn", }

m["nai-mdu-pro"] = { canonicalName = "Proto-Maidun", otherNames = {"Proto-Maiduan"}, type = "reconstructed", scripts = {"Latinx"}, family = "nai-mdu", }

m["nai-pic"] = { canonicalName = "Picuris", scripts = {"Latn"}, family = "qfa-kta", }

m["nai-pom-pro"] = { canonicalName = "Proto-Pomo", otherNames = {"Proto-Pomoan"}, type = "reconstructed", scripts = {"Latn"}, family = "nai-pom", }

m["nai-yuc-tip"] = { canonicalName = "Tipai", otherNames = {"Tipay", "Tiipai", "Tiipay", "Jamul Tiipay"}, scripts = {"Latn"}, family = "nai-yuc", }

m["nai-yuc-yav"] = { canonicalName = "Yavapai", otherNames = {"Kwevkepaya", "Wipukpaya", "Tolkepaya", "Yavepe"}, scripts = {"Latn"}, family = "nai-yuc", }

m["nds-de"] = { canonicalName = "German Low German", scripts = {"Latn"}, family = "gmw", ancestors = {"nds"}, wikimedia_codes = {"nds"}, }

m["nds-nl"] = { canonicalName = "Dutch Low Saxon", scripts = {"Latn"}, family = "gmw", ancestors = {"nds"}, }

m["nic-bco-pro"] = { canonicalName = "Proto-Benue-Congo", type = "reconstructed", scripts = {"Latn"}, family = "nic-bco", }

m["nic-bod-pro"] = { canonicalName = "Proto-Bantoid", type = "reconstructed", scripts = {"Latn"}, family = "nic-bod", }

m["nic-gur-pro"] = { canonicalName = "Proto-Gur", type = "reconstructed", scripts = {"Latn"}, family = "nic-gur", }

m["nic-pro"] = { canonicalName = "Proto-Niger-Congo", type = "reconstructed", scripts = {"Latn"}, family = "nic", }

m["nic-ubg-pro"] = { canonicalName = "Proto-Ubangian", type = "reconstructed", scripts = {"Latn"}, family = "nic-ubg", }

m["omq-pro"] = { canonicalName = "Proto-Oto-Manguean", otherNames = {"Proto-Otomanguean", "Proto-Oto-Mangue"}, type = "reconstructed", scripts = {"Latn"}, family = "omq", }

m["omq-maz-pro"] = { canonicalName = "Proto-Mazatec", otherNames = {"Proto-Mazatecan"}, type = "reconstructed", scripts = {"Latn"}, family = "omq-maz", }

m["omq-mix-pro"] = { canonicalName = "Proto-Mixtecan", type = "reconstructed", scripts = {"Latn"}, family = "omq-mix", }

m["phi-pro"] = { canonicalName = "Proto-Philippine", type = "reconstructed", scripts = {"Latinx"}, family = "phi", }

m["plf-pro"] = { canonicalName = "Proto-Central Malayo-Polynesian", type = "reconstructed", scripts = {"Latinx"}, family = "plf", }

m["poz-btk-pro"] = { canonicalName = "Proto-Bungku-Tolaki", type = "reconstructed", scripts = {"Latinx"}, family = "poz-btk", }

m["poz-cet-pro"] = { canonicalName = "Proto-Central-Eastern Malayo-Polynesian", type = "reconstructed", scripts = {"Latinx"}, family = "plf", }

m["poz-hce-pro"] = { canonicalName = "Proto-Halmahera-Cenderawasih", otherNames = {"Proto-South Halmahera - West New Guinea"}, type = "reconstructed", scripts = {"Latinx"}, family = "poz-hce", }

m["poz-lgx-pro"] = { canonicalName = "Proto-Lampungic", type = "reconstructed", scripts = {"Latinx"}, family = "poz-lgx", }

m["poz-mcm-pro"] = { canonicalName = "Proto-Malayo-Chamic", type = "reconstructed", scripts = {"Latinx"}, family = "poz-msa", }

m["poz-mly-pro"] = { canonicalName = "Proto-Malayic", type = "reconstructed", scripts = {"Latinx"}, family = "poz-mly", }

m["poz-msa-pro"] = { canonicalName = "Proto-Malayo-Sumbawan", type = "reconstructed", scripts = {"Latinx"}, family = "poz-msa", }

m["poz-oce-pro"] = { canonicalName = "Proto-Oceanic", type = "reconstructed", scripts = {"Latinx"}, family = "poz-oce", }

m["poz-pep-pro"] = { canonicalName = "Proto-Eastern Polynesian", otherNames = {"Proto-Eastern-Polynesian", "Proto-East Polynesian", "Proto-East-Polynesian"}, type = "reconstructed", scripts = {"Latinx"}, family = "poz-pol", }

m["poz-pnp-pro"] = { canonicalName = "Proto-Nuclear Polynesian", type = "reconstructed", scripts = {"Latinx"}, family = "poz-pol", }

m["poz-pol-pro"] = { canonicalName = "Proto-Polynesian", type = "reconstructed", scripts = {"Latinx"}, family = "poz-pol", }

m["poz-pro"] = { canonicalName = "Proto-Malayo-Polynesian", type = "reconstructed", scripts = {"Latinx"}, family = "poz", }

m["poz-ssw-pro"] = { canonicalName = "Proto-South Sulawesi", type = "reconstructed", scripts = {"Latinx"}, family = "poz-ssw", }

m["poz-sus-pro"] = { canonicalName = "Proto-Sunda-Sulawesi", type = "reconstructed", scripts = {"Latinx"}, family = "plf", }

m["poz-swa-pro"] = { canonicalName = "Proto-North Sarawak", type = "reconstructed", scripts = {"Latinx"}, family = "poz-swa", }

m["pqe-pro"] = { canonicalName = "Proto-Eastern Malayo-Polynesian", type = "reconstructed", scripts = {"Latinx"}, family = "pqe", }

m["pqw-pro"] = { canonicalName = "Proto-Western Malayo-Polynesian", type = "reconstructed", scripts = {"Latinx"}, family = "pqw", }

m["qfa-cka-pro"] = { canonicalName = "Proto-Chukotko-Kamchatkan", type = "reconstructed", scripts = {"Latinx"}, family = "qfa-cka", }

m["qfa-ctc-cat"] = { canonicalName = "Catacao", scripts = {"Latinx"}, family = "qfa-ctc", }

m["qfa-ctc-col"] = { canonicalName = "Colán", otherNames = {"Colan"}, scripts = {"Latinx"}, family = "qfa-ctc", }

m["qfa-hur-pro"] = { canonicalName = "Proto-Hurro-Urartian", type = "reconstructed", scripts = {"Latinx"}, family = "qfa-hur", }

m["qfa-kor-pro"] = { canonicalName = "Proto-Korean", type = "reconstructed", family = "qfa-kor", }

m["qfa-len-slv"] = { canonicalName = "Salvadoran Lenca", scripts = {"Latn"}, family = "qfa-len", }

m["qfa-sca-pro"] = { -- NB 'sio-pro' "Proto-Siouan" which is Proto-Western Siouan canonicalName = "Proto-Siouan-Catawban", type = "reconstructed", scripts = {"Latinx"}, family = "qfa-sca", }

m["qfa-tak-pro"] = { canonicalName = "Proto-Tai-Kadai", type = "reconstructed", scripts = {"Latn"}, family = "qfa-tak", }

m["qfa-tot-pro"] = { canonicalName = "Proto-Totozoquean", type = "reconstructed", family = "qfa-tot", }

m["qfa-yen-pro"] = { canonicalName = "Proto-Yeniseian", type = "reconstructed", scripts = {"Latinx"}, family = "qfa-yen", }

m["roa-oca"] = { canonicalName = "Old Catalan", scripts = {"Latn"}, family = "roa", ancestors = {"pro"}, sort_key = { from = {"à", "[èé]", "[íï]", "[òó]", "[úü]", "ç", "·"}, to  = {"a", "e"  , "i"   , "o"   , "u"   , "c"}} , }

m["roa-gal"] = { canonicalName = "Gallo", scripts = {"Latn"}, family = "roa", sort_key = { from = {"[áàâä]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "'"}, to  = {"a"	, "e"	 , "i"	 , "o"	 , "u"	 , "y"	 , "c"}}, }

m["roa-leo"] = { canonicalName = "Leonese", scripts = {"Latn"}, family = "roa", }

m["roa-oan"] = { canonicalName = "Navarro-Aragonese", otherNames = {"Old Aragonese"}, scripts = {"Latn"}, family = "roa", }

m["roa-oit"] = { canonicalName = "Old Italian", scripts = {"Latn"}, family = "roa", }

m["roa-ole"] = { canonicalName = "Old Leonese", scripts = {"Latn"}, family = "roa", }

m["roa-opt"] = { canonicalName = "Old Portuguese", otherNames = {"Galician-Portuguese", "Galician Portuguese", "Medieval Galician"}, scripts = {"Latn"}, family = "roa", }

m["roa-tar"] = { canonicalName = "Tarantino", scripts = {"Latn"}, family = "roa", wikimedia_codes = {"roa-tara"}, }

m["sal-pro"] = { canonicalName = "Proto-Salish", otherNames = {"Proto-Salishan"}, type = "reconstructed", scripts = {"Latn"}, family = "sal", }

m["sem-amm"] = { canonicalName = "Ammonite", scripts = {"Phnx"}, family = "sem-can", }

m["sem-pro"] = { canonicalName = "Proto-Semitic", type = "reconstructed", scripts = {"Latinx"}, family = "sem", }

m["sem-srb"] = { canonicalName = "Old South Arabian", scripts = {"Sarb"}, family = "sem-osa", }

m["sio-pro"] = { -- this is the proto-lang of Western Sioun only; cf. 'qfa-sca-pro' canonicalName = "Proto-Siouan", type = "reconstructed", scripts = {"Latinx"}, family = "sio", }

m["sit-pro"] = { canonicalName = "Proto-Sino-Tibetan", type = "reconstructed", scripts = {"Latn"}, family = "sit", }

m["sla-pro"] = { canonicalName = "Proto-Slavic", otherNames = {"Common Slavic"}, type = "reconstructed", scripts = {"Latinx"}, family = "sla", entry_name = { from = {"[ÀÁÃĀȀȂ]", "[àáãāȁȃ]", "[ÈÉẼĒȄȆ]", "[èéẽēȅȇ]", "[ÌÍĨĪȈȊ]", "[ìíĩīȉȋ]", "[ÒÓÕŌȌȎ]", "[òóõōȍȏ]", "[ÙÚŨŪȔȖ]", "[ùúũūȕȗ]", "[ỲÝỸȲ]", "[ỳýỹȳ]", "[Ǭ]", "[ǭ]", GRAVE, ACUTE, TILDE, MACRON, DGRAVE, INVBREVE}, to  = {"A", "a", "E", "e", "I", "i", "O", "o", "U", "u", "Y", "y", "Ǫ", "ǫ"}}, }

m["smi-pro"] = { canonicalName = "Proto-Samic", otherNames = {"Proto-Sami"}, type = "reconstructed", scripts = {"Latn"}, family = "smi", }

m["sqj-pro"] = { canonicalName = "Proto-Albanian", type = "reconstructed", scripts = {"Latinx"}, family = "sqj", }

m["syd-fne"] = { canonicalName = "Forest Nenets", scripts = {"Cyrl"}, family = "syd", }

m["syd-pro"] = { canonicalName = "Proto-Samoyedic", type = "reconstructed", scripts = {"Latn"}, family = "syd", }

m["tai-pro"] = { canonicalName = "Proto-Tai", type = "reconstructed", scripts = {"Latinx"}, family = "tai", }

m["tai-swe-pro"] = { canonicalName = "Proto-Southwestern Tai", type = "reconstructed", scripts = {"Latinx"}, family = "tai-swe", }

m["trk-oat"] = { canonicalName = "Old Anatolian Turkish", scripts = {"ota-Arab"}, family = "trk-ogz", }

m["trk-ogz-pro"] = { canonicalName = "Proto-Oghuz", type = "reconstructed", scripts = {"Latinx"}, family = "trk-ogz", }

m["trk-pro"] = { canonicalName = "Proto-Turkic", type = "reconstructed", scripts = {"Latinx"}, family = "trk", }

m["tut-pro"] = { canonicalName = "Proto-Altaic", type = "reconstructed", scripts = {"Latinx"}, family = "tut", }

m["tuw-pro"] = { canonicalName = "Proto-Tungusic", type = "reconstructed", scripts = {"Latinx"}, family = "tuw", }

m["urj-pro"] = { canonicalName = "Proto-Uralic", otherNames = {"Proto-Finno-Ugric", "Proto-Finno-Permic"}, -- PFU and PFP are subsumed into PU per Beer parlour/2015/January type = "reconstructed", scripts = {"Latinx"}, family = "urj", }

m["xnd-pro"] = { canonicalName = "Proto-Na-Dene", otherNames = {"Proto-Na-Dené", "Proto-Athabaskan–Eyak–Tlingit"}, type = "reconstructed", scripts = {"Latinx"}, family = "xnd", }

m["xgn-pro"] = { canonicalName = "Proto-Mongolic", type = "reconstructed", scripts = {"Latinx"}, family = "xgn", }

m["ypk-pro"] = { canonicalName = "Proto-Yupik", type = "reconstructed", scripts = {"Latinx"}, family = "ypk", }

m["zlw-opl"] = { canonicalName = "Old Polish", scripts = {"Latn"}, family = "zlw", }

m["zlw-pom"] = { canonicalName = "Pomeranian", family = "zlw", }

m["zlw-slv"] = { canonicalName = "Slovincian", scripts = {"Latn"}, family = "zlw", ancestors = {"zlw-pom"}, }

return m