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 RSQUO     = u(0x2019)
local PSILI     = u(0x1FBD)
local CORONIS   = u(0x1FBF)
-- combining smooth breathing and rough breathing
local COMMA		= u(0x0313)
local REV_COMMA = u(0x0314)

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

local m = {}

m["gaa"] = { 
	canonicalName = "Ga",
	scripts = {"Latn"},
	family = "alv-kwa",
}

m["gab"] = {
	canonicalName = "Gabri",
	otherNames = {"Gabri", "Southern Gabri"},
	scripts = {"Latn"},
	family = "cdc",
}

m["gac"] = { 
	canonicalName = "Mixed Great Andamanese",
	otherNames = {"Great Andamanese creole", "Great Andamanese"},
	scripts = {"Latn"},
	family = "qfa-adm",
}

m["gad"] = { -- not to be confused with gdk, gdg
	canonicalName = "Gaddang",
	otherNames = {"Cagayan"},
	scripts = {"Latn"},
	family = "phi",
}

m["gae"] = {
	canonicalName = "Warekena",
	otherNames = {"Guarequena", "Arekena"},
	scripts = {"Latn"},
	family = "awd-nwk",
}

m["gaf"] = {
	canonicalName = "Gende",
	otherNames = {"Gendeka", "Gene"},
	scripts = {"Latn"},
	family = "ngf",
}

m["gag"] = {
	canonicalName = "Gagauz",
	scripts = {"Latn", "Cyrl"},
	family = "trk-ogz",
}

m["gah"] = {
	canonicalName = "Alekano",
	otherNames = {"Gahuku"},
	scripts = {"Latn"},
	family = "paa-kag",
}

m["gai"] = {
	canonicalName = "Borei",
	scripts = {"Latn"},
	family = "paa",
}

m["gaj"] = {
	canonicalName = "Gadsup",
	scripts = {"Latn"},
	family = "paa-kag",
}

m["gak"] = {
	canonicalName = "Gamkonora",
}

m["gal"] = {
	canonicalName = "Galoli",
	otherNames = {"Galolen", "Talur"},
}

m["gam"] = {
	canonicalName = "Kandawo",
}

m["gan"] = {
	canonicalName = "Gan",
	scripts = {"Hani"},
	family = "zhx",
	ancestors = {"ltc"},
}

m["gao"] = {
	canonicalName = "Gants",
}

m["gap"] = {
	canonicalName = "Gal",
}

m["gaq"] = {
	canonicalName = "Gata'",
	family = "mun",
}

m["gar"] = {
	canonicalName = "Galeya",
	scripts = {"Latn"},
	family = "poz-ocw",
}

m["gas"] = {
	canonicalName = "Adiwasi Garasia",
	family = "inc",
}

m["gat"] = {
	canonicalName = "Kenati",
}

m["gau"] = {
	canonicalName = "Kondekor",
	otherNames = {"Gadaba", "San Gadaba", "Gadba", "Sano", "Kondekar", "Kondkor", "Konḍekor Gadaba", "Mudhili Gadaba"},
	family = "dra",
}

m["gaw"] = {
	canonicalName = "Nobonob",
	otherNames = {"Garuh", "Nobanob", "Nobnob"},
	scripts = {"Latn"},
	family = "paa",
}

m["gay"] = {
	canonicalName = "Gayo",
	scripts = {"Latn"},
	family = "poz-nws",
}

m["gba"] = {
	canonicalName = "Gbaya",
	scripts = {"Latn"},
	family = "alv-sav",
}

m["gbb"] = {
	canonicalName = "Kaytetye",
	scripts = {"Latn"},
	family = "aus-rnd",
}

m["gbd"] = {
	canonicalName = "Karadjeri",
	otherNames = {"Garadjari", "Karajarri"},
	family = "aus-pam",
}

m["gbe"] = {
	canonicalName = "Niksek",
	scripts = {"Latn"},
	family = "paa",
}

m["gbf"] = {
	canonicalName = "Gaikundi",
	scripts = {"Latn"},
	family = "paa",
}

m["gbg"] = {
	canonicalName = "Gbanziri",
	otherNames = {"Banziri", "Gbandere", "Gbanzili"},
	family = "nic-ubg",
}

m["gbh"] = {
	canonicalName = "Defi Gbe",
}

m["gbi"] = {
	canonicalName = "Galela",
}

m["gbj"] = {
	canonicalName = "Bodo Gadaba",
	otherNames = {"Gutob"},
	family = "mun",
}

m["gbk"] = {
	canonicalName = "Gaddi",
}

m["gbl"] = {
	canonicalName = "Gamit",
	family = "inc",
}

m["gbm"] = {
	canonicalName = "Garhwali",
	scripts = {"Deva"},
	family = "inc",
	translit_module = "hi-translit",
}

m["gbn"] = {
	canonicalName = "Mo'da",
}

m["gbo"] = {
	canonicalName = "Northern Grebo",
}

m["gbp"] = {
	canonicalName = "Gbaya-Bossangoa",
	otherNames = {"Bossangoa", "Gbaya of Bossangoa"},
	scripts = {"Latn"},
	family = "alv-sav",
}

