可在模組: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 m = {}

m["aa"] = {
	names = {"bahasa Afar", "Qafar"},
	type = "regular",
	scripts = {"Latn"},
	family = "cus"}
m["ab"] = {
	names = {"bahasa Abkhaz", "Abkhazia", "Abxazo"},
	type = "regular",
	scripts = {"Cyrl"},
	family = "cau-nwc",
	translit_module = "ab-translit"}
m["ae"] = {
	names = {"bahasa Avestan", "Zend", "Old Bactrian"},
	type = "regular",
	scripts = {"Avst", "Gujr"},
	family = "ira",
	translit_module = "Avst-translit"}
m["af"] = {
	names = {"bahasa Afrikaans"},
	type = "regular",
	scripts = {"Latn", "Arab"},
	family = "gmw",
	sort_key = {
		from = {"[äáâà]", "[ëéêè]", "[ïíîì]", "[öóôò]", "[üúûù]", "[ÿýŷỳ]", "^-", "'"},
		to   = {"a"	 , "e"	, "i"	, "o"	, "u"  , "y" }} }
m["ak"] = {
	names = {"bahasa Akan", "Twi-Fante"},
	type = "regular",
	scripts = {"Latn"},
	family = "alv-kwa"}
m["am"] = {
	names = {"bahasa Amharik"},
	type = "regular",
	scripts = {"Ethi"},
	family = "sem-eth",
	translit_module = "Ethi-translit"}
m["an"] = {
	names = {"bahasa Aragon"},
	type = "regular",
	scripts = {"Latn"},
	family = "roa"}
m["ar"] = {
	names = {"bahasa Arab", "Modern Standard Arabic", "Standard Arabic", "Literary Arabic", "Classical Arabic"},
	type = "regular",
	scripts = {"Arab"},
	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)}} }
m["as"] = {
	names = {"bahasa Assam"},
	type = "regular",
	scripts = {"Beng"},
	family = "inc"}
m["av"] = {
	names = {"bahasa Avar"},
	type = "regular",
	scripts = {"Cyrl"},
	family = "cau-nec",
	translit_module = "av-translit"}
m["ay"] = {
	names = {"bahasa Aymara", "Southern Aymara", "Central Aymara"},
	type = "regular",
	scripts = {"Latn"},
	family = "sai-aym"}
m["az"] = {
	names = {"bahasa Azeri", "Azerbaijani", "Azari", "Azeri Turkic", "Azerbaijani Turkic", "North Azerbaijani", "South Azerbaijani"},
	type = "regular",
	scripts = {"Latn", "Cyrl", "fa-Arab"},
	family = "trk"}
m["ba"] = {
	names = {"bahasa Bashkir"},
	type = "regular",
	scripts = {"Cyrl"},
	family = "trk",
	translit_module = "ba-translit"}
m["be"] = {
	names = {"bahasa Belarusia", "Belorussian", "Belarusan", "Bielorussian", "Byelorussian", "Belarussian", "White Russian"},
	type = "regular",
	scripts = {"Cyrl"},
	family = "zle",
	translit_module = "be-translit",
	sort_key = {
		from = {"Ё", "ё"},
		to   = {"Е" , "е"}},
	entry_name = {
		from = {GRAVE, ACUTE},
		to   = {}} }
m["bg"] = {
	names = {"bahasa Bulgaria"},
	type = "regular",
	scripts = {"Cyrl"},
	family = "zls",
	translit_module = "bg-translit",
	entry_name = {
		from = {"Ѐ", "ѐ", "Ѝ", "ѝ", GRAVE, ACUTE},
		to   = {"Е", "е", "И", "и"}} }
m["bh"] = {
	names = {"bahasa Bihari"},
	type = "regular",
	scripts = {"Deva"},
	family = "inc"}
m["bi"] = {
	names = {"bahasa Bislama"},
	type = "regular",
	scripts = {"Latn"},
	family = "crp"}
m["bm"] = {
	names = {"bahasa Bambara", "Bamanankan"},
	type = "regular",
	scripts = {"Latn"},
	family = "dmn"}
m["bn"] = {
	names = {"bahasa Bengal", "Bangla"},
	type = "regular",
	scripts = {"Beng"},
	family = "inc"}
m["bo"] = {
	names = {"bahasa Tibet"},
	type = "regular",
	scripts = {"Tibt"},
	family = "tbq",
	translit_module = "bo-translit"}
m["br"] = {
	names = {"bahasa Breton"},
	type = "regular",
	scripts = {"Latn"},
	family = "cel-bry"}
m["ca"] = {
	names = {"bahasa Katalan", "Valencia"},
	type = "regular",
	scripts = {"Latn"},
	family = "roa",
	sort_key = {
		from = {"à", "[èé]", "[íï]", "[òó]", "[úü]", "ç", "l·l"},
		to   = {"a", "e"   , "i"   , "o"   , "u"   , "c", "ll" }} }
m["ce"] = {
	names = {"bahasa Chechen"},
	type = "regular",
	scripts = {"Cyrl"},
	family = "cau-nec",
	translit_module = "ce-translit"}
