본문으로 이동

모듈:languages/data2

위키낱말사전, 말과 글의 누리

모듈:languages/data2는 두 글자짜리 언어코드를 가진 언어들의 데이터입니다. 대표적으로 틀:라벨이 사용합니다.

해설

[편집]
  • m["(글자)"]: 해당 언어의 언어 코드를 나타냅니다. 언어코드를 입력하면 '한국어'라고 쓰지 않고 ko라고만 써도 한국어로 표시되는 마법을 부릴 수 있습니다.
  • canonicalName: 해당 언어의 구체적인 명칭을 나타냅니다. 만약 번역하지 않고 틀:라벨 등을 사용할 경우 분류 따위가 영어로 표시됩니다.
  • otherNames: 해당 언어의 이명을 뜻하나, 기술적으로 어떤 역할을 하는지는 파악 중입니다.
  • script: 해당 언어가 사용하는 문자 체계가 이런 게 있다는 정보를 저장합니다. 영어판의 경우 자바스크립트로 사용자가 편리하게 입력할 수 있는 외국어 틀을 사용하는데, 여기서 입력할 때 해당 문자 체계를 지정해야 하기 때문에 사용합니다.
  • family: 어족을 뜻하나, 기술적으로 어떤 역할을 하는지는 파악 중입니다.

참고

[편집]

자매로는 3글자짜리 언어 코드를 식별하는 모듈:languages/data3가 있습니다.


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)

-- Puncuation to be used for standardChars field
local PUNCTUATION = ' \!\#\$\%\&\*\+\,\-\.\/\:\;\<\=\>\?\@\^\_\`\|\~\'\(\)'

local m = {}

m["aa"] = {
    canonicalName = "Afar",
    otherNames = {"Qafar"},
    scripts = {"Latn"},
    family = "cus",
}

m["ab"] = {
    canonicalName = "압하스어",
    otherNames = {"Abkhazian", "Abxazo"},
    scripts = {"Cyrl", "Geor", "Latn"},
    family = "cau-abz",
    translit_module = "ab-translit",
    entry_name = {
        from = {GRAVE, ACUTE},
        to   = {}} ,
}

m["ae"] = {
    canonicalName = "아베스타어",
    otherNames = {"Zend", "Old Bactrian"},
    scripts = {"Avst", "Gujr"},
    family = "ira-eas",
    translit_module = "Avst-translit",
}

m["af"] = {
    canonicalName = "아프리칸스어",
    scripts = {"Latn", "Arab"},
    family = "gmw",
    ancestors = {"nl"},
    sort_key = {
        from = {"[äáâà]", "[ëéêè]", "[ïíîì]", "[öóôò]", "[üúûù]", "[ÿýŷỳ]", "^-", "'"},
        to   = {"a"     , "e"    , "i"    , "o"    , "u"  , "y" }} ,
}

m["ak"] = {
    canonicalName = "Akan",
    otherNames = {"Twi-Fante", "Twi", "Fante", "Fanti", "Asante", "Akuapem"},
    scripts = {"Latn"},
    family = "alv-kwa",
}

m["am"] = {
    canonicalName = "암하라어",
    scripts = {"Ethi"},
    family = "sem-eth",
    translit_module = "Ethi-translit",
}

m["an"] = {
    canonicalName = "아라곤어",
    scripts = {"Latn"},
    family = "roa",
    ancestors = {"roa-oan"},
}

m["ar"] = {
    canonicalName = "아랍어",
    otherNames = {"Modern Standard Arabic", "Standard Arabic", "Literary Arabic", "Classical Arabic"},
    scripts = {"Arab", "Brai"},
    family = "sem-arb",
    entry_name = {
        from = {u(0x0671), u(0x064B), u(0x064C), u(0x064D), u(0x064E), u(0x064F), u(0x0650), u(0x0651), u(0x0652), u(0x0670), u(0x0640)},
        to   = {u(0x0627)}},
    translit_module = "ar-translit",
}

m["as"] = {
    canonicalName = "아삼어",
    scripts = {"Beng"},
    family = "inc",
    ancestors = {"pka"},
}

m["av"] = {
    canonicalName = "Avar",
    otherNames = {"Avaric"},
    scripts = {"Cyrl"},
    family = "cau-nec",
    ancestors = {"oav"},
    translit_module = "av-translit",
}

m["ay"] = {
    canonicalName = "Aymara",
    otherNames = {"Southern Aymara", "Central Aymara"},
    scripts = {"Latn"},
    family = "sai-aym",
}

m["az"] = {
    canonicalName = "아제르바이잔어",
    otherNames = {"Azerbaijani", "Azari", "Azeri Turkic", "Azerbaijani Turkic", "North Azerbaijani", "South Azerbaijani"},
    scripts = {"Latn", "Cyrl", "fa-Arab"},
    family = "trk-ogz",
}

m["ba"] = {
    canonicalName = "Bashkir",
    scripts = {"Cyrl"},
    family = "trk-kip",
    translit_module = "ba-translit",
}

m["be"] = {
    canonicalName = "벨라루스어",
    otherNames = {"Belorussian", "Belarusan", "Bielorussian", "Byelorussian", "Belarussian", "White Russian"},
    scripts = {"Cyrl"},
    family = "zle",
    translit_module = "be-translit",
    sort_key = {
        from = {"Ё", "ё"},
        to   = {"Е" , "е"}},
    entry_name = {
        from = {"Ѐ", "ѐ", GRAVE, ACUTE},
        to   = {"Е", "е"}},
}

m["bg"] = {
    canonicalName = "Bulgarian",
    scripts = {"Cyrl"},
    family = "zls",
    translit_module = "bg-translit",
    entry_name = {
        from = {"Ѐ", "ѐ", "Ѝ", "ѝ", GRAVE, ACUTE},
        to   = {"Е", "е", "И", "и"}},
}

m["bh"] = {
    canonicalName = "Bihari",
    scripts = {"Deva"},
    family = "inc",
    ancestors = {"pka"},
}

m["bi"] = {
    canonicalName = "Bislama",
    scripts = {"Latn"},
    family = "crp",
    ancestors = {"en"},
}

m["bm"] = {
    canonicalName = "Bambara",
    otherNames = {"Bamanankan"},
    scripts = {"Latn"},
    family = "dmn",
}

m["bn"] = {
    canonicalName = "Bengali",
    otherNames = {"Bangla"},
    scripts = {"Beng"},
    family = "inc",
    ancestors = {"pka"},
    translit_module = "bn-translit",
}

m["bo"] = {
    canonicalName = "Tibetan",
    otherNames = {"Ü", "Dbus"},
    scripts = {"Tibt"},
    family = "tbq",
    ancestors = {"xct"},
    translit_module = "bo-translit",
}