m["gbq"] = {
	canonicalName = "Gbaya-Bozoum",
	otherNames = {"Bozom", "Gbaya of Bozom", "Gbaya-Bozom"},
	scripts = {"Latn"},
	family = "alv-sav",
}

m["gbr"] = {
	canonicalName = "Gbagyi",
}

m["gbs"] = {
	canonicalName = "Gbesi Gbe",
	scripts = {"Latn"},
}

m["gbu"] = {
	canonicalName = "Gagadu",
}

m["gbv"] = {
	canonicalName = "Gbanu",
}

m["gbw"] = {
	canonicalName = "Gabi",
	otherNames = {"Gabi-Gabi", "Gabi Gabi", "Gubbi-Gubbi", "Gubbi Gubbi"}, -- contrast xby
	scripts = {"Latn"},
	family = "aus-pam",
}

m["gbx"] = {
	canonicalName = "Eastern Xwla Gbe",
}

m["gby"] = {
	canonicalName = "Gbari",
}

m["gbz"] = {
	canonicalName = "Zoroastrian Dari",
	otherNames = {"Behdināni", "Gabri", "Gavrŭni", "Gabrōni"},
	scripts = {"Latn"},
	family = "ira",
}

m["gcc"] = {
	canonicalName = "Mali",
}

m["gcd"] = {
	canonicalName = "Ganggalida",
}

m["gce"] = {
	canonicalName = "Galice",
	scripts = {"Latn"},
	family = "ath-pco",
}

m["gcf"] = {
	canonicalName = "Antillean Creole",
	otherNames = {"Antillean Creole French", "Guadeloupean Creole", "Guadeloupean Creole French", "Saint Lucian Creole", "Saint Lucian Creole French"},
	scripts = {"Latn"},
	family = "crp",
	ancestors = {"fr"},
}

m["gcl"] = {
	canonicalName = "Grenadian Creole English",
	scripts = {"Latn"},
	family = "crp",
}

m["gcn"] = {
	canonicalName = "Gaina",
}

m["gcr"] = {
	canonicalName = "Guianese Creole",
}

m["gct"] = {
	canonicalName = "Colonia Tovar German",
	otherNames = {"Alemán Coloniero"},
	scripts = {"Latn"},
	family = "gmw",
	ancestors = {"gsw"},
}

m["gdb"] = {
	canonicalName = "Ollari",
	otherNames = {"Pottangi Ollar Gadaba", "Ollar Gadaba", "Ollaro", "Hallari", "Allar", "Hollar Gadbas"},
	family = "dra",
}

m["gdc"] = {
	canonicalName = "Gugu Badhun",
}

m["gdd"] = {
	canonicalName = "Gedaged",
	scripts = {"Latn"},
	family = "poz-ocw",
}

m["gde"] = {
	canonicalName = "Gude",
	scripts = {"Latn"},
	family = "cdc-cbm",
}

m["gdf"] = {
	canonicalName = "Guduf-Gava",
	scripts = {"Latn"},
	family = "cdc-cbm",
}

m["gdg"] = { -- not to be confused with gad, gdk
	canonicalName = "Ga'dang",
	family = "phi",
}

m["gdh"] = {
	canonicalName = "Gadjerawang",
}

m["gdi"] = {
	canonicalName = "Gundi",
	scripts = {"Latn"},
	family = "nic-ubg",
}

m["gdj"] = {
	canonicalName = "Kurtjar",
	otherNames = {"Gurdjar", "Kunggara"},
	scripts = {"Latn"},
	family = "aus-pmn",
}

m["gdk"] = { -- not to be confused with gad, gdg
	canonicalName = "Gadang",
	scripts = {"Latn"},
	family = "cdc-est",
}

m["gdl"] = {
	canonicalName = "Dirasha",
	family = "cus",
}

m["gdm"] = {
	canonicalName = "Laal",
	scripts = {"Latn"},
}

m["gdn"] = {
	canonicalName = "Umanakaina",
}

m["gdo"] = {
	canonicalName = "Godoberi",
	otherNames = {"Ghodoberi"},
	scripts = {"Cyrl"},
	family = "cau-ava",
}

m["gdq"] = {
	canonicalName = "Mehri",
	otherNames = {"Mahri"},
	scripts = {"Arab"},
	family = "sem-sar",
}

m["gdr"] = {
	canonicalName = "Wipi",
}

m["gds"] = {
	canonicalName = "Ghandruk Sign Language",
	family = "sgn",
}

m["gdt"] = {
	canonicalName = "Kungardutyi",
}

m["gdu"] = {
	canonicalName = "Gudu",
}

m["gdx"] = {
	canonicalName = "Godwari",
}

m["gea"] = {
	canonicalName = "Geruma",
	scripts = {"Latn"},
	family = "cdc-wst",
}

m["geb"] = {
	canonicalName = "Kire",
	scripts = {"Latn"},
	family = "paa",
}

m["gec"] = {
	canonicalName = "Gboloo Grebo",
}

m["ged"] = {
	canonicalName = "Gade",
}

m["geg"] = {
	canonicalName = "Gengle",
}

m["geh"] = {
	canonicalName = "Hutterisch",
	otherNames = {"Hutterite German", "Tirolean"},
	scripts = {"Latn"},
	family = "gmw",
	ancestors = {"bar"},
}