m["ch"] = {
	names = {"bahasa Chamorro", "Chamoru"},
	type = "regular",
	scripts = {"Latn"},
	family = "poz-sus"}
m["co"] = {
	names = {"bahasa Corsican", "Corsu"},
	type = "regular",
	scripts = {"Latn"},
	family = "roa"}
m["cr"] = {
	names = {"bahasa Cree"},
	type = "regular",
	scripts = {"Cans", "Latn"},
	family = "alg"}
m["cs"] = {
	names = {"bahasa Czech"},
	type = "regular",
	scripts = {"Latn"},
	family = "zlw",
	sort_key = {
		from = {"á", "é", "í", "ó", "[úů]", "ý"},
		to   = {"a", "e", "i", "o", "u"   , "y"}} }
m["cu"] = {
	names = {"bahasa Gereja Slavonia Lama", "Old Church Slavic"},
	type = "regular",
	scripts = {"Cyrs", "Glag"},
	family = "zls",
	translit_module = "Cyrs-Glag-translit",
	entry_name = {
		from = {u(0x0484)}, -- kamora
		to   = {}},
	sort_key = {
		from = {"оу", "є"},
		to   = {"у" , "е"}} }
m["cv"] = {
	names = {"bahasa Chuvash"},
	type = "regular",
	scripts = {"Cyrl"},
	family = "trk",
	translit_module = "cv-translit"}
m["cy"] = {
	names = {"bahasa Welsh"},
	type = "regular",
	scripts = {"Latn"},
	family = "cel-bry",
	sort_key = {
		from = {"[âáàä]", "[êéèë]", "[îíìï]", "[ôóòö]", "[ûúùü]", "[ŵẃẁẅ]", "[ŷýỳÿ]", "'"},
		to   = {"a"	 , "e"	 , "i"	 , "o"	 , "u"	 , "w"	 , "y"	 }} }
m["da"] = {
	names = {"bahasa Denmark"},
	type = "regular",
	scripts = {"Latn"},
	family = "gmq"}
m["de"] = {
	names = {"bahasa Jerman", "High German", "New High German", "Deutsch"}, -- the last name is indeed also used in English
	type = "regular",
	scripts = {"Latn", "Latf"},
	family = "gmw",
	sort_key = {
		from = {"[äàáâå]", "[ëèéê]", "[ïìíî]", "[öòóô]", "[üùúû]", "ß" },
		to   = {"a"	  , "e"	 , "i"	 , "o"	 , "u"	 , "ss"}} }
m["dv"] = {
	names = {"bahasa Dhivehi", "Divehi", "Mahal", "Mahl", "Maldivian"},
	type = "regular",
	scripts = {"Thaa"},
	family = "inc",
	translit_module = "dv-translit"}
m["dz"] = {
	names = {"bahasa Dzongkha"},
	type = "regular",
	scripts = {"Tibt"},
	family = "tbq",
	translit_module = "bo-translit"}
m["ee"] = {
	names = {"bahasa Ewe"},
	type = "regular",
	scripts = {"Latn"},
	family = "alv"}
m["el"] = {
	names = {"bahasa Yunani", "Modern Greek", "Neo-Hellenic"},
	type = "regular",
	scripts = {"Grek"},
	family = "grk",
	translit_module = "el-translit",
	sort_key = {  -- Keep this synchronized with grc, cpg
		from = {"[ᾳάᾴὰᾲᾶᾷἀᾀἄᾄἂᾂἆᾆἁᾁἅᾅἃᾃἇᾇ]", "[έὲἐἔἒἑἕἓ]", "[ῃήῄὴῂῆῇἠᾐἤᾔἢᾒἦᾖἡᾑἥᾕἣᾓἧᾗ]", "[ίὶῖἰἴἲἶἱἵἳἷϊΐῒῗ]", "[όὸὀὄὂὁὅὃ]", "[ύὺῦὐὔὒὖὑὕὓὗϋΰῢῧ]", "[ῳώῴὼῲῶῷὠᾠὤᾤὢᾢὦᾦὡᾡὥᾥὣᾣὧᾧ]", "ῥ", "ς"},
		to   = {"α"						, "ε"		 , "η"						, "ι"				, "ο"		 , "υ"				, "ω"						, "ρ", "σ"}} }
