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["ebg"] = {
	canonicalName = "Ebughu",
	scripts = {"Latn"},
	family = "nic-bco",
}

m["ebk"] = {
	canonicalName = "Eastern Bontoc",
	otherNames = {"Eastern Bontok"},
	family = "phi",
}

m["ebo"] = {
	canonicalName = "Teke-Ebo",
}

m["ebr"] = {
	canonicalName = "Ebrié",
	scripts = {"Latn"},
	family = "alv-kwa",
}

m["ebu"] = {
	canonicalName = "Embu",
	scripts = {"Latn"},
	family = "bnt",
}

m["ecr"] = {
	canonicalName = "Eteocretan",
	scripts = {"Grek"},
}

m["ecs"] = {
	canonicalName = "Ecuadorian Sign Language",
	family = "sgn",
}

m["ecy"] = {
	canonicalName = "Eteocypriot",
	scripts = {"Cprt"},
}

m["eee"] = {
	canonicalName = "E",
	otherNames = {"Kjang E"},
	scripts = {"Hani", "Latn"},
	family = "qfa-mix",
}

m["efa"] = {
	canonicalName = "Efai",
}

m["efe"] = {
	canonicalName = "Efe",
}

m["efi"] = {
	canonicalName = "Efik",
	scripts = {"Latn"},
	family = "nic-bco",
}

m["ega"] = {
	canonicalName = "Ega",
}

m["egl"] = {
	canonicalName = "Emilian",
	otherNames = {"Emiliano"},
	scripts = {"Latn"},
	family = "roa",
	wikimedia_codes = {"eml"},
}

m["ego"] = {
	canonicalName = "Eggon",
}

m["egy"] = {
	canonicalName = "Egyptian",
	otherNames = {"Ancient Egyptian"},
	scripts = {"Latinx", "Egyp", "Egyd"},
	family = "egx",
}

m["ehu"] = {
	canonicalName = "Ehueun",
	scripts = {"Latn"},
	family = "alv-edo",
}

m["eip"] = {
	canonicalName = "Eipomek",
	scripts = {"Latn"},
	family = "ngf",
}

m["eit"] = {
	canonicalName = "Eitiep",
	scripts = {"Latn"},
	family = "qfa-tor",
}

m["eiv"] = {
	canonicalName = "Askopan",
}

m["eja"] = {
	canonicalName = "Ejamat",
}

m["eka"] = {
	canonicalName = "Ekajuk",
	scripts = {"Latn"},
	family = "nic-bod",
}

m["eke"] = {
	canonicalName = "Ekit",
}

m["ekg"] = {
	canonicalName = "Ekari",
	scripts = {"Latn"},
	family = "ngf",
}

m["eki"] = {
	canonicalName = "Eki",
}

m["ekl"] = {
	canonicalName = "Kolhe",
	otherNames = {"Kol", "Kol (Bangladesh)"},
}

m["ekm"] = {
	canonicalName = "Elip",
	scripts = {"Latn"},
	family = "nic-bod",
}

m["eko"] = {
	canonicalName = "Koti",
	scripts = {"Latn"},
	family = "bnt",
}

m["ekp"] = {
	canonicalName = "Ekpeye",
	scripts = {"Latn"},
	family = "alv-von",
}

m["ekr"] = {
	canonicalName = "Yace",
}

m["eky"] = {
	canonicalName = "Eastern Kayah",
	scripts = {"Kali"},
	family = "kar",
}

m["ele"] = {
	canonicalName = "Elepi",
	scripts = {"Latn"},
	family = "qfa-tor",
}

m["elh"] = {
	canonicalName = "El Hugeirat",
}

m["eli"] = {
	canonicalName = "Nding",
}

m["elk"] = {
	canonicalName = "Elkei",
	scripts = {"Latn"},
	family = "qfa-tor",
}

m["elm"] = {
	canonicalName = "Eleme",
	scripts = {"Latn"},
	family = "nic-bco",
}

m["elo"] = {
	canonicalName = "El Molo",
	family = "cus",
}

m["elu"] = {
	canonicalName = "Elu",
	family = "poz-aay",
}

m["elx"] = {
	canonicalName = "Elamite",
	scripts = {"Xsux"},
	family = "qfa-iso",
}

m["ema"] = {
	canonicalName = "Emai",
	otherNames = {"Aoma", "Ora", "Emai-Iuleha-Ora"},
	scripts = {"Latn"},
	family = "alv-edo",
}

m["emb"] = {
	canonicalName = "Embaloh",
	otherNames = {"Maloh", "Malo", "Matoh", "Mbaloh", "Memaloh", "Palin", "Pari", "Sangau", "Sanggau", "Kalis"},
}

m["eme"] = {
	canonicalName = "Emerillon",
	otherNames = {"Emerilon", "Emerion", "Mereo", "Melejo", "Mereyo", "Teco"},
	scripts = {"Latn"},
	family = "tup-gua",
}

m["emg"] = {
	canonicalName = "Eastern Meohang",
}