m["gei"] = {
	canonicalName = "Gebe",
	family = "poz-hce",
}

m["gej"] = {
	canonicalName = "Gen",
}

m["gek"] = {
	canonicalName = "Gerka",
	otherNames = {"Yiwom"},
	scripts = {"Latn"},
	family = "cdc-wst",
}

m["gel"] = {
	canonicalName = "Fakkanci",
	otherNames = {"Kag-Fer-Jiir-Koor-Ror-Us-Zuksun", "ut-Ma'in", "Fakai", "Kag", "Puku", "Fakanchi", "Et-Kag", "Jiir", "Gelanchi", "Et-Jiir", "Kur", "Kere", "Kar", "Keri-Ni", "Kelli-Ni", "Kelanchi", "Kelinci", "Zuksun", "Zussun", "Et-Zuksun", "Ror", "Et-Maror", "Tudanchi", "Er-Gwar", "Fer", "Fere", "Et-Fer", "Wipsi-Ni", "Kukum", "Us", "Et-Us", "Koor", "Kulu"},
	family = "nic-knj",
}

m["geq"] = {
	canonicalName = "Geme",
	family = "znd",
}

m["ges"] = {
	canonicalName = "Geser-Gorom",
	family = "plf",
}

m["gev"] = {
	canonicalName = "Viya",
	otherNames = {"Eviya"},
}

m["gew"] = {
	canonicalName = "Gera",
	scripts = {"Latn"},
	family = "cdc-wst",
}

m["gex"] = {
	canonicalName = "Garre",
	family = "cus",
}

m["gey"] = {
	canonicalName = "Enya",
}

m["gez"] = {
	canonicalName = "Ge'ez",
	otherNames = {"Ethiopic", "Gi'iz"},
	scripts = {"Ethi"},
	family = "sem-eth",
	translit_module = "Ethi-translit",
}

m["gfk"] = {
	canonicalName = "Patpatar",
	scripts = {"Latn"},
	family = "poz-ocw",
}

m["gft"] = {
	canonicalName = "Gafat",
	family = "sem-eth",
}

m["gga"] = {
	canonicalName = "Gao",
	family = "poz-ocw",
}

m["ggb"] = {
	canonicalName = "Gbii",
}

m["ggd"] = {
	canonicalName = "Gugadj",
}

m["gge"] = {
	canonicalName = "Guragone",
	scripts = {"Latn"},
	family = "aus-arn",
}

m["ggg"] = {
	canonicalName = "Gurgula",
	scripts = {"Arab"},
	family = "inc",
	ancestors = {"mwr"},
}

m["ggk"] = {
	canonicalName = "Kungarakany",
	scripts = {"Latn"},
	family = "aus-arn",
}

m["ggl"] = {
	canonicalName = "Ganglau",
}

m["ggn"] = {
	canonicalName = "Eastern Gurung",
}

m["ggt"] = {
	canonicalName = "Gitua",
	family = "poz-ocw",
}

m["ggu"] = {
	canonicalName = "Gban",
	scripts = {"Latn"},
	family = "dmn",
}

m["ggw"] = {
	canonicalName = "Gogodala",
}

m["gha"] = {
	canonicalName = "Ghadames",
	otherNames = {"Ghadamès"},
	family = "ber",
}

m["ghe"] = {
	canonicalName = "Southern Ghale",
}

m["ghh"] = {
	canonicalName = "Northern Ghale",
}

m["ghk"] = {
	canonicalName = "Geko Karen",
}

m["ghl"] = {
	canonicalName = "Ghulfan",
}

m["ghn"] = {
	canonicalName = "Ghanongga",
	family = "poz-ocw",
}

m["gho"] = {
	canonicalName = "Ghomara",
	family = "ber",
}

m["ghr"] = {
	canonicalName = "Ghera",
}

m["ghs"] = {
	canonicalName = "Guhu-Samane",
}

m["ght"] = {
	canonicalName = "Kutang Ghale",
}

m["gia"] = {
	canonicalName = "Kitja",
}

m["gib"] = {
	canonicalName = "Gibanawa",
}

m["gid"] = {
	canonicalName = "Gidar",
	scripts = {"Latn"},
	family = "cdc-cbm",
}

m["gie"] = {
	canonicalName = "Guébie",
	otherNames = {"Gaɓogbo", "Gabogbo"},
	scripts = {"Latn"},
	family = "kro",
}

m["gig"] = {
	canonicalName = "Goaria",
	scripts = {"Arab"},
	family = "inc",
	ancestors = {"mwr"},
}

m["gih"] = {
	canonicalName = "Githabul",
}

m["gil"] = {
	canonicalName = "Gilbertese",
	otherNames = {"Kiribati", "Kiribatese"},
	scripts = {"Latn"},
	family = "poz-mic",
}

m["gim"] = {
	canonicalName = "Papuan Gimi",
	otherNames = {"Gimi"},
	family = "paa",
}

m["gin"] = {
	canonicalName = "Hinukh",
	otherNames = {"Hinuq", "Hinux", "Ginukh", "Ginux"},
	family = "cau-tsz",
}