m["br"] = {
    canonicalName = "Breton",
    scripts = {"Latn"},
    family = "cel-bry",
    ancestors = {"xbm"},
    entry_name = {
        from = {"[âàä]", "[êèë]", "[îìï]", "[ôòö]", "[ûùü]", CIRC, GRAVE, DIAER},
        to   = {"a",     "e",     "i",     "o",     "u"}},
}

m["ca"] = {
    canonicalName = "카탈루냐어",
    otherNames = {"Valencian"},
    scripts = {"Latn"},
    family = "roa",
    ancestors = {"roa-oca"},
    sort_key = {
        from = {"à", "[èé]", "[íï]", "[òó]", "[úü]", "ç", "l·l"},
        to   = {"a", "e"   , "i"   , "o"   , "u"   , "c", "ll" }} ,
}

m["ce"] = {
    canonicalName = "Chechen",
    scripts = {"Cyrl"},
    family = "cau-nkh",
    translit_module = "ce-translit",
    entry_name = {
        from = {MACRON},
        to   = {}},
}

m["ch"] = {
    canonicalName = "Chamorro",
    otherNames = {"Chamoru"},
    scripts = {"Latn"},
    family = "poz-sus",
}

m["co"] = {
    canonicalName = "Corsican",
    otherNames = {"Corsu"},
    scripts = {"Latn"},
    family = "roa",
}

m["cr"] = {
    canonicalName = "Cree",
    scripts = {"Cans", "Latn"},
    family = "alg",
    translit_module = "cr-translit",
}

m["cs"] = {
    canonicalName = "체코어",
    scripts = {"Latn"},
    family = "zlw",
    ancestors = {"zlw-ocs"},
    sort_key = {
        from = {"á", "é", "í", "ó", "[úů]", "ý"},
        to   = {"a", "e", "i", "o", "u"   , "y"}} ,
}

m["cu"] = {
    canonicalName = "Old Church Slavonic",
    otherNames = {"Old Church Slavic"},
    scripts = {"Cyrs", "Glag"},
    family = "zls",
    translit_module = "Cyrs-Glag-translit",
    entry_name = {
        from = {u(0x0484)}, -- kamora
        to   = {}},
    sort_key = {
        from = {"оу", "є"},
        to   = {"у" , "е"}} ,
}

m["cv"] = {
    canonicalName = "추바시어",
    scripts = {"Cyrl"},
    family = "trk-ogr",
    translit_module = "cv-translit",
}

m["cy"] = {
    canonicalName = "웨일스어",
    scripts = {"Latn"},
    family = "cel-bry",
    ancestors = {"wlm"},
    sort_key = {
        from = {"[âáàä]", "[êéèë]", "[îíìï]", "[ôóòö]", "[ûúùü]", "[ŵẃẁẅ]", "[ŷýỳÿ]", "'"},
        to   = {"a"     , "e"     , "i"     , "o"     , "u"     , "w"     , "y"     }} ,
}

m["da"] = {
    canonicalName = "덴마크어",
    scripts = {"Latn"},
    family = "gmq",
    ancestors = {"gmq-oda"},
}

m["de"] = {
    canonicalName = "독일어",
    otherNames = {"High German", "New High German", "Deutsch"}, -- the last name is indeed also used in English
    scripts = {"Latn", "Latf"},
    family = "gmw",
    ancestors = {"gmh"},
    sort_key = {
        from = {"[äàáâå]", "[ëèéê]", "[ïìíî]", "[öòóô]", "[üùúû]", "ß" },
        to   = {"a"      , "e"     , "i"     , "o"     , "u"     , "ss"}} ,
}

m["dv"] = {
    canonicalName = "디베히어",
    otherNames = {"Divehi", "Mahal", "Mahl", "Maldivian"},
    scripts = {"Thaa"},
    family = "inc",
    ancestors = {"pmh"},
    translit_module = "dv-translit",
}

m["dz"] = {
    canonicalName = "종카어",
    scripts = {"Tibt"},
    family = "tbq",
    ancestors = {"xct"},
    translit_module = "bo-translit",
}

m["ee"] = {
    canonicalName = "Ewe",
    scripts = {"Latn"},
    family = "alv",
}

m["el"] = {
    canonicalName = "그리스어",
    otherNames = {"Modern Greek", "Neo-Hellenic"},
    scripts = {"Grek", "Brai"},
    family = "grk",
    ancestors = {"grc"},
    translit_module = "el-translit",
    sort_key = {  -- Keep this synchronized with grc, cpg, pnt
        from = {"[ᾳάᾴὰᾲᾶᾷἀᾀἄᾄἂᾂἆᾆἁᾁἅᾅἃᾃἇᾇ]", "[έὲἐἔἒἑἕἓ]", "[ῃήῄὴῂῆῇἠᾐἤᾔἢᾒἦᾖἡᾑἥᾕἣᾓἧᾗ]", "[ίὶῖἰἴἲἶἱἵἳἷϊΐῒῗ]", "[όὸὀὄὂὁὅὃ]", "[ύὺῦὐὔὒὖὑὕὓὗϋΰῢῧ]", "[ῳώῴὼῲῶῷὠᾠὤᾤὢᾢὦᾦὡᾡὥᾥὣᾣὧᾧ]", "ῥ", "ς"},
        to   = {"α"                        , "ε"         , "η"                        , "ι"                , "ο"         , "υ"                , "ω"                        , "ρ", "σ"}} ,
}

m["en"] = {
    canonicalName = "영어",
    otherNames = {"Modern English", "New English", "Hawaiian Creole English", "Hawai'ian Creole English", "Hawaiian Creole", "Hawai'ian Creole", "Polari", "Yinglish"}, -- all but the first three are names and alt names of subsumed dialects which once had ISO codes
    scripts = {"Latn", "Brai", "Shaw", "Dsrt"}, -- last two are rare but probably attested; entries in them might require community approval, but it's good for the script codes not to be orphans
    family = "gmw",
    ancestors = {"enm"},
    sort_key = {
        from = {"[äàáâåā]", "[ëèéêē]", "[ïìíîī]", "[öòóôō]", "[üùúûū]", "æ" , "œ" , "[çč]", "ñ", "'"},
        to   = {"a"       , "e"      , "i"      , "o"      , "u"      , "ae", "oe", "c"   , "n"}},
    wikimedia_codes = {"en", "simple"},
    standardChars = {
		Latn = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz",
	},
}