m["emi"] = {
	canonicalName = "Mussau-Emira",
	scripts = {"Latn"},
	family = "poz-ocw",
}

m["emk"] = {
	canonicalName = "Eastern Maninkakan",
}

m["emm"] = {
	canonicalName = "Mamulique",
}

m["emn"] = {
	canonicalName = "Eman",
	scripts = {"Latn"},
	family = "nic-bod",
}

m["emp"] = {
	canonicalName = "Northern Emberá",
	scripts = {"Latn"},
	family = "sai-chc",
}

m["ems"] = {
	canonicalName = "Alutiiq",
	scripts = {"Latn"},
	family = "ypk",
}

m["emu"] = {
	canonicalName = "Eastern Muria",
	family = "dra",
	ancestors = {"gon"},
}

m["emw"] = {
	canonicalName = "Emplawas",
}

m["emx"] = {
	canonicalName = "Erromintxela",
}

m["emy"] = {
	canonicalName = "Epigraphic Mayan",
	otherNames = {"Classic Ch'olti'an", "Ch'olti'"},
	scripts = {"Maya"},
	family = "myn",
}

m["ena"] = {
	canonicalName = "Apali",
}

m["enb"] = {
	canonicalName = "Markweeta",
	family = "sdv",
}

m["enc"] = {
	canonicalName = "En",
}

m["end"] = {
	canonicalName = "Ende",
	scripts = {"Latn"},
	family = "plf",
}

m["enf"] = {
	canonicalName = "Forest Enets",
}

m["enh"] = {
	canonicalName = "Tundra Enets",
}

m["enl"] = {
	canonicalName = "Enlhet",
	otherNames = {"Lengua"},
}

m["enm"] = {
	canonicalName = "Middle English",
	otherNames = {"Medieval English", "Mediaeval English"},
	scripts = {"Latn"},
	family = "gmw",
	ancestors = {"ang"},
	entry_name = {
		from = {"[ĀÁ]", "[āá]", "[ǢǼ]", "[ǣǽ]", "Ċ", "ċ", "[ĒÉĖ]", "[ēéė]", "Ġ", "ġ", "[ĪÍ]", "[īí]", "[ŌÓ]", "[ōó]", "[ŪÚ]", "[ūú]", "[ȲÝ]", "[ȳý]", MACRON, ACUTE, DOTABOVE},
		to   = {"A", "a", "Æ", "æ", "C", "c", "E", "e", "G", "g", "I", "i", "O", "o", "U", "u", "Y", "y"}},
}

m["enn"] = {
	canonicalName = "Engenni",
	scripts = {"Latn"},
	family = "alv-edo",
}

m["eno"] = {
	canonicalName = "Enggano",
	family = "poz",
}

m["enq"] = {
	canonicalName = "Enga",
}

m["enr"] = {
	canonicalName = "Emem",
}

m["enu"] = {
	canonicalName = "Enu",
	family = "tbq-lol",
}

m["env"] = {
	canonicalName = "Enwan",
	scripts = {"Latn"},
	family = "alv-edo",
}

m["enw"] = {
	canonicalName = "Enwang",
	otherNames = {"Enwan"},
	family = "nic-bco",
}

m["enx"] = {
	canonicalName = "Enxet",
	otherNames = {"Lengua"},
}

m["eot"] = {
	canonicalName = "Eotile",
	otherNames = {"Beti"},
	scripts = {"Latn"},
	family = "alv-kwa",
}

m["epi"] = {
	canonicalName = "Epie",
	scripts = {"Latn"},
	family = "alv-edo",
}

m["era"] = {
	canonicalName = "Eravallan",
	family = "dra",
}

m["erg"] = {
	canonicalName = "Sie",
}

m["erh"] = {
	canonicalName = "Eruwa",
	scripts = {"Latn"},
	family = "alv-edo",
}

m["eri"] = {
	canonicalName = "Ogea",
	otherNames = {"Erima"},
	scripts = {"Latn"},
}

m["erk"] = {
	canonicalName = "South Efate",
	otherNames = {"Efate", "Vate", "Vaté"},
	scripts = {"Latn"},
	family = "poz-vnc",
}

m["ero"] = {
	canonicalName = "Horpa",
	otherNames = {"Ergong", "Danba", "Stau", "rTau", "Rtau", "Daofuhua", "Bawang", "Bopa", "Dawu", "Geshitsa", "Geshiza", "Geshizahua", "Hor", "Huo'er", "Hórsók", "Nyagrong-Minyag", "Pawang", "Rgu", "Western rGyalrong", "Western Gyarong", "Western Jiarong", "Xinlong-Muya"},
	family = "sit",
}

m["err"] = {
	canonicalName = "Erre",
}

m["ers"] = {
	canonicalName = "Ersu",
	otherNames = {"Duoxu", "Erhsu"},
	scripts = {"Latn"}, -- also Ersu Shaba
	family = "sit-qia",
}

m["ert"] = {
	canonicalName = "Eritai",
}