m["gio"] = {
	canonicalName = "Gelao",
	family = "qfa-tak",
}

m["gip"] = {
	canonicalName = "Austronesian Gimi",
	otherNames = {"Gimi"},
	family = "poz-ocw",
}

m["giq"] = {
	canonicalName = "Green Gelao",
	otherNames = {"Hagei", "Hakhi"},
	family = "qfa-tak",
}

m["gir"] = {
	canonicalName = "Red Gelao",
	otherNames = {"Vandu"},
	family = "qfa-tak",
}

m["gis"] = {
	canonicalName = "North Giziga",
}

m["git"] = {
	canonicalName = "Gitxsan",
}

m["giu"] = {
	canonicalName = "Mulao", -- a variety of Gelao
	family = "qfa-tak",
}

m["giw"] = {
	canonicalName = "White Gelao",
	otherNames = {"Telue", "Doulou", "Tolo"},
	family = "qfa-tak",
}

m["gix"] = {
	canonicalName = "Gilima",
	scripts = {"Latn"},
	family = "nic-ubg",
}

m["giy"] = {
	canonicalName = "Giyug",
}

m["giz"] = {
	canonicalName = "South Giziga",
}

m["gji"] = {
	canonicalName = "Geji",
	scripts = {"Latn"},
	family = "cdc-wst",
}

m["gjk"] = {
	canonicalName = "Kachi Koli",
}

m["gjm"] = {
	canonicalName = "Gunditjmara",
}

m["gjn"] = {
	canonicalName = "Gonja",
	scripts = {"Latn"},
	family = "alv-kwa",
}

m["gju"] = {
	canonicalName = "Gojri",
	family = "inc",
	ancestors = {"raj"},
}

m["gka"] = {
	canonicalName = "Guya",
	scripts = {"Latn"},
	family = "ngf-fin",
}

m["gke"] = {
	canonicalName = "Ndai",
}

m["gkn"] = {
	canonicalName = "Gokana",
	scripts = {"Latn"},
	family = "nic-bco",
}

m["gko"] = {
	canonicalName = "Kok-Nar",
	scripts = {"Latn"},
	family = "aus-pmn",
}

m["gkp"] = {
	canonicalName = "Guinea Kpelle",
}

m["glc"] = {
	canonicalName = "Bon Gula",
}

m["gld"] = {
	canonicalName = "Nanai",
	otherNames = {"Goldi", "Hezhen"},
	scripts = {"Cyrl"},
	family = "tuw",
	entry_name = {
		from = {"[Ӣ]", "[ӣ]", "[Ӯ]", "[ӯ]", MACRON},
		to   = { "И",   "и",   "У",   "у" }},
}

m["glh"] = {
	canonicalName = "Northwest Pashayi",
	family = "inc-dar",
}

m["gli"] = {
	canonicalName = "Guliguli",
	family = "poz-ocw",
}

m["glj"] = {
	canonicalName = "Kulaal",
}

m["glk"] = {
	canonicalName = "Gilaki",
	scripts = {"fa-Arab"},
	family = "ira-wes",
}

m["glo"] = {
	canonicalName = "Galambu",
	scripts = {"Latn"},
	family = "cdc-wst",
}

m["glr"] = {
	canonicalName = "Glaro-Twabo",
}

m["glu"] = {
	canonicalName = "Gula",
	otherNames = {"Sara Gula"},
	family = "csu",
}

m["glw"] = {
	canonicalName = "Glavda",
	scripts = {"Latn"},
	family = "cdc-cbm",
}

m["gly"] = {
	canonicalName = "Gule",
}

m["gma"] = {
	canonicalName = "Gambera",
}

m["gmb"] = {
	canonicalName = "Gula'alaa",
	scripts = {"Latn"},
	family = "poz-sls",
}

m["gmd"] = {
	canonicalName = "Mághdì",
}

m["gmg"] = {
	canonicalName = "Magiyi",
	otherNames = {"Magɨyi"}, -- also Magɨ? another Madang prov. Sogeram lang., see Don Daniels
	scripts = {"Latn"},
	family = "paa",
}

m["gmh"] = {
	canonicalName = "Middle High German",
	scripts = {"Latn"},
	family = "gmw",
	ancestors = {"goh"},
	entry_name = {
		from = {"[ĀÂ]", "[āâ]", "[ĒÊË]", "[ēêë]", "[ĪÎ]", "[īî]", "[ŌÔ]", "[ōô]", "[ŪÛ]", "[ūû]"},
		to   = {"A"   , "a"   , "E"	   , "e"    , "I"   , "i"   , "O"   , "o"   , "U"   , "u"   },
	},
}

m["gml"] = {
	canonicalName = "Middle Low German",
	scripts = {"Latn"},
	family = "gmw",
	ancestors = {"osx"},
	entry_name = {
		from = {"[ĀÂÄǞ]", "[āâäǟ]", "[ĒÊ]", "[ēê]", "[ĪÎ]", "[īî]", "[ŌÔÖȪ]", "[ōôöȫ]", "[ŪÛÜǕ]", "[ūûüǖ]", "[̂]"},
		to   = {"A"     , "a"     , "E"   , "e"   , "I"   , "i"   , "O"     , "o"     , "U"     , "u"     , ""  },
	},
}