m["en"] = {
	names = {"bahasa Inggris", "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
	type = "regular",
	scripts = {"Latn", "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",
	sort_key = {
		from = {"[äàáâåā]", "[ëèéêē]", "[ïìíîī]", "[öòóôō]", "[üùúûū]", "æ" , "œ" , "[çč]", "ñ", "'"},
		to   = {"a"       , "e"      , "i"      , "o"      , "u"      , "ae", "oe", "c"   , "n"}} }
m["eo"] = {
	names = {"bahasa Esperanto"},
	type = "regular",
	scripts = {"Latn"},
	family = "art",
	sort_key = {
		from = {"[áà]", "[éè]", "[íì]", "[óò]", "[úù]", "[ĉ]", "[ĝ]", "[ĥ]", "[ĵ]", "[ŝ]", "[ŭ]"},
		to   = {"a"	   , "e"  , "i"  , "o"  , "u", "cĉ", "gĉ", "hĉ", "jĉ", "sĉ", "uĉ"}} }
m["es"] = {
	names = {"bahasa Spanyol"},
	type = "regular",
	scripts = {"Latn"},
	family = "roa",
	sort_key = {
		from = {"á", "é", "í", "ó", "[úü]", "ç", "ñ"},
		to   = {"a", "e", "i", "o", "u"   , "c", "n"}} }
m["et"] = {
	names = {"bahasa Estonia"},
	type = "regular",
	scripts = {"Latn"},
	family = "fiu-fin"}
m["eu"] = {
	names = {"bahasa Basque", "Euskara"},
	type = "regular",
	scripts = {"Latn"},
	family = "euq"}
m["fa"] = {
	names = {"bahasa Persia", "Farsi", "New Persian", "Modern Persian"},
	type = "regular",
	scripts = {"fa-Arab"},
	family = "ira",
	entry_name = {
		from = {u(0x064E), u(0x064F), u(0x0650), u(0x0651), u(0x0652)},
		to   = {}} }
m["ff"] = {
	names = {"bahasa Fula", "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
	type = "regular",
	scripts = {"Latn"},
	family = "alv-sng"}
m["fi"] = {
	names = {"bahasa Finlandia", "Suomi"},
	type = "regular",
	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"] = {
	names = {"bahasa Fiji"},
	type = "regular",
	scripts = {"Latn"},
	family = "poz-occ"}
m["fo"] = {
	names = {"bahasa Faroe"},
	type = "regular",
	scripts = {"Latn"},
	family = "gmq"}
m["fr"] = {
	names = {"bahasa Perancis", "Modern French"},
	type = "regular",
	scripts = {"Latn"},
	family = "roa",
	sort_key = {
		from = {"[áàâä]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "æ" , "œ" , "'"},
		to   = {"a"	 , "e"	 , "i"	 , "o"	 , "u"	 , "y"	 , "c", "ae", "oe"}} }
m["fy"] = {
	names = {"bahasa Frisia Barat", "Frisian"},
	type = "regular",
	scripts = {"Latn"},
	family = "gmw-fri"}
m["ga"] = {
	names = {"bahasa Irlandia", "Irish Gaelic"},
	type = "regular",
	scripts = {"Latn"},
	family = "cel-gae",
	sort_key = {
		from = {"á", "é", "í", "ó", "ú", "ý", "ḃ" , "ċ" , "ḋ" , "ḟ" , "ġ" , "ṁ" , "ṗ" , "ṡ" , "ṫ" },
		to   = {"a", "e", "i", "o", "u", "y", "bh", "ch", "dh", "fh", "gh", "mh", "ph", "sh", "th"}} }
m["gd"] = {
	names = {"bahasa Skotlandia", "Gàidhlig", "Highland Gaelic", "Scots Gaelic", "Scottish"},
	type = "regular",
	scripts = {"Latn"},
	family = "cel-gae",
	sort_key = {
		from = {"[áà]", "[éè]", "[íì]", "[óò]", "[úù]", "[ýỳ]"},
		to   = {"a"   , "e"   , "i"   , "o"   , "u"   , "y"   }} }
m["gl"] = {
	names = {"bahasa Galisia"},
	type = "regular",
	scripts = {"Latn"},
	family = "roa"}
m["gn"] = {
	names = {"bahasa Guaraní"},
	type = "regular",
	scripts = {"Latn"},
	family = "tup"}
m["gu"] = {
	names = {"bahasa Gujarati"},
	type = "regular",
	scripts = {"Gujr"},
	family = "inc"}
m["gv"] = {
	names = {"bahasa Manx", "Manx Gaelic"},
	type = "regular",
	scripts = {"Latn"},
	family = "cel-gae",
	sort_key = {
		from = {"ç", "-"},
		to   = {"c"}} }
m["ha"] = {
	names = {"bahasa Hausa"},
	type = "regular",
	scripts = {"Latn", "Arab"},
	family = "cdc-wst"}
m["he"] = {
	names = {"bahasa Ibrani", "Ivrit"},
	type = "regular",
	scripts = {"Hebr"},
	family = "sem-can",
	entry_name = {
		from = {u(0x05B0), u(0x05B1), u(0x05B2), u(0x05B3), u(0x05B4), u(0x05B5), u(0x05B6), u(0x05B7), u(0x05B8), u(0x05B9), u(0x05BA), u(0x05BB), u(0x05BC), u(0x05BD), u(0x05BF), u(0x05C1), u(0x05C2)},
		to   = {}} }
m["hi"] = {
	names = {"bahasa Hindi"},
	type = "regular",
	scripts = {"Deva"},
	family = "inc"}
m["ho"] = {
	names = {"bahasa Hiri Motu", "Pidgin Motu", "Police Motu"},
	type = "regular",
	scripts = {"Latn"},
	family = "crp"}
m["hr"] = {
	names = {"bahasa Kroasia", "Kroasia"},
	type = "regular",
	scripts = {"Latn", "Cyrl"},
	family = "zls"}
m["ht"] = {
	names = {"bahasa Haiti", "Creole", "Kreyòl"},
	type = "regular",
	scripts = {"Latn"},
	family = "crp"}
m["hu"] = {
	names = {"bahasa Hungaria", "Magyar"},
	type = "regular",
	scripts = {"Latn"},
	family = "fiu-ugr",
	sort_key = {
		from = {"á", "é", "í", "ó", "ú", "ő", "ű"},
		to   = {"a", "e", "i", "o", "u", "ö", "ü"}} }
m["hy"] = {
	names = {"bahasa Armenia", "Modern Armenian", "Eastern Armenian", "Western Armenian"},
	type = "regular",
	scripts = {"Armn"},
	family = "hyx",
	translit_module = "Armn-translit",
	sort_key = {
		from = {"ու", "և", "եւ"},
		to   = {"ւ", "եվ", "եվ"}},
	entry_name = {
		from = {"՞", "՜", "՛", "՟", "և", "<sup>յ</sup>", "ՙ", "̈", "յ̵"},
		to   = {"", "", "", "", "եւ", "յ", "", "", "յ"}} }
m["hz"] = {
	names = {"bahasa Herero"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}
m["ia"] = {
	names = {"bahasa Interlingua"},
	type = "regular",
	scripts = {"Latn"},
	family = "art"}
m["id"] = {
	names = {"bahasa Indonesia"},
	type = "regular",
	scripts = {"Latn"},
	family = "poz-mly"}
m["ie"] = {
	names = {"bahasa Interlingue", "Occidental"},
	type = "regular",
	scripts = {"Latn"},
	family = "art"}
m["ig"] = {
	names = {"bahasa Igbo"},
	type = "regular",
	scripts = {"Latn"},
	family = "nic-bco"}
m["ii"] = {
	names = {"bahasa Yi"},
	type = "regular",
	scripts = {"Yiii"},
	family = "tbq"}
m["ik"] = {
	names = {"bahasa Inupiak", "Inupiaq", "Iñupiaq", "Inupiatun"},
	type = "regular",
	scripts = {"Latn"},
	family = "esx-inu"}
m["io"] = {
	names = {"bahasa Ido"},
	type = "regular",
	scripts = {"Latn"},
	family = "art"}
m["is"] = {
	names = {"bahasa Islandia"},
	type = "regular",
	scripts = {"Latn"},
	family = "gmq"}
m["it"] = {
	names = {"bahasa Italia"},
	type = "regular",
	scripts = {"Latn"},
	family = "roa",
	sort_key = {
		from = {"[àáâäå]", "[èéêë]", "[ìíîï]", "[òóôö]", "[ùúûü]"},
		to   = {"a"	  , "e"	 , "i"	 , "o"	 , "u"	 }} }
m["iu"] = {
	names = {"bahasa Inuktitut", "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"},
	type = "regular",
	scripts = {"Cans", "Latn"},
	family = "esx-inu",
	translit_module = "iu-translit"}
m["ja"] = {
	names = {"bahasa Jepang", "Modern Japanese", "Nipponese", "Nihongo"},
	type = "regular",
	scripts = {"Jpan", "Latn", "Hira"},
	family = "jpx"}
m["jv"] = {
	names = {"bahasa Jawa"},
	type = "regular",
	scripts = {"Java", "Latn"},
	family = "poz-sus",
	translit_module = "Java-translit"}
m["ka"] = {
	names = {"bahasa Georgia", "Kartvelian"},
	type = "regular",
	scripts = {"Geor", "Geok"},
	family = "ccs",
	translit_module = "Geor-translit",
	entry_name = {
		from = {"̂"},
		to   = {""}}}
m["kg"] = {
	names = {"bahasa Kongo", "Kikongo", "Koongo", "Laari", "San Salvador Kongo", "Yombe"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}
m["ki"] = {
	names = {"bahasa Kikuyu"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}
m["kj"] = {
	names = {"bahasa Kwanyama", "Kuanyama", "Oshikwanyama"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}
m["kk"] = {
	names = {"bahasa Kazakh"},
	type = "regular",
	scripts = {"Cyrl", "Latn", "Arab", "kk-Arab"},
	family = "trk",
	translit_module = "kk-translit"}
m["kl"] = {
	names = {"bahasa Grinlandia", "Kalaallisut"},
	type = "regular",
	scripts = {"Latn"},
	family = "esx-inu"}
m["km"] = {
	names = {"bahasa Khmer", "Kamboja"},
	type = "regular",
	scripts = {"Khmr"},
	family = "mkh"}
m["kn"] = {
	names = {"bahasa Kannada"},
	type = "regular",
	scripts = {"Knda"},
	family = "dra",
	translit_module = "kn-translit"}
m["ko"] = {
	names = {"bahasa Korea", "Modern Korean"},
	type = "regular",
	scripts = {"Kore"},
	family = "qfa-kor",
	translit_module = "ko-translit"}
m["kr"] = {
	names = {"bahasa Kanuri", "Kanembu", "Bilma Kanuri", "Central Kanuri", "Manga Kanuri", "Tumari Kanuri"},
	type = "regular",
	scripts = {"Latn"},
	family = "ssa"}
m["ks"] = {
	names = {"bahasa Kashmir"},
	type = "regular",
	scripts = {"ks-Arab", "Deva"},
	family = "iir-dar"}
m["ku"] = {
	names = {"bahasa Kurdish"},
	type = "regular",
	scripts = {"Latn", "ku-Arab"},
	family = "ira"}
m["kv"] = {
	names = {"bahasa Komi-Zyria", "Komi"},
	type = "regular",
	scripts = {"Cyrl"},
	family = "fiu",
	translit_module = "kv-translit"}
m["kw"] = {
	names = {"bahasa Cornish"},
	type = "regular",
	scripts = {"Latn"},
	family = "cel-bry"}
m["ky"] = {
	names = {"bahasa Kirgiz", "Kirghiz"},
	type = "regular",
	scripts = {"Cyrl", "Latn", "Arab"},
	family = "trk",
	translit_module = "ky-translit"}
m["la"] = {
	names = {"bahasa Latin"},
	type = "regular",
	scripts = {"Latn"},
	family = "itc",
	entry_name = {
		from = {"Ā", "ā", "Ē", "ē", "Ī", "ī", "Ō", "ō", "Ū", "ū", "Ȳ", "ȳ"},
		to   = {"A", "a", "E", "e", "I", "i", "O", "o", "U", "u", "Y", "y"}} }
-- Latin varieties by period
 
m["la-lat"] = {
	names = {"Late Latin"},
	parent = "la",
}
m["Late Latin"] = m["la-lat"]	
m["LL."] = m["la-lat"]
m["LL"] = m["la-lat"]
 
m["la-vul"] = {
	names = {"bahasa Latin Umum", "bahasa Latin Rakyat", "bahasa Latin Vulgar"},
	parent = "la",
}
m["Vulgar Latin"] = m["la-vul"]
m["VL."] = m["la-vul"]
 
m["la-med"] = {
	names = {"bahasa Latin Pertengahan", "Medieval Latin"},
	parent = "la",
}
m["Medieval Latin"] = m["la-med"]
m["ML."] = m["la-med"]
m["ML"] = m["la-med"]
 
m["la-ecc"] = {
	names = {"bahasa Latin Gereja", "Ecclesiastical Latin", "Church Latin"},
	parent = "la",
}
m["Ecclesiastical Latin"] = m["la-ecc"]
m["EL."] = m["la-ecc"]
 
m["la-ren"] = {
	names = {"bahasa Latin Abad Penerangan", "Renaissance Latin"},
	parent = "la",
}
m["Renaissance Latin"] = m["la-ren"]
m["RL."] = m["la-ren"]
 
m["la-new"] = {
	names = {"bahasa Latin Modern", "bahasa Latin Baru", "New Latin", "Modern Latin"},
	parent = "la",
}
m["New Latin"] = m["la-new"]
m["NL."] = m["la-new"]

m["lb"] = {
	names = {"bahasa Luksemburg"},
	type = "regular",
	scripts = {"Latn"},
	family = "gmw"}
m["lg"] = {
	names = {"bahasa Luganda", "Ganda"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}
m["li"] = {
	names = {"bahasa Limburgish", "Limburgan", "Limburgian", "Limburgic"},
	type = "regular",
	scripts = {"Latn"},
	family = "gmw"}
m["ln"] = {
	names = {"bahasa Lingala"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}
m["lo"] = {
	names = {"bahasa Lao", "Laos"},
	type = "regular",
	scripts = {"Laoo"},
	family = "tai-swe"}
m["lt"] = {
	names = {"bahasa Lithuania"},
	type = "regular",
	scripts = {"Latn"},
	family = "bat",
	entry_name = {
		from = {"[áãà]", "[éẽè]", "[íĩì]", "[ýỹ]", "ñ", "[óõò]", "[úù]", ACUTE, GRAVE, TILDE},
		to   = {"a"    , "e"    , "i", "y"   , "n", "o"	   , "u"   }} }
m["lu"] = {
	names = {"bahasa Luba-Katanga"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}
m["lv"] = {
	names = {"bahasa Latvia", "Lettish", "Lett"},
	type = "regular",
	scripts = {"Latn"},
	family = "bat"}
m["mg"] = {
	names = {"bahasa Malagasy", "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"},
	type = "regular",
	scripts = {"Latn"},
	family = "poz-bre"}
m["mh"] = {
	names = {"bahasa Marshall"},
	type = "regular",
	scripts = {"Latn"},
	family = "poz-mic",
	sort_key = {
		from = {"ā" , "ļ" , "m̧" , "ņ" , "n̄"  , "o̧" , "ō"  , "ū" },
		to   = {"a~", "l~", "m~", "n~", "n~~", "o~", "o~~", "u~"}} }
m["mi"] = {
	names = {"bahasa Maori", "Māori"},
	type = "regular",
	scripts = {"Latn"},
	family = "poz-pol"}
m["mk"] = {
	names = {"bahasa Makedonia"},
	type = "regular",
	scripts = {"Cyrl"},
	family = "zls",
	translit_module = "mk-translit",
	entry_name = {
		from = {"Ѐ", "ѐ", "Ѝ", "ѝ", GRAVE, ACUTE},
		to   = {"Е", "е", "И", "и"}} }
m["ml"] = {
	names = {"bahasa Malayalam"},
	type = "regular",
	scripts = {"Mlym"},
	family = "dra",
	translit_module = "ml-translit",}
m["mn"] = {
	names = {"bahasa Mongolia"},
	type = "regular",
	scripts = {"Cyrl", "Mong"},
	family = "xgn",
	translit_module = "mn-translit"}
m["mr"] = {
	names = {"bahasa Marathi"},
	type = "regular",
	scripts = {"Deva"},
	family = "inc"}
m["ms"] = {
	names = {"bahasa Melayu"},
	type = "regular",
	scripts = {"Latn", "Arab"},
	family = "poz-mly"}
m["mt"] = {
	names = {"bahasa Malta"},
	type = "regular",
	scripts = {"Latn"},
	family = "sem-arb"}
m["my"] = {
	names = {"bahasa Burma", "Myanmar"},
	type = "regular",
	scripts = {"Mymr"},
	family = "tbq-brm",
	translit_module = "my-translit"}
m["na"] = {
	names = {"bahasa Nauru", "Nauru"},
	type = "regular",
	scripts = {"Latn"},
	family = "poz-mic"}
m["nb"] = {
	names = {"bahasa Bokmål"},
	type = "regular",
	scripts = {"Latn"},
	family = "gmq"}
m["nd"] = {
	names = {"bahasa Ndebele Utara", "North Ndebele"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}
m["ne"] = {
	names = {"bahasa Nepal", "Nepal"},
	type = "regular",
	scripts = {"Deva"},
	family = "inc"}
m["ng"] = {
	names = {"bahasa Ndonga"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}
m["nl"] = {
	names = {"bahasa Belanda", "Netherlandic", "Flemish"},
	type = "regular",
	scripts = {"Latn"},
	family = "gmw",
	sort_key = {
		from = {"[äáâå]", "[ëéê]", "[ïíî]", "[öóô]", "[üúû]", "ç", "ñ", "^-"},
		to   = {"a"	 , "e"	, "i"	, "o"	, "u"	, "c", "n"}} }
m["nn"] = {
	names = {"bahasa Nynorsk", "New Norwegian"},
	type = "regular",
	scripts = {"Latn"},
	family = "gmq"}
m["no"] = {
	names = {"bahasa Norwegia"},
	type = "regular",
	scripts = {"Latn"},
	family = "gmq"}
m["nr"] = {
	names = {"bahasa Ndebele Selatan", "South Ndebele"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}
m["nv"] = {
	names = {"bahasa Navajo"},
	type = "regular",
	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"] = {
	names = {"bahasa Chichewa", "Chicheŵa", "Chinyanja", "Nyanja"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}
m["oc"] = {
	names = {"bahasa Occitan", "Provençal", "Auvergnat", "Auvernhat", "Gascon"},
	type = "regular",
	scripts = {"Latn"},
	family = "roa",
	sort_key = {
		from = {"[àá]", "[èé]", "[íï]", "[òó]", "[úü]", "ç", "([lns])·h"},
		to   = {"a"   , "e"   , "i"   , "o"   , "u"   , "c", "%1h"	  }} }
m["oj"] = {
	names = {"bahasa Ojibwe", "Chippewa", "Ojibway", "Ojibwemowin", "Southwestern Ojibwa"},
	type = "regular",
	scripts = {"Cans", "Latn"},
	family = "alg"}
m["om"] = {
	names = {"bahasa Oromo", "Orma", "Borana-Arsi-Guji Oromo", "West Central Oromo"},
	type = "regular",
	scripts = {"Latn", "Ethi"},
	family = "cus"}
m["or"] = {
	names = {"bahasa Oriya", "Odia", "Oorya"},
	type = "regular",
	scripts = {"Orya"},
	family = "inc"}
m["os"] = {
	names = {"bahasa Ossetia", "Ossete", "Ossetic", "Digor", "Iron"},
	type = "regular",
	scripts = {"Cyrl", "Geor", "Latn"},
	family = "ira",
	translit_module = "os-translit",
	entry_name = {
		from = {GRAVE, ACUTE},
		to   = {}} }
m["pa"] = {
	names = {"bahasa Punjabi", "Panjabi"},
	type = "regular",
	scripts = {"Guru", "Arab", "Deva"},
	family = "inc"}
m["pi"] = {
	names = {"bahasa Pali"},
	type = "regular",
	scripts = {"Latn", "Deva", "Sinh", "Mymr", "Khmr", "Thai"},
	family = "inc",
	sort_key = {
		from = {"ā", "ī", "ū", "ḍ", "ḷ", "[ṁṃ]", "[ṇñṅ]", "ṭ"},
		to   = {"a", "i", "u", "d", "l", "m"   , "n"	, "t"}} }
m["pl"] = {
	names = {"bahasa Polandia"},
	type = "regular",
	scripts = {"Latn"},
	family = "zlw",
	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"] = {
	names = {"bahasa Pashto", "Pashtun", "Pushto", "Pashtu", "Central Pashto", "Northern Pashto", "Southern Pashto", "Pukhto", "Pakhto", "Pakkhto", "Afghani"},
	type = "regular",
	scripts = {"ps-Arab"},
	family = "ira"}
m["pt"] = {
	names = {"bahasa Portugis", "Modern Portuguese"},
	type = "regular",
	scripts = {"Latn"},
	family = "roa",
	sort_key = {
		from = {"[àãáâä]", "[èẽéêë]", "[ìĩíï]", "[òóôõö]", "[üúùũ]", "ç", "ñ"},
		to   = {"a"	  , "e"	  , "i"	 , "o"	  , "u"	 , "c", "n"}} }
m["qu"] = {
	names = {"bahasa Quechua"},
	type = "regular",
	scripts = {"Latn"},
	family = "qwe"}
m["rm"] = {
	names = {"bahasa Romansch", "Romansh", "Rumantsch", "Romanche"},
	type = "regular",
	scripts = {"Latn"},
	family = "roa"}
m["rn"] = {
	names = {"bahasa Kirundi"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}
m["ro"] = {
	names = {"bahasa Romania", "Daco-Romanian", "Roumanian", "Rumanian"},
	type = "regular",
	scripts = {"Latn", "Cyrl"},
	family = "roa"}
m["ru"] = {
	names = {"bahasa Rusia"},
	type = "regular",
	scripts = {"Cyrl"},
	family = "zle",
	translit_module = "ru-translit",
	sort_key = {
		from = {"ё"},
		to   = {"е" .. mw.ustring.char(0x10FFFF)}},
	entry_name = {
		from = {GRAVE, ACUTE},
		to   = {}} }
m["rw"] = {
	names = {"bahasa Kinyarwanda"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}
m["sa"] = {
	names = {"bahasa Sanskrit"},
	type = "regular",
	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"] = {
	names = {"bahasa Sardinia"},
	type = "regular",
	scripts = {"Latn"},
	family = "roa"}
m["sd"] = {
	names = {"bahasa Sindhi"},
	type = "regular",
	scripts = {"sd-Arab"},
	family = "inc"}
m["se"] = {
	names = {"bahasa Sami Utara"},
	type = "regular",
	scripts = {"Latn"},
	family = "smi"}
m["sg"] = {
	names = {"bahasa Sango"},
	type = "regular",
	scripts = {"Latn"},
	family = "crp"}
m["sh"] = {
	names = {"bahasa Serbo-Kroasia", "BCS", "Croato-Serbian", "Serbocroatian", "Bosnian", "Croatian", "Montenegrin", "Serbian"},
	type = "regular",
	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"	  , "Е", "е", "И"   , "и", "У", "у"   }} }
m["si"] = {
	names = {"bahasa Sinhala", "Singhalese"},
	type = "regular",
	scripts = {"Sinh"},
	family = "inc",
	translit_module = "si-translit"}
m["sk"] = {
	names = {"bahasa Slowakia"},
	type = "regular",
	scripts = {"Latn"},
	family = "zlw",
	sort_key = {
		from = {"[áä]", "é", "í", "[óô]", "ú", "ý", "ŕ", "ĺ"},
		to   = {"a"   , "e", "i", "o"   , "u", "y", "r", "l"}} }
m["sl"] = {
	names = {"bahasa Slovenia"},
	type = "regular",
	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"] = {
	names = {"bahasa Samoa"},
	type = "regular",
	scripts = {"Latn"},
	family = "poz-pol"}
m["sn"] = {
	names = {"bahasa Shona"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}
m["so"] = {
	names = {"bahasa Somali"},
	type = "regular",
	scripts = {"Latn", "Arab", "Osma"},
	family = "cus",
	entry_name = {
		from = {"[ÁÀÂ]", "[áàâ]", "[ÉÈÊ]", "[éèê]", "[ÍÌÎ]", "[íìî]", "[ÓÒÔ]", "[óòô]", "[ÚÙÛ]", "[úùû]", "[ÝỲ]", "[ýỳ]"},
		to   = {"A"	  , "a"	  , "E"	, "e" , "I"	  , "i"	  , "O"	, "o"	, "U"  , "u", "Y", "y"}} }
m["sq"] = {
	names = {"bahasa Albania"},
	type = "regular",
	scripts = {"Latn"},
	family = "sqj"}
m["ss"] = {
	names = {"bahasa Swazi", "Swati"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}
m["st"] = {
	names = {"bahasa Sotho", "Sesotho", "Southern Sesotho", "Southern Sotho"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}
m["su"] = {
	names = {"bahasa Sunda"},
	type = "regular",
	scripts = {"Latn", "Sund"},
	family = "poz-msa"}
m["sv"] = {
	names = {"bahasa Swedia"},
	type = "regular",
	scripts = {"Latn"},
	family = "gmq"}
m["sw"] = {
	names = {"bahasa Swahili"},
	type = "regular",
	scripts = {"Latn", "Arab"},
	family = "bnt",
	sort_key = {
		from = {"ng'", "^-"},
		to   = {"ngz"}} }
m["ta"] = {
	names = {"bahasa Tamil"},
	type = "regular",
	scripts = {"Taml"},
	family = "dra",
	translit_module = "ta-translit"}
m["te"] = {
	names = {"bahasa Telugu"},
	type = "regular",
	scripts = {"Telu"},
	family = "dra",
	translit_module = "te-translit"}
m["tg"] = {
	names = {"bahasa Tajik", "Tadjik", "Tadzhik", "Tajiki", "Tajik Persian"},
	type = "regular",
	scripts = {"Cyrl", "fa-Arab", "Latn"},
	family = "ira",
	translit_module = "tg-translit",
		sort_key = {
		from = {"Ё", "ё"},
		to   = {"Е" , "е"}} }
m["th"] = {
	names = {"bahasa Thai"},
	type = "regular",
	scripts = {"Thai"},
	family = "tai-swe"}
m["ti"] = {
	names = {"bahasa Tigrinya"},
	type = "regular",
	scripts = {"Ethi"},
	family = "sem-eth",
	translit_module = "Ethi-translit"}
m["tk"] = {
	names = {"bahasa Turkmen"},
	type = "regular",
	scripts = {"Latn", "Cyrl"},
	family = "trk"}
m["tl"] = {
	names = {"bahasa Tagalog"},
	type = "regular",
	scripts = {"Latn", "Tglg"},
	family = "phi"}
m["tn"] = {
	names = {"bahasa Tswana", "Setswana"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}
m["to"] = {
	names = {"bahasa Tongan"},
	type = "regular",
	scripts = {"Latn"},
	family = "poz-pol"}
m["tr"] = {
	names = {"bahasa Turki"},
	type = "regular",
	scripts = {"Latn"},
	family = "trk"}
m["ts"] = {
	names = {"bahasa Tsonga"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}
m["tt"] = {
	names = {"bahasa Tatar"},
	type = "regular",
	scripts = {"Cyrl", "Latn", "Arab", "tt-Arab"},
	family = "trk",
	translit_module = "tt-translit"}
m["tw"] = {
	names = {"bahasa Twi"},
	type = "regular",
	scripts = {"Latn"},
	family = "alv-kwa"}
m["ty"] = {
	names = {"bahasa Tahiti"},
	type = "regular",
	scripts = {"Latn"},
	family = "poz-pol"}
m["ug"] = {
	names = {"bahasa Uighur", "Uigur", "Uygur"},
	type = "regular",
	scripts = {"ug-Arab", "Latn", "Cyrl"},
	family = "trk",
	translit_module = "ug-translit"}
m["uk"] = {
	names = {"bahasa Ukrania"},
	type = "regular",
	scripts = {"Cyrl"},
	family = "zle",
	translit_module = "uk-translit",
	entry_name = {
		from = {GRAVE, ACUTE},
		to   = {}} } 
m["ur"] = {
	names = {"bahasa Urdu"},
	type = "regular",
	scripts = {"ur-Arab"},
	family = "inc",
	entry_name = {
		from = {u(0x064B), u(0x064C), u(0x064D), u(0x064E), u(0x064F), u(0x0650), u(0x0651), u(0x0652)},
		to   = {}} }
m["uz"] = {
	names = {"bahasa Uzbek"},
	type = "regular",
	scripts = {"Latn", "Cyrl", "fa-Arab"},
	family = "trk"}
m["ve"] = {
	names = {"bahasa Venda"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}
m["vi"] = {
	names = {"bahasa Vietnam", "Annam"},
	type = "regular",
	scripts = {"Latn", "Hani"},
	family = "mkh-vie"}
m["vo"] = {
	names = {"bahasa Volapük"},
	type = "regular",
	scripts = {"Latn"},
	family = "art"}
m["wa"] = {
	names = {"bahasa Walloon"},
	type = "regular",
	scripts = {"Latn"},
	family = "roa",
	sort_key = {
		from = {"[áàâäå]", "[éèêë]", "[íìîï]", "[óòôö]", "[úùûü]", "[ýỳŷÿ]", "ç", "'"},
		to   = {"a"	  , "e"	 , "i"	 , "o"	 , "u"	 , "y"	 , "c"}} }
m["wo"] = {
	names = {"bahasa Wolof"},
	type = "regular",
	scripts = {"Latn", "Arab"},
	family = "alv-sng"}
m["xh"] = {
	names = {"bahasa Xhosa"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}
m["yi"] = {
	names = {"bahasa Yiddish"},
	type = "regular",
	scripts = {"Hebr"},
	family = "gmw",
	translit_module = "yi-translit"}
m["yo"] = {
	names = {"bahasa Yoruba"},
	type = "regular",
	scripts = {"Latn"},
	family = "alv-von"}
m["za"] = {
	names = {"bahasa Zhuang"},
	type = "regular",
	scripts = {"Latn", "Hani", "Cyrl"},
	family = "tai"}
m["zh"] = {
        names = {"bahasa Tionghoa"},
        type = "regular",
        scripts = {"Hani"},
        family = "sit"}
m["zu"] = {
	names = {"bahasa Zulu", "isiZulu"},
	type = "regular",
	scripts = {"Latn"},
	family = "bnt"}

return m