m["eo"] = {
    canonicalName = "에스페란토",
    scripts = {"Latn"},
    family = "art",
    sort_key = {
        from = {"[áà]", "[éè]", "[íì]", "[óò]", "[úù]", "[ĉ]", "[ĝ]", "[ĥ]", "[ĵ]", "[ŝ]", "[ŭ]"},
        to   = {"a"       , "e"  , "i"  , "o"  , "u", "cĉ", "gĉ", "hĉ", "jĉ", "sĉ", "uĉ"}} ,
}

m["es"] = {
    canonicalName = "스페인어",
    otherNames = {"Castilian", "Amazonian Spanish", "Amazonic Spanish", "Loreto-Ucayali Spanish"},
    scripts = {"Latn", "Brai"},
    family = "roa",
    ancestors = {"osp"},
    sort_key = {
        from = {"á", "é", "í", "ó", "[úü]", "ç", "ñ"},
        to   = {"a", "e", "i", "o", "u"   , "c", "n"}},
    standardChars = "A-VXYZa-vxyz0-9ÁáÉéÍíÓóÚúÑñ¿¡" .. PUNCTUATION
}

m["et"] = {
    canonicalName = "에스토니아어",
    scripts = {"Latn"},
    family = "fiu-fin",
}

m["eu"] = {
    canonicalName = "바스크어",
    otherNames = {"Euskara"},
    scripts = {"Latn"},
    family = "euq",
}

m["fa"] = {
    canonicalName = "페르시아어",
    otherNames = {"Farsi", "New Persian", "Modern Persian", "Western Persian", "Iranian Persian", "Eastern Persian", "Dari", "Aimaq", "Aimak", "Aymaq", "Eimak"},
    scripts = {"fa-Arab"},
    family = "ira-wes",
    ancestors = {"pal"},
    entry_name = {
        from = {u(0x064E), u(0x064F), u(0x0650), u(0x0651), u(0x0652)},
        to   = {}} ,
}

m["ff"] = {
    canonicalName = "Fula",
    otherNames = {"Adamawa Fulfulde", "Bagirmi Fulfulde", "Borgu Fulfulde", "Central-Eastern Niger Fulfulde", "Fulani", "Fulfulde", "Maasina Fulfulde", "Nigerian Fulfulde", "Pular", "Pulaar", "Western Niger Fulfulde"}, -- Maasina, etc are dialects, subsumed into this code
    scripts = {"Latn"},
    family = "alv-sng",
}

m["fi"] = {
    canonicalName = "핀란드어",
    otherNames = {"Suomi"},
    scripts = {"Latn"},
    family = "fiu-fin",
    entry_name = {
        from = {"ˣ"},  -- Used to indicate gemination of the next consonant
        to   = {}},
    sort_key = {
        from = {"[áàâã]", "[éèêẽ]", "[íìîĩ]", "[óòôõ]", "[úùûũ]", "[ýỳŷüű]", "[øõő]", "æ" , "œ" , "[čç]", "š", "ž", "ß" , "[':]"},
        to   = {"a"     , "e"     , "i"     , "o"     , "u"     ,  "y"     , "ö"    , "ae", "oe", "c"   , "s", "z", "ss"}} ,
}

m["fj"] = {
    canonicalName = "피지어",
    scripts = {"Latn"},
    family = "poz-occ",
}

m["fo"] = {
    canonicalName = "Faroese",
    scripts = {"Latn"},
    family = "gmq",
    ancestors = {"non"},
}