m["gmm"] = {
	canonicalName = "Gbaya-Mbodomo",
	scripts = {"Latn"},
	family = "alv-sav",
}

m["gmn"] = {
	canonicalName = "Gimnime",
}

m["gmu"] = {
	canonicalName = "Gumalu",
}

m["gmv"] = {
	canonicalName = "Gamo",
}

m["gmx"] = {
	canonicalName = "Magoma",
}

m["gmy"] = {
	canonicalName = "Mycenaean Greek",
	scripts = {"Linb"},
	family = "grk",
	translit_module = "Linb-translit",
	override_translit = true,	
}

m["gmz"] = {
	canonicalName = "Mgbo",
	otherNames = {"Mgbolizhia"},
	family = "alv-von",
}

m["gna"] = {
	canonicalName = "Kaansa",
}

m["gnb"] = {
	canonicalName = "Gangte",
	family = "tbq-kuk",
}

m["gnc"] = {
	canonicalName = "Guanche",
	family = "ber",
}

m["gnd"] = {
	canonicalName = "Zulgo-Gemzek",
	otherNames = {"Zulgo", "Gemzek", "Mineo"},
	scripts = {"Latn"},
	family = "cdc-cbm",
}

m["gne"] = {
	canonicalName = "Ganang",
}

m["gng"] = {
	canonicalName = "Ngangam",
}

m["gnh"] = {
	canonicalName = "Lere",
}

m["gni"] = {
	canonicalName = "Gooniyandi",
	scripts = {"Latn"},
	family = "aus-bub",
}

m["gnk"] = {
	canonicalName = "ǁGana",
	otherNames = {"Gana"},
}

m["gnl"] = {
	canonicalName = "Gangulu",
}

m["gnm"] = {
	canonicalName = "Ginuman",
}

m["gnn"] = {
	canonicalName = "Gumatj",
	scripts = {"Latn"},
	family = "aus-yol",
}

m["gnq"] = {
	canonicalName = "Gana",
}

m["gnr"] = {
	canonicalName = "Gureng Gureng",
}

m["gnt"] = {
	canonicalName = "Guntai",
}

m["gnu"] = {
	canonicalName = "Gnau",
	family = "qfa-tor",
}

m["gnw"] = {
	canonicalName = "Western Bolivian Guaraní",
	otherNames = {"Simba", "Simba Guarani"},
	ancestors = {"gn"},
	family = "tup-gua",
}

m["gnz"] = {
	canonicalName = "Ganzi",
	scripts = {"Latn"},
	family = "nic-ubg",
}

m["goa"] = {
	canonicalName = "Guro",
	scripts = {"Latn"},
	family = "dmn",
}

m["gob"] = {
	canonicalName = "Playero",
}

m["goc"] = {
	canonicalName = "Gorakor",
	family = "poz-ocw",
}

m["god"] = {
	canonicalName = "Godié",
}

m["goe"] = {
	canonicalName = "Gongduk",
}

m["gof"] = {
	canonicalName = "Gofa",
	scripts = {"Latn", "Ethi"},
	family = "omv",
}

m["gog"] = {
	canonicalName = "Gogo",
	scripts = {"Latn"},
	family = "bnt",
}

m["goh"] = {
	canonicalName = "Old High German",
	scripts = {"Latn"},
	family = "gmw",
	entry_name = {
		from = {"[ĀÂ]", "[āâ]", "[ĒÊË]", "[ēêë]", "[ĪÎ]", "[īî]", "[ŌÔ]", "[ōô]", "[ŪÛ]", "[ūû]", "ʒ"},
		to   = {"A"   , "a"   , "E"	,    "e"	, "I"   , "i"   , "O"   , "o"   , "U"   , "u"   , "z" }} ,
}

m["goi"] = {
	canonicalName = "Gobasi",
	otherNames = {"Gobosi", "Gebusi", "Bibo"},
	scripts = {"Latn"},
}

m["goj"] = {
	canonicalName = "Gowlan",
}

m["gok"] = {
	canonicalName = "Gowli",
}

m["gol"] = {
	canonicalName = "Gola",
}

m["gon"] = {
	canonicalName = "Gondi",
	otherNames = {"Southern Gondi", "Northern Gondi", "Aheri Gondi", "Adilabad Gondi", "Dorla Gondi", "Koya Gondi", "Maria Gondi", "Muria Gondi", "Raj Gondi"},
	scripts = {"Telu", "Gonm"},
	family = "dra",
}

m["goo"] = {
	canonicalName = "Gone Dau",
	family = "poz-occ",
}

m["gop"] = {
	canonicalName = "Yeretuar",
	family = "poz-hce",
}

m["goq"] = {
	canonicalName = "Gorap",
}

m["gor"] = {
	canonicalName = "Gorontalo",
	scripts = {"Latn"},
	family = "phi",
}

m["got"] = {
	canonicalName = "Gothic",
	scripts = {"Goth", "Runr"},
	family = "gme",
	translit_module = "Goth-translit",
	link_tr = true,
	entry_name = {
		from = {"Ā", "ā", "Ē", "ē", "Ī", "ī", "Ō", "ō", "Ū", "ū"},
		to   = {"A", "a", "E", "e", "I", "i", "O", "o", "U", "u"}} ,
}