m["erw"] = {
	canonicalName = "Erokwanas",
	family = "poz-hce",
}

m["ese"] = {
	canonicalName = "Ese Ejja",
	otherNames = {"Tiatinagua"},
	family = "sai-tac",
}

m["esh"] = {
	canonicalName = "Eshtehardi",
	scripts = {"fa-Arab"},
	family = "ira-wes",
	ancestors = {"ira-azr"},
}

m["esi"] = {
	canonicalName = "North Alaskan Inupiatun",
	scripts = {"Latn"},
	family = "esx-inu",
}

m["esk"] = {
	canonicalName = "Northwest Alaska Inupiatun",
	family = "esx-inu",
}

m["esl"] = {
	canonicalName = "Egyptian Sign Language",
	family = "sgn",
}

m["esm"] = {
	canonicalName = "Esuma",
	scripts = {"Latn"},
	family = "alv-kwa",
}

m["esn"] = {
	canonicalName = "Salvadoran Sign Language",
	family = "sgn",
}

m["eso"] = {
	canonicalName = "Estonian Sign Language",
	family = "sgn",
}

m["esq"] = {
	canonicalName = "Esselen",
}

m["ess"] = {
	canonicalName = "Central Siberian Yupik",
	otherNames = {"Central Siberian Yup'ik", "St. Lawrence Yupik", "St. Lawrence Yup'ik", "St. Lawrence Eskimo", "Siberian Yupik", "Siberian Yup'ik", "Siberian Yupik Eskimo", "Siberian Yup'ik Eskimo", "St. Lawrence Island Eskimo", "St. Lawrence Island Yupik", "St. Lawrence Island Yup'ik"},
	scripts = {"Cyrl"},
	family = "ypk",
}

m["esu"] = {
	canonicalName = "Yup'ik",
	scripts = {"Latn"},
	family = "ypk",
}

m["esy"] = {
	canonicalName = "Eskayan",
	scripts = {"Latn"}, -- also its own native script
	family = "art",
}

m["etb"] = {
	canonicalName = "Etebi",
}

m["etc"] = {
	canonicalName = "Etchemin",
	scripts = {"Latn"},
	family = "alg",
}

m["eth"] = {
	canonicalName = "Ethiopian Sign Language",
	family = "sgn",
}

m["etn"] = {
	canonicalName = "Eton (Vanuatu)",
	otherNames = {"Eton"},
	family = "poz-oce",
}

m["eto"] = {
	canonicalName = "Eton (Cameroon)",
	otherNames = {"Eton"},
	scripts = {"Latn"},
	family = "bnt",
}

m["etr"] = {
	canonicalName = "Edolo",
}

m["ets"] = {
	canonicalName = "Yekhee",
	otherNames = {"Afenmai", "Afemai", "Etsako"},
	scripts = {"Latn"},
	family = "alv-edo",
}

m["ett"] = {
	canonicalName = "Etruscan",
	scripts = {"Ital"},
	family = "qfa-tyn",
	translit_module = "Ital-translit",
}

m["etu"] = {
	canonicalName = "Ejagham",
	scripts = {"Latn"},
	family = "nic-bod",
}

m["etx"] = {
	canonicalName = "Eten",
}

m["etz"] = {
	canonicalName = "Semimi",
}

m["eve"] = {
	canonicalName = "Even",
	scripts = {"Cyrl", "Latn"},
	family = "tuw",
	entry_name = {
	from = {"[Ӣ]", "[ӣ]", "[Ӯ]", "[ӯ]", MACRON, DOTBELOW, DOTABOVE},
	to   = { "И",   "и",   "У",   "у" }},
	translit_module = "eve-translit",
}

m["evh"] = {
	canonicalName = "Uvbie",
	scripts = {"Latn"},
	family = "alv-edo",
}

m["evn"] = {
	canonicalName = "Evenki",
	scripts = {"Cyrl"},
	family = "tuw",
	entry_name = {
		from = {"[Ӣ]", "[ӣ]", "[Ӯ]", "[ӯ]", MACRON, DOTBELOW, DOTABOVE},
		to   = { "И",   "и",   "У",   "у" }},
	translit_module = "evn-translit",
}

m["ewo"] = {
	canonicalName = "Ewondo",
	scripts = {"Latn"},
	family = "bnt",
}

m["ext"] = {
	canonicalName = "Extremaduran",
	scripts = {"Latn"},
	family = "roa",
}

m["eya"] = {
	canonicalName = "Eyak",
	family = "xnd",
}

m["eyo"] = {
	canonicalName = "Keiyo",
	family = "sdv",
}

m["eza"] = {
	canonicalName = "Ezaa",
	otherNames = {"Ezza", "Eza"},
	family = "alv-von",
}

m["eze"] = {
	canonicalName = "Uzekwe",
	scripts = {"Latn"},
	family = "nic-bco",
}

return m
"https://si.wikibooks.org/w/index.php?title=Module:Languages/data3/e&oldid=12083" වෙතින් සම්ප්‍රවේශනය කෙරිණි