m["fr"] = {
    canonicalName = "프랑스어",
    otherNames = {"Modern French"},
    scripts = {"Latn", "Brai"},
    family = "roa",
    ancestors = {"frm"},
    sort_key = {
        from = {"[áàâä]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "æ" , "œ" , "'"},
        to   = {"a"     , "e"     , "i"     , "o"     , "u"     , "y"     , "c", "ae", "oe"}},
    standardChars = "A-Za-z0-9ÀÂÇÉÈÊËÎÏÔŒÛÙÜàâçéèêëîïôœûùü" .. PUNCTUATION
}

m["fy"] = {
    canonicalName = "West Frisian",
    otherNames = {"Western Frisian", "Frisian"},
    scripts = {"Latn"},
    family = "gmw-fri",
    ancestors = {"ofs"},
}

m["ga"] = {
    canonicalName = "Irish",
    otherNames = {"Irish Gaelic"},
    scripts = {"Latn"},
    family = "cel-gae",
    ancestors = {"mga"},
    sort_key = {
        from = {"á", "é", "í", "ó", "ú", "ý", "ḃ" , "ċ" , "ḋ" , "ḟ" , "ġ" , "ṁ" , "ṗ" , "ṡ" , "ṫ" },
        to   = {"a", "e", "i", "o", "u", "y", "bh", "ch", "dh", "fh", "gh", "mh", "ph", "sh", "th"}} ,
}

m["gd"] = {
    canonicalName = "Scottish Gaelic",
    otherNames = {"Gàidhlig", "Highland Gaelic", "Scots Gaelic", "Scottish"},
    scripts = {"Latn"},
    family = "cel-gae",
    ancestors = {"mga"},
    sort_key = {
        from = {"[áà]", "[éè]", "[íì]", "[óò]", "[úù]", "[ýỳ]"},
        to   = {"a"   , "e"   , "i"   , "o"   , "u"   , "y"   }} ,
}

m["gl"] = {
    canonicalName = "Galician",
    scripts = {"Latn"},
    family = "roa",
    ancestors = {"roa-opt"},
    sort_key = {
        from = {"á", "é", "í", "ó", "ú"},
        to   = {"a", "e", "i", "o", "u"}} ,
}

m["gn"] = {
    canonicalName = "Guaraní",
    scripts = {"Latn"},
    family = "tup",
}

m["gu"] = {
    canonicalName = "Gujarati",
    scripts = {"Gujr"},
    family = "inc",
    ancestors = {"inc-ogu"},
    translit_module = "gu-translit",
}

m["gv"] = {
    canonicalName = "Manx",
    otherNames = {"Manx Gaelic"},
    scripts = {"Latn"},
    family = "cel-gae",
    ancestors = {"mga"},
    sort_key = {
        from = {"ç", "-"},
        to   = {"c"}} ,
}

m["ha"] = {
    canonicalName = "하우사어",
    scripts = {"Latn", "Arab"},
    family = "cdc-wst",
}

m["he"] = {
    canonicalName = "Hebrew",
    otherNames = {"Ivrit"},
    scripts = {"Hebr", "Phnx", "Brai"},
    family = "sem-can",
    entry_name = {
        from = {"[" .. u(0x0591) .. "-" .. u(0x05BD) .. u(0x05BF) .. "-" .. u(0x05C5) .. u(0x05C7) .. "]"},
        to   = {}} ,
}

m["hi"] = {
    canonicalName = "힌디어",
    scripts = {"Deva"},
    family = "inc",
    ancestors = {"inc-ohi"},
    translit_module = "hi-translit",
}

m["ho"] = {
    canonicalName = "Hiri Motu",
    otherNames = {"Pidgin Motu", "Police Motu"},
    scripts = {"Latn"},
    family = "crp",
    ancestors = {"meu"},
}

m["ht"] = {
    canonicalName = "Haitian Creole",
    otherNames = {"Creole", "Haitian", "Kreyòl"},
    scripts = {"Latn"},
    family = "crp",
}

m["hu"] = {
    canonicalName = "Hungarian",
    otherNames = {"Magyar"},
    scripts = {"Latn"},
    family = "fiu-ugr",
    ancestors = {"ohu"},
    sort_key = {
        from = {"á", "é", "í", "ó", "ú", "ő", "ű"},
        to   = {"a", "e", "i", "o", "u", "ö", "ü"}} ,
}

m["hy"] = {
    canonicalName = "Armenian",
    otherNames = {"Modern Armenian", "Eastern Armenian", "Western Armenian"},
    scripts = {"Armn", "Brai"},
    family = "hyx",
    ancestors = {"axm"},
    translit_module = "Armn-translit",
    sort_key = {
        from = {"ու", "և", "եւ"},
        to   = {"ւ", "եվ", "եվ"}},
    entry_name = {
        from = {"՞", "՜", "՛", "՟", "և", "<sup>յ</sup>", "<sup>ի</sup>"},
        to   = {"", "", "", "", "եւ", "յ", "ի"}} ,
}

m["hz"] = {
    canonicalName = "Herero",
    scripts = {"Latn"},
    family = "bnt",
}

m["ia"] = {
    canonicalName = "Interlingua",
    scripts = {"Latn"},
    family = "art",
}

m["id"] = {
    canonicalName = "Indonesian",
    scripts = {"Latn"},
    family = "poz-mly",
    ancestors = {"ms"},
}

m["ie"] = {
    canonicalName = "Interlingue",
    otherNames = {"Occidental"},
    scripts = {"Latn"},
    family = "art",
}

m["ig"] = {
    canonicalName = "Igbo",
    scripts = {"Latn"},
    family = "nic-bco",
}

m["ii"] = {
    canonicalName = "Sichuan Yi",
    otherNames = {"Nuosu", "Nosu", "Northern Yi", "Liangshan Yi"},
    scripts = {"Yiii"},
    family = "tbq-lol",
}

m["ik"] = {
    canonicalName = "Inupiak",
    otherNames = {"Inupiaq", "Iñupiaq", "Inupiatun"},
    scripts = {"Latn"},
    family = "esx-inu",
}

m["io"] = {
    canonicalName = "Ido",
    scripts = {"Latn"},
    family = "art",
}

m["is"] = {
    canonicalName = "Icelandic",
    scripts = {"Latn"},
    family = "gmq",
    ancestors = {"non"},
}

m["it"] = {
    canonicalName = "이탈리아어",
    scripts = {"Latn"},
    family = "roa",
    sort_key = {
        from = {"[àáâäå]", "[èéêë]", "[ìíîï]", "[òóôö]", "[ùúûü]"},
        to   = {"a"      , "e"     , "i"     , "o"     , "u"     }} ,
}

m["iu"] = {
    canonicalName = "Inuktitut",
    otherNames = {"Eastern Canadian Inuktitut", "Eastern Canadian Inuit", "Western Canadian Inuktitut", "Western Canadian Inuit", "Western Canadian Inuktun", "Inuinnaq", "Inuinnaqtun", "Inuvialuk", "Inuvialuktun", "Nunavimmiutit", "Nunatsiavummiut", "Aivilimmiut", "Natsilingmiut", "Kivallirmiut", "Siglit", "Siglitun"},
    scripts = {"Cans", "Latn"},
    family = "esx-inu",
    translit_module = "iu-translit",
}

m["ja"] = {
    canonicalName = "일본어",
    otherNames = {"Modern Japanese", "Nipponese", "Nihongo"},
    scripts = {"Jpan", "Latn", "Hira", "Brai"},
    family = "jpx",
    ancestors = {"ojp"},
}

m["jv"] = {
    canonicalName = "Javanese",
    scripts = {"Latn", "Java"},
    family = "poz-sus",
    translit_module = "jv-translit",
    ancestors = {"kaw"},
    link_tr = true,
}

m["ka"] = {
    canonicalName = "조지아어",
    otherNames = {"Kartvelian"},
    scripts = {"Geor", "Geok"},
    family = "ccs-gzn",
    ancestors = {"oge"},
    translit_module = "Geor-translit",
    entry_name = {
        from = {"̂"},
        to   = {""}},
}

m["kg"] = {
    canonicalName = "콩고어",
    otherNames = {"Kikongo", "Koongo", "Laari", "San Salvador Kongo", "Yombe"},
    scripts = {"Latn"},
    family = "bnt",
}

m["ki"] = {
    canonicalName = "Kikuyu",
    otherNames = {"Gikuyu", "Gĩkũyũ"},
    scripts = {"Latn"},
    family = "bnt",
}

m["kj"] = {
    canonicalName = "Kwanyama",
    otherNames = {"Kuanyama", "Oshikwanyama"},
    scripts = {"Latn"},
    family = "bnt",
}

m["kk"] = {
    canonicalName = "카자흐어",
    scripts = {"Cyrl", "Latn", "Arab", "kk-Arab"},
    family = "trk-kip",
    translit_module = "kk-translit",
}

m["kl"] = {
    canonicalName = "그린란드어",
    otherNames = {"Kalaallisut"},
    scripts = {"Latn"},
    family = "esx-inu",
}

m["km"] = {
    canonicalName = "크메르어",
    otherNames = {"Cambodian"},
    scripts = {"Khmr"},
    family = "mkh",
    ancestors = {"mkh-mkm"},
    translit_module = "km-translit",
}

m["kn"] = {
    canonicalName = "칸나다어",
    scripts = {"Knda"},
    family = "dra",
    translit_module = "kn-translit",
}

m["ko"] = {
    canonicalName = "한국어",
    otherNames = {"Modern Korean"},
    scripts = {"Kore", "Brai"},
    family = "qfa-kor",
    ancestors = {"okm"},
    translit_module = "ko-translit",
}

m["kr"] = {
    canonicalName = "Kanuri",
    otherNames = {"Kanembu", "Bilma Kanuri", "Central Kanuri", "Manga Kanuri", "Tumari Kanuri"},
    scripts = {"Latn"},
    family = "ssa",
}

m["ks"] = {
    canonicalName = "카슈미르어",
    scripts = {"ks-Arab", "Deva"},
    family = "inc-dar",
}

m["ku"] = {
    canonicalName = "쿠르드어",
    scripts = {"Latn", "ku-Arab", "Armn", "Cyrl"},
    family = "ira-wes",
}

m["kw"] = {
    canonicalName = "Cornish",
    scripts = {"Latn"},
    family = "cel-bry",
    ancestors = {"cnx"},
}

m["ky"] = {
    canonicalName = "키르기스어",
    otherNames = {"Kirghiz", "Kirgiz"},
    scripts = {"Cyrl", "Latn", "Arab"},
    family = "trk-kip",
    translit_module = "ky-translit",
}

m["la"] = {
    canonicalName = "라틴어",
    scripts = {"Latn"},
    family = "itc",
    ancestors = {"itc-ola"},
    entry_name = {
        from = {"[ĀĂ]", "[āă]", "[ĒĔ]", "[ēĕë]", "[ĪĬÏ]", "[īĭï]", "[ŌŎ]", "[ōŏ]", "[ŪŬÜ]", "[ūŭü]", "Ȳ", "ȳ", MACRON, BREVE, DIAER},
        to   = {"A", "a", "E", "e", "I", "i", "O", "o", "U", "u", "Y", "y"}},
}

m["lb"] = {
    canonicalName = "룩셈부르크어",
    scripts = {"Latn"},
    family = "gmw",
    ancestors = {"gmh"},
}

m["lg"] = {
    canonicalName = "루간다어",
    otherNames = {"Ganda"},
    scripts = {"Latn"},
    family = "bnt",
}

m["li"] = {
    canonicalName = "림뷔르흐어",
    otherNames = {"Limburgan", "Limburgian", "Limburgic"},
    scripts = {"Latn"},
    family = "gmw",
    ancestors = {"dum"},
}

m["ln"] = {
    canonicalName = "링갈라어",
    scripts = {"Latn"},
    family = "bnt",
}

m["lo"] = {
    canonicalName = "라오어",
    otherNames = {"Laotian"},
    scripts = {"Laoo"},
    family = "tai-swe",
    translit_module = "lo-translit",
}

m["lt"] = {
    canonicalName = "리투아니아어",
    scripts = {"Latn"},
    family = "bat",
    ancestors = {"olt"},
    entry_name = {
        from = {"[áãà]", "[ÁÃÀ]", "[éẽè]", "[ÉẼÈ]", "[íĩì]", "[ÍĨÌ]", "[ýỹ]", "[ÝỸ]", "ñ", "[óõò]", "[ÓÕÒ]", "[úũù]", "[ÚŨÙ]", ACUTE, GRAVE, TILDE},
        to   = {"a",       "A",     "e",     "E",     "i",     "I",     "y",   "Y",   "n",   "o",    "O",     "u",      "U"}} ,
}

m["lu"] = {
    canonicalName = "Luba-Katanga",
    scripts = {"Latn"},
    family = "bnt",
}

m["lv"] = {
    canonicalName = "라트비아어",
    otherNames = {"Lettish", "Lett"},
    scripts = {"Latn"},
    family = "bat",
    entry_name = {
        from = {"[ÂÃÀ]", "[âãà]", "[ÊẼÈ]", "[êẽè]", "[ÎĨÌ]", "[îĩì]", "[ÔÕÒ]", "[ôõò]", "[ÛŨÙ]", "[ûũù]", "[" .. CIRC .. TILDE ..GRAVE .."]"},
        to   = {"Ā", "ā", "Ē", "ē", "Ī", "ī", "O", "o", "Ū", "ū", MACRON}},
}

m["mg"] = {
    canonicalName = "말라가시어",
    otherNames = {"Betsimisaraka Malagasy", "Betsimisaraka", "Northern Betsimisaraka Malagasy", "Northern Betsimisaraka", "Southern Betsimisaraka Malagasy", "Southern Betsimisaraka", "Bara Malagasy", "Bara", "Masikoro Malagasy", "Masikoro", "Antankarana", "Antankarana Malagasy", "Plateau Malagasy", "Sakalava", "Tandroy Malagasy", "Tandroy", "Tanosy", "Tanosy Malagasy", "Tesaka", "Tsimihety", "Tsimihety Malagasy"},
    scripts = {"Latn"},
    family = "poz-bre",
}

m["mh"] = {
    canonicalName = "마셜어",
    scripts = {"Latn"},
    family = "poz-mic",
    sort_key = {
        from = {"ā" , "ļ" , "m̧" , "ņ" , "n̄"  , "o̧" , "ō"  , "ū" },
        to   = {"a~", "l~", "m~", "n~", "n~~", "o~", "o~~", "u~"}} ,
}

m["mi"] = {
    canonicalName = "마오리어",
    otherNames = {"Māori"},
    scripts = {"Latn"},
    family = "poz-pol",
}

m["mk"] = {
    canonicalName = "마케도니아어",
    scripts = {"Cyrl"},
    family = "zls",
    translit_module = "mk-translit",
    entry_name = {
        from = {ACUTE},
        to   = {}},
}

m["ml"] = {
    canonicalName = "말라얌어",
    scripts = {"Mlym"},
    family = "dra",
    translit_module = "ml-translit",
}

m["mn"] = {
    canonicalName = "몽골어",
    otherNames = {"Khalkha Mongolian"},
    scripts = {"Cyrl", "Mong"},
    family = "xgn",
    ancestors = {"cmg"},
    translit_module = "mn-translit",
}

m["mr"] = {
    canonicalName = "마라티어",
    scripts = {"Deva", "Modi"},
    family = "inc",
    ancestors = {"omr"},
    translit_module = "mr-translit",
}

m["ms"] = {
    canonicalName = "말레이어",
    otherNames = {"Malaysian", "Standard Malay", "Orang Seletar", "Orang Kanaq", "Jakun", "Temuan"},
    scripts = {"Latn", "Arab"},
    family = "poz-mly",
}

m["mt"] = {
    canonicalName = "몰타어",
    scripts = {"Latn"},
    family = "sem-arb",
    ancestors = {"sqr"},
}

m["my"] = {
    canonicalName = "버마어",
    otherNames = {"Myanmar"},
    scripts = {"Mymr"},
    family = "tbq-brm",
    ancestors = {"obr"},
    translit_module = "my-translit",
}

m["na"] = {
    canonicalName = "Nauruan",
    otherNames = {"Nauru"},
    scripts = {"Latn"},
    family = "poz-mic",
}

m["nb"] = {
    canonicalName = "노르웨이 보크몰",
    otherNames = {"Bokmål"},
    scripts = {"Latn"},
    family = "gmq",
    ancestors = {"gmq-mno"},
    wikimedia_codes = {"no"},
}

m["nd"] = {
    canonicalName = "Northern Ndebele",
    otherNames = {"North Ndebele"},
    scripts = {"Latn"},
    family = "bnt-ngu",
}

m["ne"] = {
    canonicalName = "네팔어",
    otherNames = {"Nepalese"},
    scripts = {"Deva"},
    family = "inc",
    translit_module = "ne-translit",
}

m["ng"] = {
    canonicalName = "Ndonga",
    scripts = {"Latn"},
    family = "bnt",
}

m["nl"] = {
    canonicalName = "네덜란드어",
    otherNames = {"Netherlandic", "Flemish"},
    scripts = {"Latn"},
    family = "gmw",
    ancestors = {"dum"},
    sort_key = {
        from = {"[äáâå]", "[ëéê]", "[ïíî]", "[öóô]", "[üúû]", "ç", "ñ", "^-"},
        to   = {"a"     , "e"    , "i"    , "o"    , "u"    , "c", "n"}} ,
    standardChars = "A-Za-z0-9" .. PUNCTUATION .. u(0x2800) .. "-" .. u(0x28FF),
}

m["nn"] = {
    canonicalName = "노르웨이 뉘노르스크",
    otherNames = {"New Norwegian", "Nynorsk"},
    scripts = {"Latn"},
    family = "gmq",
    ancestors = {"gmq-mno"},
}

m["no"] = {
    canonicalName = "노르웨이어",
    scripts = {"Latn"},
    family = "gmq",
    ancestors = {"gmq-mno"},
}

m["nr"] = {
    canonicalName = "Southern Ndebele",
    otherNames = {"South Ndebele"},
    scripts = {"Latn"},
    family = "bnt-ngu",
}

m["nv"] = {
    canonicalName = "나바호어",
    scripts = {"nv-Latn"},
    family = "apa",
    sort_key = {
        from = {"[áą]", "[éę]", "[íį]", "[óǫ]", "ń", "^n([djlt])", "ł" , "[ʼ’']", ACUTE},
        to   = {"a"   , "e"   , "i"   , "o"   , "n", "ni%1"      , "l"}}, -- the copyright sign is used to guarantee that ł will always be sorted after all other words with l
}

m["ny"] = {
    canonicalName = "Chichewa",
    otherNames = {"Chicheŵa", "Chinyanja", "Nyanja", "Chewa"},
    scripts = {"Latn"},
    family = "bnt",
    entry_name = {
        from = {ACUTE},
        to   = {}},
}

m["oc"] = {
    canonicalName = "오크어",
    otherNames = {"Provençal", "Auvergnat", "Auvernhat", "Gascon", "Languedocien", "Lengadocian", "Shuadit", "Chouhadite", "Chouhadit", "Chouadite", "Chouadit", "Shuhadit", "Judeo-Provençal", "Judeo-Provencal", "Judeo-Comtadin"},
    scripts = {"Latn", "Hebr"},
    family = "roa",
    ancestors = {"pro"},
    sort_key = {
        from = {"[àá]", "[èé]", "[íï]", "[òó]", "[úü]", "ç", "([lns])·h"},
        to   = {"a"   , "e"   , "i"   , "o"   , "u"   , "c", "%1h"      }} ,
}

m["oj"] = {
    canonicalName = "Ojibwe",
    otherNames = {"Chippewa", "Ojibway", "Ojibwemowin", "Southwestern Ojibwa"},
    scripts = {"Cans", "Latn"},
    family = "alg",
}

m["om"] = {
    canonicalName = "오로모어",
    otherNames = {"Orma", "Borana-Arsi-Guji Oromo", "West Central Oromo"},
    scripts = {"Latn", "Ethi"},
    family = "cus",
}

m["or"] = {
    canonicalName = "Oriya",
    otherNames = {"Odia", "Oorya"},
    scripts = {"Orya"},
    family = "inc",
    ancestors = {"pka"},
}

m["os"] = {
    canonicalName = "오세트어",
    otherNames = {"Ossete", "Ossetic", "Digor", "Iron"},
    scripts = {"Cyrl", "Geor", "Latn"},
    family = "ira",
    translit_module = "os-translit",
    ancestors = {"oos"},
    entry_name = {
        from = {GRAVE, ACUTE},
        to   = {}} ,
}

m["pa"] = {
    canonicalName = "펀자브어",
    otherNames = {"Panjabi"},
    scripts = {"Guru", "Arab", "Deva"},
    family = "inc",
    translit_module = "pa-translit",
    ancestors = {"psu"},
}

m["pi"] = {
    canonicalName = "팔리어",
    scripts = {"Latn", "Deva", "Sinh", "Mymr", "Khmr", "Thai"},
    family = "inc",
    ancestors = {"bh"},
    sort_key = {
        from = {"ā", "ī", "ū", "ḍ", "ḷ", "[ṁṃ]", "[ṇñṅ]", "ṭ"},
        to   = {"a", "i", "u", "d", "l", "m"   , "n"    , "t"}} ,
}

m["pl"] = {
    canonicalName = "폴란드어",
    scripts = {"Latn"},
    family = "zlw",
    ancestors = {"zlw-opl"},
    sort_key = {
        from = {"[Ąą]", "[Ćć]", "[Ęę]", "[Łł]", "[Ńń]", "[Óó]", "[Śś]", "[Żż]", "[Źź]"},
        to   = {
            "a" .. u(0x10FFFF),
            "c" .. u(0x10FFFF),
            "e" .. u(0x10FFFF),
            "l" .. u(0x10FFFF),
            "n" .. u(0x10FFFF),
            "o" .. u(0x10FFFF),
            "s" .. u(0x10FFFF),
            "z" .. u(0x10FFFF),
            "z" .. u(0x10FFFE)}} ,
}

m["ps"] = {
    canonicalName = "파슈토어",
    otherNames = {"Pashtun", "Pushto", "Pashtu", "Central Pashto", "Northern Pashto", "Southern Pashto", "Pukhto", "Pakhto", "Pakkhto", "Afghani"},
    scripts = {"ps-Arab"},
    family = "ira-eas",
}

m["pt"] = {
    canonicalName = "포르투갈어",
    otherNames = {"Modern Portuguese"},
    scripts = {"Latn", "Brai"},
    family = "roa",
    ancestors = {"roa-opt"},
    sort_key = {
        from = {"[àãáâä]", "[èẽéêë]", "[ìĩíï]", "[òóôõö]", "[üúùũ]", "ç", "ñ"},
        to   = {"a"      , "e"      , "i"     , "o"      , "u"     , "c", "n"}} ,
}

m["qu"] = {
    canonicalName = "케추아어",
    scripts = {"Latn"},
    family = "qwe",
}

m["rm"] = {
    canonicalName = "로망슈어",
    otherNames = {"Romansh", "Rumantsch", "Romanche"},
    scripts = {"Latn"},
    family = "roa",
}

m["rn"] = {
    canonicalName = "Kirundi",
    scripts = {"Latn"},
    family = "bnt",
}

m["ro"] = {
    canonicalName = "루마니아어",
    otherNames = {"Daco-Romanian", "Roumanian", "Rumanian"},
    scripts = {"Latn", "Cyrl"},
    family = "roa",
    sort_key = {
        from = {"ă" , "â"  , "î" , "ș" , "ț" },
        to   = {"a~", "a~~", "i~", "s~", "t~"}},
}

m["ru"] = {
    canonicalName = "러시아어",
    scripts = {"Cyrl", "Brai"},
    family = "zle",
    translit_module = "ru-translit",
    sort_key = {
        from = {"ё"},
        to   = {"е" .. mw.ustring.char(0x10FFFF)}},
    entry_name = {
        from = {"Ѐ", "ѐ", "Ѝ", "ѝ", GRAVE, ACUTE},
        to   = {"Е", "е", "И", "и"}},
}

m["rw"] = {
    canonicalName = "Kinyarwanda",
    otherNames = {"Rwanda"},
    scripts = {"Latn"},
    family = "bnt",
}

m["sa"] = {
    canonicalName = "산스크리트어",
    scripts = {"Deva", "Beng", "Brah", "Gran", "Gujr", "Guru", "Khar", "Knda", "Mlym", "Mymr", "Orya", "Shrd", "Sinh", "Taml", "Telu", "Thai", "Tibt"},
    family = "inc",
    translit_module = "sa-translit",
}

m["sc"] = {
    canonicalName = "Sardinian",
    otherNames = {"Campidanese", "Campidanese Sardinian", "Logudorese", "Logudorese Sardinian", "Nuorese", "Nuorese Sardinian"},
    scripts = {"Latn"},
    family = "roa",
}

m["sd"] = {
    canonicalName = "신드어",
    scripts = {"sd-Arab", "Deva"},
    family = "inc",
}

m["se"] = {
    canonicalName = "Northern Sami",
    otherNames = {"North Sami", "Northern Saami", "North Saami"},
    scripts = {"Latn"},
    family = "smi",
    entry_name = {
        from = {"([đflmnŋrsšŧv])'%1"},
        to   = {"%1%1"} },
}

m["sg"] = {
    canonicalName = "상고어",
    scripts = {"Latn"},
    family = "crp",
}

m["sh"] = {
    canonicalName = "세르보크로아트어",
    otherNames = {"BCS", "Croato-Serbian", "Serbocroatian", "Bosnian", "Croatian", "Montenegrin", "Serbian"},
    scripts = {"Latn", "Cyrl"},
    family = "zls",
    entry_name = {
        from = {"[ȀÀȂÁĀ]", "[ȁàȃáā]", "[ȄÈȆÉĒ]", "[ȅèȇéē]", "[ȈÌȊÍĪ]", "[ȉìȋíī]", "[ȌÒȎÓŌ]", "[ȍòȏóō]", "[ȐȒŔ]", "[ȑȓŕ]", "[ȔÙȖÚŪ]", "[ȕùȗúū]", "Ѐ", "ѐ", "[ӢЍ]", "[ӣѝ]", "[Ӯ]", "[ӯ]", GRAVE, ACUTE, DGRAVE, INVBREVE, MACRON},
        to   = {"A"      , "a"      , "E"      , "e"      , "I"      , "i"      , "O"      , "o"      , "R"    , "r"    , "U"      , "u"      , "Е", "е", "И"   , "и", "У", "у"   }},
    wikimedia_codes = {"sh", "bs", "hr", "sr"},
}

m["si"] = {
    canonicalName = "싱할라어",
    otherNames = {"Singhalese", "Sinhala"},
    scripts = {"Sinh"},
    family = "inc",
    ancestors = {"pmh"},
    translit_module = "si-translit",
}

m["sk"] = {
    canonicalName = "슬로바키아어",
    scripts = {"Latn"},
    family = "zlw",
    sort_key = {
        from = {"[áä]", "é", "í", "[óô]", "ú", "ý", "ŕ", "ĺ"},
        to   = {"a"   , "e", "i", "o"   , "u", "y", "r", "l"}} ,
}

m["sl"] = {
    canonicalName = "슬로베니아어",
    otherNames = {"Slovenian"},
    scripts = {"Latn"},
    family = "zls",
    entry_name = {
        from = {"[ÁÀÂȂȀ]", "[áàâȃȁ]", "[ÉÈÊȆȄỆẸ]", "[éèêȇȅệẹə]", "[ÍÌÎȊȈ]", "[íìîȋȉ]", "[ÓÒÔȎȌỘỌ]", "[óòôȏȍộọ]", "[ŔȒȐ]", "[ŕȓȑ]", "[ÚÙÛȖȔ]", "[úùûȗȕ]", "ł", GRAVE, ACUTE, DGRAVE, INVBREVE, CIRC, DOTBELOW},
        to   = {"A"      , "a"      , "E"        , "e"         , "I"      , "i"      , "O"        , "o"        , "R"    , "r"    , "U"      , "u"      , "l"}} ,
}

m["sm"] = {
    canonicalName = "사모아어",
    scripts = {"Latn"},
    family = "poz-pol",
}

m["sn"] = {
    canonicalName = "Shona",
    scripts = {"Latn"},
    family = "bnt",
}

m["so"] = {
    canonicalName = "소말리어",
    scripts = {"Latn", "Arab", "Osma"},
    family = "cus",
    entry_name = {
        from = {"[ÁÀÂ]", "[áàâ]", "[ÉÈÊ]", "[éèê]", "[ÍÌÎ]", "[íìî]", "[ÓÒÔ]", "[óòô]", "[ÚÙÛ]", "[úùû]", "[ÝỲ]", "[ýỳ]"},
        to   = {"A"      , "a"      , "E"    , "e" , "I"      , "i"      , "O"    , "o"    , "U"  , "u", "Y", "y"}} ,
}

m["sq"] = {
    canonicalName = "알바니아어",
    scripts = {"Latn", "Elba"},
    family = "sqj",
    sort_key = {
        from = { '[âãä]', '[ÂÃÄ]', '[êẽë]', '[ÊẼË]', 'ĩ', 'Ĩ', 'õ', 'Õ', 'ũ', 'Ũ', 'ỹ', 'Ỹ', 'ç', 'Ç' },
        to   = {     'a',     'A',     'e',     'E', 'i', 'I', 'o', 'O', 'u', 'U', 'y', 'Y', 'c', 'C' } } ,
}

m["ss"] = {
    canonicalName = "Swazi",
    otherNames = {"Swati"},
    scripts = {"Latn"},
    family = "bnt-ngu",
}

m["st"] = {
    canonicalName = "Sotho",
    otherNames = {"Sesotho", "Southern Sesotho", "Southern Sotho"},
    scripts = {"Latn"},
    family = "bnt",
}

m["su"] = {
    canonicalName = "Sundanese",
    scripts = {"Latn", "Sund"},
    family = "poz-msa",
    translit_module = "su-translit",
}

m["sv"] = {
    canonicalName = "스웨덴어",
    scripts = {"Latn"},
    family = "gmq",
    ancestors = {"gmq-osw"},
}

m["sw"] = {
    canonicalName = "스와힐리어",
    otherNames = {"Settler Swahili", "KiSetla", "KiSettla", "Setla", "Settla", "Kitchen Swahili", "Kihindi", "Indian Swahili", "KiShamba", "Kishamba", "Field Swahili", "Kibabu", "Asian Swahili", "Kimanga", "Arab Swahili", "Kitvita", "Army Swahili"},
    scripts = {"Latn", "Arab"},
    family = "bnt",
    sort_key = {
        from = {"ng'", "^-"},
        to   = {"ngz"}} ,
}

m["ta"] = {
    canonicalName = "타밀어",
    scripts = {"Taml"},
    family = "dra",
    ancestors = {"oty"},
    translit_module = "ta-translit",
}

m["te"] = {
    canonicalName = "텔루구어",
    scripts = {"Telu"},
    family = "dra",
    translit_module = "te-translit",
}

m["tg"] = {
    canonicalName = "타지크어",
    otherNames = {"Tadjik", "Tadzhik", "Tajiki", "Tajik Persian"},
    scripts = {"Cyrl", "fa-Arab", "Latn"},
    family = "ira-wes",
    ancestors = {"fa"},
    translit_module = "tg-translit",
        sort_key = {
        from = {"Ё", "ё"},
        to   = {"Е" , "е"}} ,
    entry_name = {
        from = {ACUTE},
        to   = {}} ,
}

m["th"] = {
    canonicalName = "태국어",
    scripts = {"Thai", "Brai"},
    family = "tai-swe",
    translit_module = "th-translit",
    entry_name = {
        from = { "-" },
        to = {}} ,
}

m["ti"] = {
    canonicalName = "Tigrinya",
    scripts = {"Ethi"},
    family = "sem-eth",
    translit_module = "Ethi-translit",
}

m["tk"] = {
    canonicalName = "투르크멘어",
    scripts = {"Latn", "Cyrl"},
    family = "trk-ogz",
}

m["tl"] = {
    canonicalName = "타갈로그어",
    scripts = {"Latn", "Tglg"},
    family = "phi",
}

m["tn"] = {
    canonicalName = "츠와나어",
    otherNames = {"Setswana"},
    scripts = {"Latn"},
    family = "bnt",
}

m["to"] = {
    canonicalName = "통가어",
    scripts = {"Latn"},
    family = "poz-pol",
}

m["tr"] = {
    canonicalName = "터키어",
    scripts = {"Latn"},
    family = "trk-ogz",
    ancestors = {"ota"},
}

m["ts"] = {
    canonicalName = "Tsonga",
    scripts = {"Latn"},
    family = "bnt",
}

m["tt"] = {
    canonicalName = "타타르어",
    scripts = {"Cyrl", "Latn", "Arab", "tt-Arab"},
    family = "trk-kip",
    translit_module = "tt-translit",
}

m["ty"] = {
    canonicalName = "Tahitian",
    scripts = {"Latn"},
    family = "poz-pol",
}

m["ug"] = {
    canonicalName = "위구르어",
    otherNames = {"Uigur", "Uighur", "Uygur"},
    scripts = {"ug-Arab", "Latn", "Cyrl"},
    family = "trk",
    ancestors = {"chg"},
    translit_module = "ug-translit",
}

m["uk"] = {
    canonicalName = "우크라이나어",
    scripts = {"Cyrl"},
    family = "zle",
    translit_module = "uk-translit",
    entry_name = {
        from = {"Ѐ", "ѐ", "Ѝ", "ѝ", GRAVE, ACUTE},
        to   = {"Е", "е", "И", "и"}},
}
m["ur"] = {
    canonicalName = "우르두어",
    scripts = {"ur-Arab"},
    family = "inc",
    ancestors = {"psu"},
    entry_name = {
        from = {u(0x064B), u(0x064C), u(0x064D), u(0x064E), u(0x064F), u(0x0650), u(0x0651), u(0x0652)},
        to   = {}} ,
}

m["uz"] = {
    canonicalName = "우즈베크어",
    otherNames = {"Northern Uzbek", "Southern Uzbek"},
    scripts = {"Latn", "Cyrl", "fa-Arab"},
    family = "trk",
    ancestors = {"chg"},
}

m["ve"] = {
    canonicalName = "Venda",
    scripts = {"Latn"},
    family = "bnt",
}

m["vi"] = {
    canonicalName = "베트남어",
    otherNames = {"Annamese", "Annamite"},
    scripts = {"Latn", "Hani"},
    family = "mkh-vie",
    ancestors = {"mkh-mvi"},
}

m["vo"] = {
    canonicalName = "Volapük",
    scripts = {"Latn"},
    family = "art",
}

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

m["wo"] = {
    canonicalName = "월로프어",
    otherNames = {"Gambian Wolof"}, -- the subsumed dialect 'wof'
    scripts = {"Latn", "Arab"},
    family = "alv-sng",
}

m["xh"] = {
    canonicalName = "코사어",
    scripts = {"Latn"},
    family = "bnt-ngu",
}

m["yi"] = {
    canonicalName = "이디시어",
    scripts = {"Hebr"},
    family = "gmw",
    ancestors = {"gmh"},
    translit_module = "yi-translit",
}

m["yo"] = {
    canonicalName = "요루바어",
    scripts = {"Latn"},
    family = "alv-von",
}

m["za"] = {
    canonicalName = "좡어",
    scripts = {"Latn", "Hani"},
    family = "tai",
}

m["zh"] = {
    canonicalName = "중국어",
    scripts = {"Hani", "Brai"},
    family = "sit",
    ancestors = {"ltc"},
}

m["zu"] = {
    canonicalName = "줄루어",
    otherNames = {"isiZulu"},
    scripts = {"Latn"},
    family = "bnt-ngu",
}

return m