m["gou"] = {
	canonicalName = "Gavar",
	otherNames = {"Gawar"},
	family = "cdc-cbm",
}

m["gow"] = {
	canonicalName = "Gorowa",
	family = "cus",
}

m["gox"] = {
	canonicalName = "Gobu",
}

m["goy"] = {
	canonicalName = "Goundo",
}

m["goz"] = {
	canonicalName = "Gozarkhani",
	ancestors = {"ira-azr"},
}

m["gpa"] = {
	canonicalName = "Gupa-Abawa",
}

m["gpn"] = {
	canonicalName = "Taiap",
}

m["gqa"] = {
	canonicalName = "Ga'anda",
	scripts = {"Latn"},
	family = "cdc-cbm",
}

m["gqi"] = {
	canonicalName = "Guiqiong",
	otherNames = {"Guìqióng", "Guichong"},
	family = "sit-qia",
}

m["gqn"] = { -- a variety of 'ter'
	canonicalName = "Kinikinao",
	otherNames = {"Guana", "Guaná", "Guana (Brazil)", "Arawakan Guana"},
	family = "awd",
}

m["gqr"] = {
	canonicalName = "Gor",
	family = "csu-sar",
}

m["gqu"] = {
	canonicalName = "Qau",
	otherNames = {"Gao", "Aqao", "Qau Gelao"},
	family = "qfa-tak",
}

m["gra"] = {
	canonicalName = "Rajput Garasia",
	family = "inc",
}

m["grb"] = {
	canonicalName = "Grebo",
}

m["grc"] = {
	canonicalName = "Ancient Greek",
	scripts = {"polytonic", "Cprt"},
	family = "grk",
	translit_module = "translit-redirect",
	override_translit = true,
	sort_key = {  -- Keep this synchronized with el, cpg, pnt; compare ine-pae
		from = {"[ᾳάᾴὰᾲᾶᾷἀᾀἄᾄἂᾂἆᾆἁᾁἅᾅἃᾃἇᾇᾱᾰᾍ]", "[έὲἐἔἒἑἕἓ]", "[ῃήῄὴῂῆῇἠᾐἤᾔἢᾒἦᾖἡᾑἥᾕἣᾓἧᾗ]", "[ίὶῖἰἴἲἶἱἵἳἷϊΐῒῗῑῐ]", "[όὸὀὄὂὁὅὃ]", "[ύὺῦὐὔὒὖὑὕὓὗϋΰῢῧῡῠ]", "[ῳώῴὼῲῶῷὠᾠὤᾤὢᾢὦᾦὡᾡὥᾥὣᾣὧᾧᾨ]", "ῥ", "ς","["..MACRON..BREVE..ACUTE..GRAVE..CIRC..DIAER..COMMA..REV_COMMA.."]"},
		to   = {"α"							 , "ε"		   , "η"						, "ι"				, "ο"		 , "υ"					  , "ω"							, "ρ", "σ",""}},
	entry_name = {
		from = {"[ᾸᾹ]", "[ᾰᾱ]", "[ῘῙ]", "[ῐῑ]", "[ῨῩ]", "[ῠῡ]", "µ", "["..RSQUO..PSILI..CORONIS.."]", "["..MACRON..BREVE.."]" },
		to   = {"Α", "α", "Ι", "ι", "Υ", "υ", "μ", "'", ""}},
	standardChars = "ͺ;΄-ώϜϝ" .. PUNCTUATION .. "ἀ-῾𐠀-𐠿"
}

m["grd"] = {
	canonicalName = "Guruntum",
	scripts = {"Latn"},
	family = "cdc-wst",
}

m["grg"] = {
	canonicalName = "Madi",
	scripts = {"Latn"},
	family = "ngf-fin",
}

m["grh"] = {
	canonicalName = "Gbiri-Niragu",
}

m["gri"] = {
	canonicalName = "Ghari",
	otherNames = {"Gari", "Tangarare", "Sughu", "West Guadalcanal"},
	scripts = {"Latn"},
	family = "poz-sls",
}

m["grj"] = {
	canonicalName = "Southern Grebo",
}

m["grm"] = {
	canonicalName = "Kota Marudu Talantang",
}

m["gro"] = {
	canonicalName = "Groma",
}

m["grq"] = {
	canonicalName = "Gorovu",
	scripts = {"Latn"},
	family = "paa",
}

m["grr"] = {
	canonicalName = "Taznatit",
	family = "ber",
}

m["grs"] = {
	canonicalName = "Gresi",
}

m["grt"] = {
	canonicalName = "Garo",
}

m["gru"] = {
	canonicalName = "Kistane",
	otherNames = {"Soddo", "Aymälläl"},
	scripts = {"Latn"},
	family = "sem-eth",
}

m["grv"] = {
	canonicalName = "Central Grebo",
}

m["grw"] = {
	canonicalName = "Gweda",
	scripts = {"Latn"},
	family = "poz-ocw",
}

m["grx"] = {
	canonicalName = "Guriaso",
}

m["gry"] = {
	canonicalName = "Barclayville Grebo",
	scripts = {"Latn"},
}

