Module:languages/data2
Documentation for this module may be created at Module:languages/data2/doc
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 OGONEK = u(0x0328)
local CGJ = u(0x034F) -- combining grapheme joiner
local DOUBLEINVBREVE = u(0x0361)
-- Punctuation to be used for standardChars field
local PUNCTUATION = ' !#%&*+,-./:;<=>?@^_`|~\'()'
local Cyrl = {"Cyrl"}
local Latn = {"Latn"}
local LatnArab = {"Latn", "Arab"}
local m = {}
m["aa"] = {
"Afar",
27811,
"cus-eas",
Latn,
entry_name = { remove_diacritics = ACUTE},
}
m["ab"] = {
"Abkhaz",
5111,
"cau-abz",
{"Cyrl", "Geor", "Latn"},
translit_module = "ab-translit",
override_translit = true,
entry_name = {
from = {GRAVE, ACUTE},
to = {}} ,
}
m["ae"] = {
"Avestan",
29572,
"ira-cen",
{"Avst", "Gujr"},
translit_module = "Avst-translit",
wikipedia_article = "Avestan",
}
m["af"] = {
"Afrikaans",
14196,
"gmw",
LatnArab,
ancestors = {"nl"},
sort_key = {
from = {"[äáâà]", "[ëéêè]", "[ïíîì]", "[öóôò]", "[üúûù]", "[ÿýŷỳ]", "^-", "'"},
to = {"a" , "e" , "i" , "o" , "u" , "y" }} ,
}
m["ak"] = {
"Akan",
28026,
"alv-ctn",
Latn,
}
m["am"] = {
"Amharic",
28244,
"sem-eth",
{"Ethi"},
translit_module = "Ethi-translit",
}
m["an"] = {
"Aragonese",
8765,
"roa-ibe",
Latn,
ancestors = {"roa-oan"},
}
m["ar"] = {
"Arabic",
13955,
"sem-arb",
{"Arab", "Hebr", "Brai"},
entry_name = "ar-entryname",
-- put Judeo-Arabic (Hebrew-script Arabic) under the category header
-- U+FB21 HEBREW LETTER WIDE ALEF so that it sorts after Arabic script titles
sort_key = {
from = {"^%f[" .. u(0x5D0) .. "-" .. u(0x5EA) .. "]"},
to = {u(0xFB21)},
},
translit_module = "ar-translit",
}
m["as"] = {
"Assamese",
29401,
"inc-eas",
{"as-Beng"},
ancestors = {"inc-mas"},
translit_module = "as-translit",
}
m["av"] = {
"Avar",
29561,
"cau-nec",
Cyrl,
ancestors = {"oav"},
translit_module = "av-translit",
override_translit = true,
entry_name = {
from = {GRAVE, ACUTE},
to = {}} ,
}
m["ay"] = {
"Aymara",
4627,
"sai-aym",
Latn,
}
m["az"] = {
"Azerbaijani",
9292,
"trk-ogz",
{"Latn", "Cyrl", "fa-Arab"},
ancestors = {"trk-oat"},
dotted_dotless_i = true,
}
m["ba"] = {
"Bashkir",
13389,
"trk-kbu",
Cyrl,
translit_module = "ba-translit",
override_translit = true,
}
m["be"] = {
"Belarusian",
9091,
"zle",
Cyrl,
ancestors = {"zle-ort"},
translit_module = "be-translit",
sort_key = {
from = {"Ё", "ё"},
to = {"Е" , "е"}},
entry_name = {
from = {"Ѐ", "ѐ", GRAVE, ACUTE},
to = {"Е", "е"}},
}
m["bg"] = {
"Bulgarian",
7918,
"zls",
{"Cyrl"},
ancestors = {"cu"},
translit_module = "bg-translit",
entry_name = {
from = {"Ѐ", "ѐ", "Ѝ", "ѝ", GRAVE, ACUTE},
to = {"Е", "е", "И", "и"}},
}
m["bh"] = {
"Bihari",
135305,
"inc-eas",
{"Deva"},
ancestors = {"inc-mgd"},
}
m["bi"] = {
"Bislama",
35452,
"crp",
Latn,
ancestors = {"en"},
}
m["bm"] = {
"Bambara",
33243,
"dmn-emn",
Latn,
}
m["bn"] = {
"Bengali",
9610,
"inc-eas",
{"Beng", "Newa"},
ancestors = {"inc-mbn"},
translit_module = "bn-translit",
}
m["bo"] = {
"Tibetan",
34271,
"sit-tib",
{"Tibt"}, -- sometimes Deva?
ancestors = {"xct"},
translit_module = "bo-translit",
override_translit = true,
}
m["br"] = {
"Breton",
12107,
"cel-bry",
Latn,
ancestors = {"xbm"},
}
m["ca"] = {
"Catalan",
7026,
"roa-ocr",
Latn,
ancestors = {"roa-oca"},
sort_key = {
from = {"à", "[èé]", "[íï]", "[òó]", "[úü]", "ç", "l·l"},
to = {"a", "e" , "i" , "o" , "u" , "c", "ll" }} ,
}
m["ce"] = {
"Chechen",
33350,
"cau-vay",
Cyrl,
translit_module = "ce-translit",
override_translit = true,
entry_name = {
from = {MACRON},
to = {}},
}
m["ch"] = {
"Chamorro",
33262,
"poz-sus",
Latn,
}
m["co"] = {
"Corsican",
33111,
"roa-itd",
Latn,
}
m["cr"] = {
"Cree",
33390,
"alg",
{"Cans", "Latn"},
translit_module = "translit-redirect",
}
m["cs"] = {
"Czech",
9056,
"zlw",
Latn,
ancestors = {"zlw-ocs"},
sort_key = {
from = {"á", "é", "í", "ó", "[úů]", "ý"},
to = {"a", "e", "i", "o", "u" , "y"}} ,
}
m["cu"] = {
"Old Church Slavonic",
35499,
"zls",
{"Cyrs", "Glag"},
translit_module = "Cyrs-Glag-translit",
entry_name = {
from = {u(0x0308), u(0x0300), u(0x0301), u(0x0484), u(0x0485), u(0x0486)}, -- trema, varia, oksia, kamora, dasia, psili
to = {}},
sort_key = {
from = {"оу", "є"},
to = {"у" , "е"}} ,
}
m["cv"] = {
"Chuvash",
33348,
"trk-ogr",
Cyrl,
ancestors = {"xbo"},
translit_module = "cv-translit",
override_translit = true,
}
m["cy"] = {
"Welsh",
9309,
"cel-bry",
Latn,
ancestors = {"wlm"},
sort_key = {
from = {"[âáàä]", "ch", "dd", "[êéèë]", "ff", "ngh", "[îíìï]", "ll", "[ôóòö]", "ph", "rh", "th", "[ûúùü]", "[ŵẃẁẅ]", "[ŷýỳÿ]", "'"},
to = {"a" , "c~", "d~", "e" , "f~", "g~h", "i" , "l~", "o" , "p~", "r~", "t~", "u" , "w" , "y" }} ,
standardChars = "A-IL-PR-UWYa-il-pr-uwy0-9ÂâÊêÎîÔôÛûŴŵŶŷ" .. PUNCTUATION,
}
m["da"] = {
"Danish",
9035,
"gmq",
Latn,
ancestors = {"gmq-oda"},
}
m["de"] = {
"German",
188,
"gmw",
{"Latn", "Latf"},
ancestors = {"gmh"},
sort_key = {
from = {"[äàáâå]", "[ëèéê]", "[ïìíî]", "[öòóô]", "[üùúû]", "ß" },
to = {"a" , "e" , "i" , "o" , "u" , "ss"}} ,
standardChars = "A-Za-z0-9ÄäÖöÜüß" .. PUNCTUATION,
}
m["dv"] = {
"Dhivehi",
32656,
"inc-ins",
{"Thaa", "Diak"},
ancestors = {"elu-prk"},
translit_module = "translit-redirect",
override_translit = true,
}
m["dz"] = {
"Dzongkha",
33081,
"sit-tib",
{"Tibt"},
ancestors = {"xct"},
translit_module = "bo-translit",
override_translit = true,
}
m["ee"] = {
"Ewe",
30005,
"alv-gbe",
Latn,
}
m["el"] = {
"Greek",
9129,
"grk",
{"Grek", "Brai"},
ancestors = {"grc"},
translit_module = "el-translit",
override_translit = true,
entry_name = {
from = {u(0x0324), u(0x032E), CARON},
to = {}},
sort_key = { -- Keep this synchronized with grc, cpg, pnt, tsd, grk-mar
from = {"[ᾳάᾴὰᾲᾶᾷἀᾀἄᾄἂᾂἆᾆἁᾁἅᾅἃᾃἇᾇα̤ά̤]", "[έὲἐἔἒἑἕἓ]", "[ῃήῄὴῂῆῇἠᾐἤᾔἢᾒἦᾖἡᾑἥᾕἣᾓἧᾗ]", "[ίὶῖἰἴἲἶἱἵἳἷϊΐῒῗι̮]", "[όὸὀὄὂὁὅὃο̤ό̤]", "[ύὺῦὐὔὒὖὑὕὓὗϋΰῢῧ]", "[ῳώῴὼῲῶῷὠᾠὤᾤὢᾢὦᾦὡᾡὥᾥὣᾣὧᾧ]", "ῥ", "ς", "ζ̌", "ξ̌", "σ̌", "χ̌", "ψ̌"},
to = {"α" , "ε" , "η" , "ι" , "ο" , "υ" , "ω" , "ρ", "σ", "ζ", "ξ", "σ", "χ", "ψ"}} ,
standardChars = "ͺ;΄-ώϜϝ" .. PUNCTUATION,
}
m["en"] = {
"English",
1860,
"gmw",
{"Latn", "Brai", "Shaw", "Dsrt"}, -- entries in Shaw or Dsrt might require prior discussion
ancestors = {"enm"},
sort_key = {
from = {"[äàáâåā]", "[ëèéêē]", "[ïìíîī]", "[öòóôō]", "[üùúûū]", "æ" , "œ" , "[çč]", "ñ", "'"},
to = {"a" , "e" , "i" , "o" , "u" , "ae", "oe", "c" , "n"}},
wikimedia_codes = {"en", "simple"},
standardChars = "A-Za-z0-9" .. PUNCTUATION .. u(0x2800) .. "-" .. u(0x28FF),
}
m["eo"] = {
"Esperanto",
143,
"art",
Latn,
sort_key = {
from = {"[áà]", "[éè]", "[íì]", "[óò]", "[úù]", "[ĉ]", "[ĝ]", "[ĥ]", "[ĵ]", "[ŝ]", "[ŭ]"},
to = {"a" , "e" , "i" , "o" , "u", "cĉ", "gĉ", "hĉ", "jĉ", "sĉ", "uĉ"}} ,
standardChars = "A-PRSTUVZa-prstuvzĉĈĝĜĵĴŝŜŭŬ0-9" .. PUNCTUATION,
}
m["es"] = {
"Spanish",
1321,
"roa-ibe",
{"Latn", "Brai"},
ancestors = {"osp"},
sort_key = {
from = {"á", "é", "í", "ó", "[úü]", "ç", "ñ"},
to = {"a", "e", "i", "o", "u" , "c", "n~"}},
standardChars = "A-VXYZa-vxyz0-9ÁáÉéÍíÓóÚúÑñ¿¡" .. PUNCTUATION,
}
m["et"] = {
"Estonian",
9072,
"fiu-fin",
Latn,
}
m["eu"] = {
"Basque",
8752,
"euq",
Latn,
}
m["fa"] = {
"Persian",
9168,
"ira-swi",
{"fa-Arab"},
ancestors = {"pal"}, -- "ira-mid"
entry_name = {
from = {u(0x064E), u(0x0640), u(0x064F), u(0x0650), u(0x0651), u(0x0652)},
to = {}} ,
}
m["ff"] = {
"Fula",
33454,
"alv-fwo",
{"Latn", "Adlm"},
}
m["fi"] = {
"Finnish",
1412,
"fiu-fin",
Latn,
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"] = {
"Fijian",
33295,
"poz-occ",
Latn,
}
m["fo"] = {
"Faroese",
25258,
"gmq",
Latn,
ancestors = {"non"},
}
m["fr"] = {
"French",
150,
"roa-oil",
{"Latn", "Brai"},
ancestors = {"frm"},
sort_key = {
from = {"[áàâä]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "æ" , "œ" , "'"},
to = {"a" , "e" , "i" , "o" , "u" , "y" , "c", "ae", "oe"}},
standardChars = "A-Za-z0-9ÀÂÇÉÈÊËÎÏÔŒÛÙÜàâçéèêëîïôœûùü«»" .. PUNCTUATION,
}
m["fy"] = {
"West Frisian",
27175,
"gmw-fri",
Latn,
ancestors = {"ofs"},
sort_key = {
from = {"[àáâä]", "[èéêë]", "[ìíîïyỳýŷÿ]", "[òóôö]", "[ùúûü]", "æ", "[ /.-]"},
to = {"a" , "e" , "i" , "o" , "u", "ae"}} ,
standardChars = "A-PR-WYZa-pr-wyz0-9Ææâäàéêëèïìôöòúûüùỳ" .. PUNCTUATION,
}
m["ga"] = {
"Irish",
9142,
"cel-gae",
Latn,
ancestors = {"mga"},
sort_key = {
from = {"á", "é", "í", "ó", "ú", "ý", "ḃ" , "ċ" , "ḋ" , "ḟ" , "ġ" , "ṁ" , "ṗ" , "ṡ" , "ṫ" },
to = {"a", "e", "i", "o", "u", "y", "bh", "ch", "dh", "fh", "gh", "mh", "ph", "sh", "th"}} ,
standardChars = "A-IL-PR-Ua-il-pr-u0-9ÁáÉéÍíÓóÚú" .. PUNCTUATION,
}
m["gd"] = {
"Scottish Gaelic",
9314,
"cel-gae",
Latn,
ancestors = {"mga"},
sort_key = {
from = {"[áà]", "[éè]", "[íì]", "[óò]", "[úù]", "[ýỳ]"},
to = {"a" , "e" , "i" , "o" , "u" , "y" }} ,
standardChars = "A-IL-PR-Ua-il-pr-u0-9ÀàÈèÌìÒòÙù" .. PUNCTUATION,
}
m["gl"] = {
"Galician",
9307,
"roa-ibe",
Latn,
ancestors = {"roa-opt"},
sort_key = {
from = {"á", "é", "í", "ó", "ú"},
to = {"a", "e", "i", "o", "u"}} ,
}
m["gn"] = {
"Guaraní",
35876,
"tup-gua",
Latn,
}
m["gu"] = {
"Gujarati",
5137,
"inc-wes",
{"Gujr"},
ancestors = {"inc-mgu"},
translit_module = "gu-translit",
}
m["gv"] = {
"Manx",
12175,
"cel-gae",
Latn,
ancestors = {"mga"},
sort_key = {
from = {"ç", "-"},
to = {"c"}} ,
standardChars = "A-WYÇa-wyç0-9" .. PUNCTUATION,
}
m["ha"] = {
"Hausa",
56475,
"cdc-wst",
LatnArab,
sort_key = {
from = {"ɓ", "ɗ", "ƙ", "'y", "ƴ", "'" },
to = {"b~" , "d~" , "k~", "y~", "y~", "" }},
entry_name = {
from = {"R̃", "r̃", "À", "à", "È", "è", "Ì", "ì", "Ò", "ò", "Ù", "ù", "Â", "â", "Ê", "ê", "Î", "î", "Ô", "ô", "Û", "û", "Ā", "ā", "Ē", "ē", "Ī", "ī", "Ō", "ō", "Ū", "ū", "Á", "á", "É", "é", "Í", "í", "Ó", "ó", "Ú", "ú", "Ā̀", "ā̀", "Ḕ", "ḕ", "Ī̀", "ī̀", "Ṑ", "ṑ", "Ū̀", "ū̀", GRAVE, ACUTE},
to = {"R", "r", "A", "a", "E", "e", "I", "i", "O", "o", "U", "u", "A", "a", "E", "e", "I", "i", "O", "o", "U", "u", "A", "a", "E", "e", "I", "i", "O", "o", "U", "u", "A", "a", "E", "e", "I", "i", "O", "o", "U", "u", "A", "a", "E", "e", "I", "i", "O", "o", "U", "u"}},
}
m["he"] = {
"Hebrew",
9288,
"sem-can",
{"Hebr", "Phnx", "Brai"},
entry_name = {
from = {"[" .. u(0x0591) .. "-" .. u(0x05BD) .. u(0x05BF) .. "-" .. u(0x05C5) .. u(0x05C7) .. CGJ .. "]"},
to = {}} ,
}
m["hi"] = {
"Hindi",
1568,
"inc-hnd",
{"Deva", "Kthi", "Newa"},
ancestors = {"inc-ohi"},
translit_module = "hi-translit",
standardChars = "ँंअ-ऊएऐओ-घच-झट-नप-रलवशसहा-ूेैो-◌्।-॰ड़ढ़" .. PUNCTUATION,
}
m["ho"] = {
"Hiri Motu",
33617,
"crp",
Latn,
ancestors = {"meu"},
}
m["ht"] = {
"Haitian Creole",
33491,
"crp",
Latn,
ancestors = {"fr"},
}
m["hu"] = {
"Hungarian",
9067,
"urj-ugr",
{"Latn", "Hung"},
ancestors = {"ohu"},
sort_key = {
from = {"á", "é", "í", "ó", "ú", "[öő]", "[üű]", "cs", "dzs", "gy", "ly", "ny", "zs"},
to = {"a", "e", "i", "o", "u", "o~", "u~", "c~", "dz~", "g~", "l~", "n~", "z~"},
},
}
m["hy"] = {
"Armenian",
8785,
"hyx",
{"Armn", "Brai"},
ancestors = {"axm"},
translit_module = "Armn-translit",
override_translit = true,
sort_key = {
from = {"ու", "և", "եւ"},
to = {"ւ", "եվ", "եվ"}},
entry_name = {
from = {"՞", "՜", "՛", "՟", "եւ", "<sup>յ</sup>", "<sup>ի</sup>", "<sup>է</sup>"},
to = {"", "", "", "", "և", "յ", "ի", "է"}} ,
}
m["hz"] = {
"Herero",
33315,
"bnt-swb",
Latn,
}
m["ia"] = {
"Interlingua",
35934,
"art",
Latn,
}
m["id"] = {
"Indonesian",
9240,
"poz-mly",
Latn,
ancestors = {"ms"},
}
m["ie"] = {
"Interlingue",
35850,
"art",
Latn,
type = "appendix-constructed",
}
m["ig"] = {
"Igbo",
33578,
"alv-igb",
Latn,
sort_key = {
from = {"ụ", "ị", "ọ", "gb", "gh", "gw", "kp", "kw", "ṅ", "nw", "ny", "sh"},
to = {"u~" , "i~", "o~", "gy", "gz", "g~", "kz", "k~", "ny", "nz", "n~", "s~"}},
entry_name = { remove_diacritics = ACUTE .. GRAVE .. MACRON },
}
m["ii"] = {
"Sichuan Yi",
34235,
"tbq-lol",
{"Yiii"},
translit_module = "ii-translit",
}
m["ik"] = {
"Inupiaq",
27183,
"esx-inu",
Latn,
}
m["io"] = {
"Ido",
35224,
"art",
Latn,
}
m["is"] = {
"Icelandic",
294,
"gmq",
Latn,
ancestors = {"non"},
}
m["it"] = {
"Italian",
652,
"roa-itd",
Latn,
sort_key = {
from = {"[àáâäå]", "[èéêë]", "[ìíîï]", "[òóôö]", "[ùúûü]"},
to = {"a" , "e" , "i" , "o" , "u" }} ,
standardChars = "A-IL-VZa-il-vz0-9ÀàÈèÌìÒòÙùÉé" .. PUNCTUATION,
}
m["iu"] = {
"Inuktitut",
29921,
"esx-inu",
{"Cans", "Latn"},
translit_module = "translit-redirect",
override_translit = true,
}
m["ja"] = {
"Japanese",
5287,
"jpx",
{"Jpan", "Brai"},
ancestors = {"ojp"},
--[=[
-- Handled by jsort function in [[Module:ja]].
sort_key = {
from = {"[ぁァア]", "[ぃィイ]", "[ぅゔゥウヴ]", "[ぇェエ]", "[ぉォオ]", "[がゕカガヵ]", "[ぎキギ]", "[ぐクグㇰ]", "[げゖケゲヶ]", "[ごコゴ]", "[ざサザ]", "[じシジㇱ]", "[ずスズㇲ]", "[ぜセゼ]", "[ぞソゾ]", "[だタダ]", "[ぢチヂ]", "[っづッツヅ]", "[でテデ]", "[どトドㇳ]", "ナ", "ニ", "[ヌㇴ]", "ネ", "ノ", "[ばぱハバパㇵ]", "[びぴヒビピㇶ]", "[ぶぷフブプㇷ]", "[べぺヘベペㇸ]", "[ぼぽホボポㇹ]", "マ", "ミ", "[ムㇺ]", "メ", "モ", "[ゃャヤ]", "[ゅュユ]", "[ょョヨ]", "[ラㇻ]", "[リㇼ]", "[ルㇽ]", "[レㇾ]", "[ロㇿ]", "[ゎヮワヷ]", "[ヰヸ]", "[ヱヹ]", "[ヲヺ]", "ン", "[゙゚゛゜ゝゞ・ヽヾ]", "𛀀"},
to = {"あ", "い", "う", "え", "お", "か", "き", "く", "け", "こ", "さ", "し", "す", "せ", "そ", "た", "ち", "つ", "て", "と", "な", "に", "ぬ", "ね", "の", "は", "ひ", "ふ", "へ", "ほ", "ま", "み", "む", "め", "も", "や", "ゆ", "よ", "ら", "り", "る", "れ", "ろ", "わ", "ゐ", "ゑ", "を", "ん", "", "え"}},
--]=]
}
m["jv"] = {
"Javanese",
33549,
"poz-sus",
{"Latn", "Java"},
translit_module = "jv-translit",
ancestors = {"kaw"},
link_tr = true,
}
m["ka"] = {
"Georgian",
8108,
"ccs-gzn",
{"Geor", "Geok", "Hebr"}, -- Hebr is used to write Judeo-Georgian
ancestors = {"oge"},
translit_module = "Geor-translit",
override_translit = true,
entry_name = {
from = {"̂"},
to = {""}},
}
m["kg"] = {
"Kongo",
33702,
"bnt-kng",
Latn,
}
m["ki"] = {
"Kikuyu",
33587,
"bnt-kka",
Latn,
}
m["kj"] = {
"Kwanyama",
1405077,
"bnt-ova",
Latn,
}
m["kk"] = {
"Kazakh",
9252,
"trk-kno",
{"Cyrl", "Latn", "kk-Arab"},
translit_module = "kk-translit",
override_translit = true,
}
m["kl"] = {
"Greenlandic",
25355,
"esx-inu",
Latn,
}
m["km"] = {
"Khmer",
9205,
"mkh-kmr",
{"Khmr"},
ancestors = {"xhm"},
translit_module = "km-translit",
}
m["kn"] = {
"Kannada",
33673,
"dra",
{"Knda"},
ancestors = {"dra-mkn"},
translit_module = "kn-translit",
}
m["ko"] = {
"Korean",
9176,
"qfa-kor",
{"Kore", "Brai"},
ancestors = {"ko-ear"},
-- Hani regex is a reasonable subset of Hani from [[Module:scripts/data]],
-- last checked on 20220221
entry_name = {
from = {
"%([一-鿿㐀-䶿𠀀-𰀀-]+%)",
"([一-鿿㐀-䶿𠀀-𰀀-])%(.-%)",
"^%-",
"%-$",
"%-",
"#PREF#",
"#SUF#",
},
to = {
"",
"%1",
"#PREF#",
"#SUF#",
"",
"-",
"-",
}},
translit_module = "ko-translit",
}
m["kr"] = {
"Kanuri",
36094,
"ssa-sah",
LatnArab,
sort_key = {
from = {"ny", "ǝ", "sh"},
to = {"n~", "e~", "s~"}} , -- the sortkey and entry_name are only for standard Kanuri; when dialectal entries get added, someone will have to work out how the dialects should be represented orthographically
entry_name = {
from = {"À", "à", "È", "è", "Ǝ̀", "ǝ̀", "Ì", "ì", "Ò", "ò", "Ù", "ù", "Â", "â", "Ê", "ê", "Ǝ̂", "ǝ̂", "Î", "î", "Ô", "ô", "Û", "û", "Ă", "ă", "Ĕ", "ĕ", "Ǝ̆", "ǝ̆", "Ĭ", "ĭ", "Ŏ", "ŏ", "Ŭ", "ŭ", "Á", "á", "É", "é", "Ǝ́", "ǝ́", "Í", "í", "Ó", "ó", "Ú", "ú", GRAVE, ACUTE},
to = {"A", "a", "E", "e", "Ǝ", "ǝ", "I", "i", "O", "o", "U", "u", "A", "a", "E", "e", "Ǝ", "ǝ", "I", "i", "O", "o", "U", "u", "A", "a", "E", "e", "Ǝ", "ǝ", "I", "i", "O", "o", "U", "u", "A", "a", "E", "e", "Ǝ", "ǝ", "I", "i", "O", "o", "U", "u"}},
}
m["ks"] = {
"Kashmiri",
33552,
"inc-dar",
{"ks-Arab", "Deva", "Shrd", "Latn"},
translit_module = "translit-redirect",
ancestors = {"sa"},
}
-- "kv" IS TREATED AS "koi", "kpv", SEE WT:LT
m["kw"] = {
"Cornish",
25289,
"cel-bry",
Latn,
ancestors = {"cnx"},
}
m["ky"] = {
"Kyrgyz",
9255,
"trk-kip",
{"Cyrl", "Latn", "Arab"},
translit_module = "ky-translit",
override_translit = true,
}
m["la"] = {
"Latin",
397,
"itc",
{"Latn", "Ital"},
entry_name = {remove_diacritics = MACRON .. BREVE .. DIAER .. DOUBLEINVBREVE},
sort_key = {
from = {"æ", "œ"},
to = {"ae", "oe"}},
standardChars = "A-Za-z0-9Æ挜Ā-ăĒ-ĕĪ-ĭŌ-ŏŪ-ŭȲȳ" .. MACRON .. BREVE .. PUNCTUATION,
}
m["lb"] = {
"Luxembourgish",
9051,
"gmw",
Latn,
ancestors = {"gmw-cfr"},
}
m["lg"] = {
"Luganda",
33368,
"bnt-nyg",
Latn,
entry_name = {
from = {"á", "Á", "é", "É", "í", "Í", "ó", "Ó", "ú", "Ú", "ń", "Ń", "ḿ", "Ḿ", "â", "Â", "ê", "Ê", "î", "Î", "ô", "Ô", "û", "Û" },
to = {"a", "A", "e", "E", "i", "I", "o", "O", "u", "U", "n", "N", "m", "M", "a", "A", "e", "E", "i", "I", "o", "O", "u", "U",}},
sort_key = {
from = {"ŋ"},
to = {"n"}} ,
}
m["li"] = {
"Limburgish",
102172,
"gmw",
Latn,
ancestors = {"dum"},
}
m["ln"] = {
"Lingala",
36217,
"bnt-bmo",
Latn,
}
m["lo"] = {
"Lao",
9211,
"tai-swe",
{"Laoo"},
translit_module = "lo-translit",
sort_key = {
from = {"[%pໆ]", "[່-ໍ]", "ຼ", "ຽ", "ໜ", "ໝ", "([ເແໂໃໄ])([ກ-ຮ])"},
to = {"", "", "ລ~", "ຍ~", "ຫນ", "ຫມ", "%2%1"}},
standardChars = "0-9ກຂຄງຈຊຍດຕຖທນບປຜຝພຟມຢຣລວສຫອຮຯ-ໝ" .. PUNCTUATION,
}
m["lt"] = {
"Lithuanian",
9083,
"bat",
Latn,
ancestors = {"olt"},
entry_name = {
from = {"[áãà]", "[ÁÃÀ]", "[éẽè]", "[ÉẼÈ]", "[íĩì]", "[ÍĨÌ]", "[ýỹ]", "[ÝỸ]", "ñ", "[óõò]", "[ÓÕÒ]", "[úũù]", "[ÚŨÙ]", ACUTE, GRAVE, TILDE},
to = {"a", "A", "e", "E", "i", "I", "y", "Y", "n", "o", "O", "u", "U"}} ,
}
m["lu"] = {
"Luba-Katanga",
36157,
"bnt-lub",
Latn,
}
m["lv"] = {
"Latvian",
9078,
"bat",
Latn,
entry_name = {
-- This attempts to convert vowels with tone marks to vowels either with
-- or without macrons. Specifically, there should be no macrons if the
-- vowel is part of a diphthong (including resonant diphthongs such
-- pìrksts -> pirksts not #pīrksts). What we do is first convert the
-- vowel + tone mark to a vowel + tilde in a decomposed fashion,
-- then remove the tilde in diphthongs, then convert the remaining
-- vowel + tilde sequences to macroned vowels, then delete any other
-- tilde. We leave already-macroned vowels alone: Both e.g. ar and ār
-- occur before consonants. FIXME: This still might not be sufficient.
from = {"Ȩ", "ȩ", "[ÂÃÀ]", "[âãà]", "[ÊẼÈ]", "[êẽè]", "[ÎĨÌ]", "[îĩì]", "[ÔÕÒ]", "[ôõò]", "[ÛŨÙ]", "[ûũù]", "[ÑǸ]", "[ñǹ]", "[" .. CIRC .. TILDE ..GRAVE .."]", "([aAeEiIoOuU])" .. TILDE .."?([lrnmuiLRNMUI])" .. TILDE .. "?([^aAeEiIoOuUāĀēĒīĪūŪ])", "([aAeEiIoOuU])" .. TILDE .."?([lrnmuiLRNMUI])" .. TILDE .."?$", "([iI])" .. TILDE .. "?([eE])" .. TILDE .. "?", "A" .. TILDE, "a" .. TILDE, "E" .. TILDE, "e" .. TILDE, "I" .. TILDE, "i" .. TILDE, "U" .. TILDE, "u" .. TILDE, TILDE},
to = {"E", "e", "A" .. TILDE, "a" .. TILDE, "E" .. TILDE, "e" .. TILDE, "I" .. TILDE, "i" .. TILDE, "O", "o", "U" .. TILDE, "u" .. TILDE, "N", "n", TILDE, "%1%2%3", "%1%2", "%1%2", "Ā", "ā", "Ē", "ē", "Ī", "ī", "Ū", "ū", ""}},
}
m["mg"] = {
"Malagasy",
7930,
"poz-bre",
Latn,
}
m["mh"] = {
"Marshallese",
36280,
"poz-mic",
Latn,
sort_key = {
from = {"ā" , "ļ" , "m̧" , "ņ" , "n̄" , "o̧" , "ō" , "ū" },
to = {"a~", "l~", "m~", "n~", "n~~", "o~", "o~~", "u~"}} ,
}
m["mi"] = {
"Maori",
36451,
"poz-pep",
Latn,
}
m["mk"] = {
"Macedonian",
9296,
"zls",
Cyrl,
translit_module = "mk-translit",
entry_name = {
from = {ACUTE},
to = {}},
}
m["ml"] = {
"Malayalam",
36236,
"dra",
{"Mlym"},
translit_module = "ml-translit",
override_translit = true,
}
m["mn"] = {
"Mongolian",
9246,
"xgn",
{"Cyrl", "Mong", "Soyo", "Zanb", "Latn"}, -- entries in Soyo or Zanb might require prior discussion
ancestors = {"cmg"},
translit_module = "mn-translit",
override_translit = true,
standardChars = "A-PR-UX-Za-pr-ux-zÇÖÜçöüŞşƟƵƶɵЁА-ШЫ-шы-яёҮүӨө—᠊-᠙ᠠ-ᡂ" .. PUNCTUATION,
}
-- "mo" IS TREATED AS "ro", SEE WT:LT
m["mr"] = {
"Marathi",
1571,
"inc-sou",
{"Deva", "Modi"},
ancestors = {"omr"},
translit_module = "translit-redirect",
entry_name = {
from = {"च़", "ज़", "झ़"},
to = {"च", "ज", "झ"}} ,
}
m["ms"] = {
"Malay",
9237,
"poz-mly",
{"Latn", "ms-Arab"},
}
m["mt"] = {
"Maltese",
9166,
"sem-arb",
Latn,
ancestors = {"sqr"},
sort_key = {
from = {"ċ", "ġ", "ħ"},
to = {"c", "g", "h"}
}
}
m["my"] = {
"Burmese",
9228,
"tbq-brm",
{"Mymr"},
ancestors = {"obr"},
translit_module = "my-translit",
override_translit = true,
sort_key = {
from = {"ျ", "ြ", "ွ", "ှ", "ဿ"},
to = {"္ယ", "္ရ", "္ဝ", "္ဟ", "သ္သ"}},
}
m["na"] = {
"Nauruan",
13307,
"poz-mic",
Latn,
}
m["nb"] = {
"Norwegian Bokmål",
25167,
"gmq",
Latn,
ancestors = {"gmq-mno"},
wikimedia_codes = {"no"},
}
m["nd"] = {
"Northern Ndebele",
35613,
"bnt-ngu",
Latn,
entry_name = {
from = {"[āàáâǎ]", "[ēèéêě]", "[īìíîǐ]", "[ōòóôǒ]", "[ūùúûǔ]", "ḿ", "[ǹńň]", MACRON, ACUTE, GRAVE, CIRC, CARON},
to = {"a" , "e" , "i" , "o" , "u" , "m", "n" }},
}
m["ne"] = {
"Nepali",
33823,
"inc-pah",
{"Deva", "Newa"},
translit_module = "ne-translit",
}
m["ng"] = {
"Ndonga",
33900,
"bnt-ova",
Latn,
}
m["nl"] = {
"Dutch",
7411,
"gmw",
Latn,
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"] = {
"Norwegian Nynorsk",
25164,
"gmq",
Latn,
ancestors = {"gmq-mno"},
}
m["no"] = {
"Norwegian",
9043,
"gmq",
Latn,
ancestors = {"gmq-mno"},
}
m["nr"] = {
"Southern Ndebele",
36785,
"bnt-ngu",
Latn,
entry_name = {
from = {"[āàáâǎ]", "[ēèéêě]", "[īìíîǐ]", "[ōòóôǒ]", "[ūùúûǔ]", "ḿ", "[ǹńň]", MACRON, ACUTE, GRAVE, CIRC, CARON},
to = {"a" , "e" , "i" , "o" , "u" , "m", "n" }},
}
m["nv"] = {
"Navajo",
13310,
"apa",
Latn,
sort_key = {
from = {"[áą]", "[éę]", "[íį]", "[óǫ]", "ń", "^n([djlt])", "ł" , "[ʼ’']", ACUTE},
to = {"a" , "e" , "i" , "o" , "n", "ni%1" , "l~"}}, -- the tilde is used to guarantee that ł will always be sorted after all other words with l
}
m["ny"] = {
"Chichewa",
33273,
"bnt-nys",
Latn,
entry_name = {
from = {"ŵ", "Ŵ", "á", "Á", "é", "É", "í", "Í", "ó", "Ó", "ú", "Ú", "ń", "Ń", "ḿ", "Ḿ" },
to = {"w", "W", "a", "A", "e", "E", "i", "I", "o", "O", "u", "U", "n", "N", "m", "M"}},
sort_key = {
from = {"ng'"},
to = {"ng"}} ,
}
m["oc"] = {
"Occitan",
14185,
"roa-ocr",
{"Latn", "Hebr"},
ancestors = {"pro"},
sort_key = {
from = {"[àá]", "[èé]", "[íï]", "[òó]", "[úü]", "ç", "([lns])·h"},
to = {"a" , "e" , "i" , "o" , "u" , "c", "%1h" }} ,
}
m["oj"] = {
"Ojibwe",
33875,
"alg",
{"Cans", "Latn"},
sort_key = {
from = {"aa", "ʼ", "ii", "oo", "sh", "zh"},
to = {"a~", "h~", "i~", "o~", "s~", "z~"}} ,
}
m["om"] = {
"Oromo",
33864,
"cus-eas",
{"Latn", "Ethi"},
}
m["or"] = {
"Oriya",
33810,
"inc-eas",
{"Orya"},
ancestors = {"inc-mor"},
translit_module = "or-translit",
}
m["os"] = {
"Ossetian",
33968,
"xsc",
{"Cyrl", "Geor", "Latn"},
ancestors = {"oos"},
translit_module = "os-translit",
override_translit = true,
entry_name = {
from = {GRAVE, ACUTE},
to = {}} ,
}
m["pa"] = {
"Punjabi",
58635,
"inc-pan",
{"Guru", "pa-Arab"},
ancestors = {"inc-opa"},
translit_module = "translit-redirect",
entry_name = {
from = {u(0x064B), u(0x064C), u(0x064D), u(0x064E), u(0x064F), u(0x0650), u(0x0651), u(0x0652), u(0x0658), u(0x08C7), u(0x0768)},
to = {"", "", "", "", "", "", "", "", "", "ل", "ن"}} ,
}
m["pi"] = {
"Pali",
36727,
"inc-mid",
{"Latn", "Brah", "Deva", "Beng", "Sinh", "Mymr", "Thai", "Lana", "Laoo", "Khmr"},
ancestors = {"sa"},
translit_module = "translit-redirect",
sort_key = {
from = {"ā", "ī", "ū", "ḍ", "ḷ", "[ṁṃ]", "ṅ", "ñ", "ṇ", "ṭ", "([เโ])([ก-ฮ])", "([ເໂ])([ກ-ຮ])", "ᩔ", "ᩕ", "ᩖ", "ᩘ", "([ᨭ-ᨱ])ᩛ", "([ᨷ-ᨾ])ᩛ", "ᩤ", u(0xFE00), u(0x200D)},
to = {"a~", "i~", "u~", "d~", "l~", "m~", "n~", "n~~", "n~~~", "t~", "%2%1", "%2%1", "ᩈ᩠ᩈ", "᩠ᩁ", "᩠ᩃ", "ᨦ᩠", "%1᩠ᨮ", "%1᩠ᨻ", "ᩣ"}} ,
entry_name = {
from = {"ึ", u(0xF700), u(0xF70F), u(0xFE00)},
to = {"ิํ", "ฐ", "ญ"}} ,
}
m["pl"] = {
"Polish",
809,
"zlw-lch",
Latn,
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"] = {
"Pashto",
58680,
"ira-pat",
{"ps-Arab"},
ancestors = {"ira-pat-pro"},
}
m["pt"] = {
"Portuguese",
5146,
"roa-ibe",
{"Latn", "Brai"},
ancestors = {"roa-opt"},
sort_key = {
from = {"[àãáâä]", "[èẽéêë]", "[ìĩíï]", "[òóôõö]", "[üúùũ]", "ç", "ñ"},
to = {"a" , "e" , "i" , "o" , "u" , "c", "n"}} ,
}
m["qu"] = {
"Quechua",
5218,
"qwe",
Latn,
}
m["rm"] = {
"Romansch",
13199,
"roa-rhe",
Latn,
}
m["ro"] = {
"Romanian",
7913,
"roa-eas",
{"Latn", "Cyrl"},
sort_key = {
from = {"ă" , "â" , "î" , "ș" , "ț" },
to = {"a~", "a~~", "i~", "s~", "t~"}},
}
m["ru"] = {
"Russian",
7737,
"zle",
{"Cyrl", "Brai"},
translit_module = "ru-translit",
sort_key = {
from = {"ё"},
to = {"е" .. mw.ustring.char(0x10FFFF)}},
entry_name = {
from = {"Ѐ", "ѐ", "Ѝ", "ѝ", GRAVE, ACUTE, DIAER},
to = {"Е", "е", "И", "и"}},
standardChars = "ЁА-яё0-9—" .. PUNCTUATION,
}
m["rw"] = {
"Rwanda-Rundi",
3217514,
"bnt-glb",
Latn,
entry_name = {
from = {"[áāâǎā́]", "[éēêěḗ]", "[íīîǐī́]", "[óōôǒṓ]", "[úūûǔū́]"},
to = {"a", "e" , "i", "o" , "u"} },
}
m["sa"] = {
"Sanskrit",
11059,
"inc-old",
{"Deva", "Bali", "as-Beng", "Beng", "Bhks", "Brah", "Gran", "Gujr", "Guru", "Java", "Khar", "Khmr", "Knda", "Lana", "Laoo", "Mlym", "Modi", "Mymr", "Nand", "Newa", "Orya", "Saur", "Shrd", "Sidd", "Sinh", "Taml", "Telu", "Thai", "Tibt", "Tirh"},
sort_key = {
from = {"ā", "ī", "ū", "ḍ", "ḷ", "ḹ", "[ṁṃ]", "ṅ", "ñ", "ṇ", "ṛ", "ṝ", "ś", "ṣ", "ṭ", "([เโไ])([ก-ฮ])", "([ເໂໄ])([ກ-ຮ])", "ᩔ", "ᩕ", "ᩖ", "ᩘ", "([ᨭ-ᨱ])ᩛ", "([ᨷ-ᨾ])ᩛ", "ᩤ", u(0xFE00), u(0x200D)},
to = {"a~", "i~", "u~", "d~", "l~", "l~~", "m~", "n~", "n~~", "n~~~", "r~", "r~~", "s~", "s~~", "t~", "%2%1", "%2%1", "ᩈ᩠ᩈ", "᩠ᩁ", "᩠ᩃ", "ᨦ᩠", "%1᩠ᨮ", "%1᩠ᨻ", "ᩣ"}} ,
entry_name = {
from = {"ึ", u(0xF700), u(0xF70F), u(0xFE00)},
to = {"ิํ", "ฐ", "ญ"}} ,
translit_module = "translit-redirect",
}
m["sc"] = {
"Sardinian",
33976,
"roa",
Latn,
}
m["sd"] = {
"Sindhi",
33997,
"inc-snd",
{"sd-Arab", "Deva", "Sind", "Khoj"},
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)}},
ancestors = {"inc-vra"},
translit_module = "translit-redirect",
}
m["se"] = {
"Northern Sami",
33947,
"smi",
Latn,
entry_name = {
from = {"ạ", "[ēẹ]", "ī", "[ōọ]", "ū", "ˈ"},
to = {"a", "e" , "i", "o" , "u"} },
sort_key = {
from = {"á" , "č" , "đ" , "ŋ" , "š" , "ŧ" , "ž" },
to = {"a²", "c²", "d²", "n²", "s²", "t²", "z²"} },
standardChars = "A-PR-VZa-pr-vz0-9ÁáČčĐđŊŋŠšŦŧŽž" .. PUNCTUATION,
}
m["sg"] = {
"Sango",
33954,
"crp",
Latn,
ancestors = {"ngb"},
}
m["sh"] = {
"Serbo-Croatian",
9301,
"zls",
{"Latn", "Cyrl", "Glag"},
entry_name = {
from = {"[ȀÀȂÁĀÃ]", "[ȁàȃáāã]", "[ȄÈȆÉĒẼ]", "[ȅèȇéēẽ]", "[ȈÌȊÍĪĨ]", "[ȉìȋíīĩ]", "[ȌÒȎÓŌÕ]", "[ȍòȏóōõ]", "[ȐȒŔ]", "[ȑȓŕ]", "[ȔÙȖÚŪŨ]", "[ȕùȗúūũ]", "Ѐ", "ѐ", "[ӢЍ]", "[ӣѝ]", "[Ӯ]", "[ӯ]", GRAVE, ACUTE, DGRAVE, INVBREVE, MACRON, TILDE},
to = {"A" , "a" , "E" , "e" , "I" , "i" , "O" , "o" , "R" , "r" , "U" , "u" , "Е", "е", "И" , "и", "У", "у" }},
wikimedia_codes = {"sh", "bs", "hr", "sr"},
}
m["si"] = {
"Sinhalese",
13267,
"inc-ins",
{"Sinh"},
ancestors = {"elu-prk"},
translit_module = "si-translit",
override_translit = true,
}
m["sk"] = {
"Slovak",
9058,
"zlw",
Latn,
sort_key = {
from = {"[áä]", "é", "í", "[óô]", "ú", "ý", "ŕ", "ĺ", "[" .. DIAER .. ACUTE .. CIRC .. "]"},
to = {"a" , "e", "i", "o" , "u", "y", "r", "l", ""}} ,
}
m["sl"] = {
"Slovene",
9063,
"zls",
Latn,
entry_name = {
from = {"[ÁÀÂĀȂȀ]", "[áàâāȃȁ]", "[ÉÈÊĒȆȄỆẸ]", "[éèêēȇȅệẹə]", "[ÍÌÎĪȊȈ]", "[íìîīȋȉ]", "[ÓÒÔŌȎȌỘỌ]", "[óòôōȏȍộọ]", "[ŔȒȐ]", "[ŕȓȑ]", "[ÚÙÛŪȖȔ]", "[úùûūȗȕ]", "ł", GRAVE, ACUTE, CIRC, MACRON, DGRAVE, INVBREVE, DOTBELOW},
to = {"A" , "a" , "E" , "e" , "I" , "i" , "O" , "o" , "R" , "r" , "U" , "u" , "l"},
},
sort_key = {
from = {"č" , "š" , "ž" },
to = {"c²", "s²", "z²"},
},
}
m["sm"] = {
"Samoan",
34011,
"poz-pnp",
Latn,
}
m["sn"] = {
"Shona",
34004,
"bnt-sho",
Latn,
entry_name = {remove_diacritics = ACUTE},
}
m["so"] = {
"Somali",
13275,
"cus-eas",
{"Latn", "Arab", "Osma"},
entry_name = {
from = {"[ÁÀÂ]", "[áàâ]", "[ÉÈÊ]", "[éèê]", "[ÍÌÎ]", "[íìî]", "[ÓÒÔ]", "[óòô]", "[ÚÙÛ]", "[úùû]", "[ÝỲ]", "[ýỳ]"},
to = {"A" , "a" , "E" , "e" , "I" , "i" , "O" , "o" , "U" , "u", "Y", "y"}} ,
}
m["sq"] = {
"Albanian",
8748,
"sqj",
{"Latn", "Grek", "Elba"},
entry_name = {remove_diacritics = ACUTE},
sort_key = {
from = { '[âãä]', '[ÂÃÄ]', '[êẽë]', '[ÊẼË]', 'ĩ', 'Ĩ', 'õ', 'Õ', 'ũ', 'Ũ', 'ỹ', 'Ỹ', 'ç', 'Ç' },
to = { 'a', 'A', 'e', 'E', 'i', 'I', 'o', 'O', 'u', 'U', 'y', 'Y', 'c', 'C' } } ,
}
m["ss"] = {
"Swazi",
34014,
"bnt-ngu",
Latn,
entry_name = {
from = {"[āàáâǎ]", "[ēèéêě]", "[īìíîǐ]", "[ōòóôǒ]", "[ūùúûǔ]", "ḿ", "[ǹńň]", MACRON, ACUTE, GRAVE, CIRC, CARON},
to = {"a" , "e" , "i" , "o" , "u" , "m", "n" }},
}
m["st"] = {
"Sotho",
34340,
"bnt-sts",
Latn,
entry_name = {
from = {"[āàáâǎ]", "[ēèéêě]", "[īìíîǐ]", "[ōòóôǒ]", "[ūùúûǔ]", "ḿ", "[ǹńň]", MACRON, ACUTE, GRAVE, CIRC, CARON},
to = {"a" , "e" , "i" , "o" , "u" , "m", "n" }},
}
m["su"] = {
"Sundanese",
34002,
"poz-msa",
{"Latn", "Sund"},
ancestors = {"osn"},
translit_module = "su-translit",
}
m["sv"] = {
"Swedish",
9027,
"gmq",
Latn,
ancestors = {"gmq-osw"},
}
m["sw"] = {
"Swahili",
7838,
"bnt-swh",
LatnArab,
sort_key = {
from = {"ng'", "^-"},
to = {"ngz"}} ,
}
m["ta"] = {
"Tamil",
5885,
"dra",
{"Taml"},
ancestors = {"oty"},
translit_module = "ta-translit",
override_translit = true,
}
m["te"] = {
"Telugu",
8097,
"dra",
{"Telu"},
translit_module = "te-translit",
override_translit = true,
}
m["tg"] = {
"Tajik",
9260,
"ira-swi",
{"Cyrl", "fa-Arab", "Latn"},
ancestors = {"pal"}, -- same as "fa", see WT:T:AFA
translit_module = "tg-translit",
override_translit = true,
sort_key = {
from = {"Ё", "ё"},
to = {"Е" , "е"}} ,
entry_name = {
from = {ACUTE},
to = {}} ,
}
m["th"] = {
"Thai",
9217,
"tai-swe",
{"Thai", "Brai"},
translit_module = "th-translit",
sort_key = {
from = {"[%pๆ]", "[็-๎]", "([เแโใไ])([ก-ฮ])"},
to = {"", "", "%2%1"}},
}
m["ti"] = {
"Tigrinya",
34124,
"sem-eth",
{"Ethi"},
translit_module = "Ethi-translit",
}
m["tk"] = {
"Turkmen",
9267,
"trk-ogz",
{"Latn", "Cyrl", "Arab"},
entry_name = {
from = {"ā", "ē", "ī", "ō", "ū", "ȳ", "ȫ", "ǖ", MACRON},
to = {"a", "e", "i", "o", "u", "y", "ö", "ü", ""}},
ancestors = {"trk-ogz-pro"},
}
m["tl"] = {
"Tagalog",
34057,
"phi",
{"Latn", "Tglg"},
entry_name = {
from = {"[áàâ]", "[éèê]", "[íìî]", "[óòô]", "[úùû]", ACUTE, GRAVE, CIRC},
to = {"a" , "e" , "i" , "o" , "u" }},
translit_module = "tl-translit",
override_translit = true
}
m["tn"] = {
"Tswana",
34137,
"bnt-sts",
Latn,
}
m["to"] = {
"Tongan",
34094,
"poz-pol",
Latn,
sort_key = {
from = {"ā", "ē", "ī", "ō", "ū", MACRON},
to = {"a", "e", "i", "o", "u", ""}},
entry_name = {
from = {"á", "é", "í", "ó", "ú", ACUTE},
to = {"a", "e", "i", "o", "u", ""}},
}
m["tr"] = {
"Turkish",
256,
"trk-ogz",
Latn,
ancestors = {"ota"},
dotted_dotless_i = true,
}
m["ts"] = {
"Tsonga",
34327,
"bnt-tsr",
Latn,
}
m["tt"] = {
"Tatar",
25285,
"trk-kbu",
{"Cyrl", "Latn", "tt-Arab"},
translit_module = "tt-translit",
override_translit = true,
dotted_dotless_i = true,
}
-- "tw" IS TREATED AS "ak", SEE WT:LT
m["ty"] = {
"Tahitian",
34128,
"poz-pep",
Latn,
}
m["ug"] = {
"Uyghur",
13263,
"trk-kar",
{"ug-Arab", "Latn", "Cyrl"},
ancestors = {"chg"},
translit_module = "ug-translit",
override_translit = true,
}
m["uk"] = {
"Ukrainian",
8798,
"zle",
Cyrl,
ancestors = {"zle-ort"},
translit_module = "uk-translit",
entry_name = {
from = {"Ѐ", "ѐ", "Ѝ", "ѝ", GRAVE, ACUTE},
to = {"Е", "е", "И", "и"}},
standardChars = "ЄІЇА-ЩЬЮ-щьюяєії" .. PUNCTUATION,
}
m["ur"] = {
"Urdu",
1617,
"inc-hnd",
{"ur-Arab"},
ancestors = {"inc-ohi"},
entry_name = {
from = {u(0x0640), u(0x064B), u(0x064C), u(0x064D), u(0x064E), u(0x064F), u(0x0650), u(0x0651), u(0x0652), u(0x0658)},
to = {}} ,
}
m["uz"] = {
"Uzbek",
9264,
"trk-kar",
{"Latn", "Cyrl", "fa-Arab"},
ancestors = {"chg"},
translit_module = "uz-translit"
}
m["ve"] = {
"Venda",
32704,
"bnt-bso",
Latn,
}
m["vi"] = {
"Vietnamese",
9199,
"mkh-vie",
{"Latn", "Hani"},
ancestors = {"mkh-mvi"},
sort_key = "vi-sortkey",
}
m["vo"] = {
"Volapük",
36986,
"art",
Latn,
}
m["wa"] = {
"Walloon",
34219,
"roa-oil",
Latn,
ancestors = {"fro"},
sort_key = {
from = {"[áàâäå]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "'"},
to = {"a" , "e" , "i" , "o" , "u" , "y" , "c"}} ,
}
m["wo"] = {
"Wolof",
34257,
"alv-fwo",
LatnArab,
}
m["xh"] = {
"Xhosa",
13218,
"bnt-ngu",
Latn,
entry_name = {
from = {"[āàáâǎ]", "[ēèéêě]", "[īìíîǐ]", "[ōòóôǒ]", "[ūùúûǔ]", "ḿ", "[ǹńň]", MACRON, ACUTE, GRAVE, CIRC, CARON},
to = {"a" , "e" , "i" , "o" , "u" , "m", "n" }},
}
m["yi"] = {
"Yiddish",
8641,
"gmw",
{"Hebr"},
ancestors = {"gmh"},
sort_key = {
from = {"[אַאָ]", "בּ", "[וֹוּ]", "יִ", "ײַ", "פֿ"},
to = {"א", "ב", "ו", "י", "יי", "פ"}} ,
translit_module = "yi-translit",
}
m["yo"] = {
"Yoruba",
34311,
"alv-yor",
Latn,
sort_key = {
from = {"ẹ", "ọ", "gb", "ṣ"},
to = {"e~" , "o~", "g~", "s~"}},
entry_name = { remove_diacritics = ACUTE .. GRAVE .. MACRON },
}
m["za"] = {
"Zhuang",
13216,
"tai",
{"Latn", "Hani"},
sort_key = {
from = {"%p"},
to = {""}},
}
m["zh"] = {
"Chinese",
7850,
"zhx",
{"Hani", "Brai", "Nshu"},
ancestors = {"ltc"},
sort_key = "zh-sortkey",
}
m["zu"] = {
"Zulu",
10179,
"bnt-ngu",
Latn,
entry_name = {
from = {"[āàáâǎ]", "[ēèéêě]", "[īìíîǐ]", "[ōòóôǒ]", "[ūùúûǔ]", "ḿ", "[ǹńň]", MACRON, ACUTE, GRAVE, CIRC, CARON},
to = {"a" , "e" , "i" , "o" , "u" , "m", "n" }},
}
return m