m["grz"] = {
	canonicalName = "Guramalum",
	scripts = {"Latn"},
	family = "poz-ocw",
}

m["gse"] = {
	canonicalName = "Ghanaian Sign Language",
	family = "sgn",
}

m["gsg"] = {
	canonicalName = "German Sign Language",
	otherNames = {"Deutsche Gebärdensprache"},
	scripts = {"Sgnw"},
	family = "sgn-gsl",
}

m["gsl"] = {
	canonicalName = "Gusilay",
}

m["gsm"] = {
	canonicalName = "Guatemalan Sign Language",
	family = "sgn",
}

m["gsn"] = {
	canonicalName = "Gusan",
	scripts = {"Latn"},
	family = "ngf-fin",
}

m["gso"] = {
	canonicalName = "Southwest Gbaya",
	scripts = {"Latn"},
	family = "alv-sav",
}

m["gsp"] = {
	canonicalName = "Wasembo",
}

m["gss"] = {
	canonicalName = "Greek Sign Language",
	family = "sgn",
}

m["gsw"] = {
	canonicalName = "Alemannic German",
	otherNames = {"Swiss German", "Walser German", "Walserdeutsch", "Walser", "Wallisertiitsch", "Italian Walser", "Pomattertitsch", "Formazza", "Kampel", "Remmaljertittschu", "Rimella", "Chalchoufe", "Titzschu", "Alagna", "Greschóneytitsch", "Greschóney", "Greschoney", "Gressoney", "Éischemtöitschu", "Issime"},
	scripts = {"Latn"},
	family = "gmw",
	ancestors = {"gmh"},
	wikimedia_codes = {"als"},
}

m["gta"] = {
	canonicalName = "Guató",
	scripts = {"Latn"},
	family = "qfa-iso",
}

m["gti"] = {
	canonicalName = "Gbati-ri",
}

m["gtu"] = {
	canonicalName = "Aghu Tharrnggala",
	otherNames = {"Aghu Tharnggala", "Aghu Tharnggalu", "Tharrnggala", "Gogo Mini", "Kuku Mini"},
	scripts = {"Latn"},
	family = "aus-pmn",
}

m["gua"] = {
	canonicalName = "Shiki",
}

m["gub"] = {
	canonicalName = "Guajajára",
	scripts = {"Latn"},
	family = "tup-gua",
}

m["guc"] = {
	canonicalName = "Wayuu",
	otherNames = {"Guajiro", "Goajiro", "Uagiro"},
	scripts = {"Latn"},
	family = "awd",
}

m["gud"] = {
	canonicalName = "Yocoboué Dida",
}

m["gue"] = {
	canonicalName = "Gurindji",
	scripts = {"Latn"},
	family = "aus-pam",
}

m["guf"] = {
	canonicalName = "Gupapuyngu",
	scripts = {"Latn"},
	family = "aus-yol",
}

m["gug"] = {
	canonicalName = "Paraguayan Guaraní",
	otherNames = {"Jopará", "Yopará"},
	scripts = {"Latn"},
	family = "tup-gua",
	ancestors = {"gn"},
}

m["guh"] = {
	canonicalName = "Guahibo",
	scripts = {"Latn"},
}

m["gui"] = {
	canonicalName = "Eastern Bolivian Guaraní",
	otherNames = {"Ava Guaraní", "Chiriguanos"},
	scripts = {"Latn"},
	family = "tup-gua",
	ancestors = {"gn"},
}

m["guk"] = {
	canonicalName = "Gumuz",
}

m["gul"] = {
	canonicalName = "Gullah",
	otherNames = {"Geechee", "Sea Island Creole English"},
	scripts = {"Latn"},
	family = "crp",
	ancestors = {"en"},
}

m["gum"] = {
	canonicalName = "Guambiano",
}

m["gun"] = {
	canonicalName = "Mbyá Guaraní",
	otherNames = {"Mbyá", "Mbya", "Mbyhá", "Mbiá", "Mbua", "Mbüá", "Mbü'a", "Mbü'a Guaraní", "Jeguaká Tenondé", "Bwihá", "Caiua", "Kaiwá", "Kayová", "Cahygua", "Caingua"},
	scripts = {"Latn"},
	family = "tup-gua",
	ancestors = {"gn"},
}

m["guo"] = {
	canonicalName = "Guayabero",
}

m["gup"] = {
	canonicalName = "Gunwinggu",
	scripts = {"Latn"},
	family = "aus-gun",
}

m["guq"] = {
	canonicalName = "Aché",
	otherNames = {"Guayaki"},
	scripts = {"Latn"},
	family = "tup",
}

m["gur"] = {
	canonicalName = "Farefare",
	otherNames = {"Frafra", "Gurene", "Gurenɛ", "Gurenne", "Gudenne", "Gudeni", "Zuadeni", "Nankani", "Naani", "Nankanse", "Ninkare", "Booni"},
	scripts = {"Latn"},
}

m["gus"] = {
	canonicalName = "Guinean Sign Language",
	family = "sgn",
}

m["gut"] = {
	canonicalName = "Maléku Jaíka",
	scripts = {"Latn"},
	family = "cba",
}

m["guu"] = {
	canonicalName = "Yanomamö",
}

m["guv"] = {
	canonicalName = "Gey",
}

m["guw"] = {
	canonicalName = "Gun",
	otherNames = {"Gun-Gbe", "Gungbe"},
	scripts = {"Latn"},
	family = "alv-von",
}

m["gux"] = {
	canonicalName = "Gourmanchéma",
}

m["guz"] = {
	canonicalName = "Gusii",
	scripts = {"Latn"},
	family = "bnt",
}

m["gva"] = {
	canonicalName = "Kaskihá",
	otherNames = {"Guana", "Guaná", "Guana (Paraguay)", "Mascoian Guana"},
	scripts = {"Latn"},
	family = "sai-mas",
}

m["gvc"] = {
	canonicalName = "Guanano",
	scripts = {"Latn"},
	family = "sai-tuc",
}

m["gve"] = {
	canonicalName = "Duwet",
	scripts = {"Latn"},
	family = "poz-ocw",
}

m["gvf"] = {
	canonicalName = "Golin",
	scripts = {"Latn"},
	family = "ngf",
}

m["gvj"] = {
	canonicalName = "Guajá",
	otherNames = {"Awá", "Ayaya", "Guaxare", "Wazaizara"},
	scripts = {"Latn"},
	family = "tup",
}

m["gvl"] = {
	canonicalName = "Gulay",
	family = "csu-sar",
}

m["gvm"] = {
	canonicalName = "Gurmana",
}

m["gvn"] = {
	canonicalName = "Kuku-Yalanji",
}

m["gvo"] = {
	canonicalName = "Gavião do Jiparaná",
	otherNames = {"Gavião of Jiparaná", "Digüt", "Ikolen", "Gavião do Rondônia", "Zoró"},
	scripts = {"Latn"},
	family = "tup",
}

m["gvp"] = {
	canonicalName = "Pará Gavião",
}

m["gvr"] = {
	canonicalName = "Western Gurung",
}

m["gvs"] = {
	canonicalName = "Gumawana",
	scripts = {"Latn"},
	family = "poz-ocw",
}

m["gvy"] = {
	canonicalName = "Guyani",
}

m["gwa"] = {
	canonicalName = "Mbato",
}

m["gwb"] = {
	canonicalName = "Gwa",
}

m["gwc"] = {
	canonicalName = "Kalami",
	scripts = {"Arab"},
	family = "inc-dar",
}

m["gwd"] = {
	canonicalName = "Gawwada",
	family = "cus",
}

m["gwe"] = {
	canonicalName = "Gweno",
	scripts = {"Latn"},
	family = "bnt",
}

m["gwf"] = {
	canonicalName = "Gowro",
}

m["gwg"] = {
	canonicalName = "Moo",
}

m["gwi"] = {
	canonicalName = "Gwich'in",
	otherNames = {"Gwich’in", "Kutchin", "Takudh", "Tukudh", "Loucheux"},
	scripts = {"Latn"},
	family = "ath",
}

m["gwj"] = {
	canonicalName = "Gcwi",
	otherNames = {"Gǀwi", "Gǀui"},
}

m["gwm"] = {
	canonicalName = "Awngthim",
}

m["gwn"] = {
	canonicalName = "Gwandara",
}

m["gwr"] = {
	canonicalName = "Gwere",
	scripts = {"Latn"},
	family = "bnt",
}

m["gwt"] = {
	canonicalName = "Gawar-Bati",
}

m["gwu"] = {
	canonicalName = "Guwamu",
}

m["gww"] = {
	canonicalName = "Kwini",
}

m["gwx"] = {
	canonicalName = "Gua",
}

m["gxx"] = {
	canonicalName = "Wè Southern",
}

m["gya"] = {
	canonicalName = "Northwest Gbaya",
	scripts = {"Latn"},
	family = "alv-sav",
}

m["gyb"] = {
	canonicalName = "Garus",
}

m["gyd"] = {
	canonicalName = "Kayardild",
	scripts = {"Latn"},
	family = "aus-tnk",
}

m["gye"] = {
	canonicalName = "Gyem",
}

m["gyf"] = {
	canonicalName = "Gungabula",
}

m["gyg"] = {
	canonicalName = "Gbayi",
	scripts = {"Latn"},
	family = "nic-ubg",
}

m["gyi"] = {
	canonicalName = "Gyele",
}

m["gyl"] = {
	canonicalName = "Gayil",
}

m["gym"] = {
	canonicalName = "Ngäbere",
}

m["gyn"] = {
	canonicalName = "Guyanese Creole English",
}

m["gyr"] = {
	canonicalName = "Guarayu",
	otherNames = {"Gwarayú"},
	scripts = {"Latn"},
	family = "tup",
}

m["gyy"] = {
	canonicalName = "Gunya",
	scripts = {"Latn"},
	family = "aus-pam",
}

m["gza"] = {
	canonicalName = "Ganza",
}

m["gzi"] = {
	canonicalName = "Gazi",
	scripts = {"fa-Arab"},
	family = "ira-wes",
}

m["gzn"] = {
	canonicalName = "Gane",
	scripts = {"Latn"},
	family = "poz-hce",
}

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