/*
 * Copyright 2012 Google Inc.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package com.google.gwt.i18n.client.impl.cldr;

import com.google.gwt.core.client.JavaScriptObject;

// DO NOT EDIT - GENERATED FROM CLDR DATA

/**
 * Localized names for the "ewo" locale.
 */
public class LocalizedNamesImpl_ewo extends LocalizedNamesImpl {

  @Override
  public String[] loadSortedRegionCodes() {
    return new String[] {
        "AC",
        "ZA",
        "AF",
        "HT",
        "AL",
        "DZ",
        "AD",
        "AI",
        "AO",
        "AG",
        "AQ",
        "SA",
        "AW",
        "AR",
        "AM",
        "AX",
        "AZ",
        "BS",
        "BH",
        "BD",
        "BB",
        "AE",
        "BL",
        "BO",
        "BA",
        "BW",
        "BQ",
        "BN",
        "BG",
        "BF",
        "BI",
        "BT",
        "BV",
        "BY",
        "BR",
        "BZ",
        "BJ",
        "AS",
        "BE",
        "BM",
        "CC",
        "CP",
        "CW",
        "CX",
        "DK",
        "DG",
        "DM",
        "DJ",
        "EA",
        "EH",
        "EG",
        "EC",
        "ER",
        "EE",
        "ET",
        "EU",
        "EZ",
        "FJ",
        "PH",
        "FI",
        "FO",
        "PL",
        "FR",
        "PT",
        "GA",
        "GM",
        "GH",
        "GG",
        "GN",
        "GW",
        "GQ",
        "GL",
        "GS",
        "GP",
        "GU",
        "GT",
        "GY",
        "GF",
        "GD",
        "GR",
        "JM",
        "JP",
        "HK",
        "HM",
        "JO",
        "GE",
        "IC",
        "IM",
        "IQ",
        "IR",
        "IE",
        "IS",
        "IL",
        "IT",
        "JE",
        "KH",
        "CM",
        "CA",
        "QA",
        "KZ",
        "KE",
        "KI",
        "KG",
        "CI",
        "CO",
        "KM",
        "CG",
        "KP",
        "KR",
        "CR",
        "KW",
        "ES",
        "CU",
        "HR",
        "LA",
        "LB",
        "LR",
        "LY",
        "LI",
        "LT",
        "LU",
        "LS",
        "LV",
        "MG",
        "MW",
        "ML",
        "MV",
        "MT",
        "MY",
        "MA",
        "MQ",
        "MK",
        "YT",
        "ME",
        "MF",
        "MM",
        "FM",
        "VI",
        "FK",
        "CV",
        "KY",
        "CK",
        "MH",
        "MP",
        "SB",
        "TC",
        "NF",
        "MO",
        "MD",
        "MU",
        "MR",
        "MZ",
        "MC",
        "MN",
        "MS",
        "MX",
        "NA",
        "NR",
        "DE",
        "NP",
        "KN",
        "LC",
        "SM",
        "PM",
        "VC",
        "SH",
        "NG",
        "NE",
        "NI",
        "NU",
        "NC",
        "NZ",
        "US",
        "GB",
        "CD",
        "VG",
        "PS",
        "CZ",
        "VA",
        "CF",
        "IO",
        "NO",
        "OM",
        "HN",
        "HU",
        "AU",
        "AT",
        "PK",
        "PW",
        "PA",
        "PG",
        "PY",
        "PE",
        "PN",
        "PF",
        "PR",
        "NL",
        "QO",
        "DO",
        "RE",
        "RS",
        "RO",
        "RU",
        "RW",
        "SV",
        "WS",
        "ST",
        "SN",
        "SL",
        "SG",
        "CY",
        "SY",
        "SJ",
        "SO",
        "SS",
        "SD",
        "CH",
        "SR",
        "SE",
        "SZ",
        "SX",
        "SK",
        "SI",
        "LK",
        "SC",
        "TA",
        "TJ",
        "TH",
        "TW",
        "TZ",
        "TF",
        "TL",
        "TG",
        "TK",
        "TD",
        "CN",
        "CL",
        "TN",
        "TR",
        "TM",
        "TV",
        "TO",
        "TT",
        "UG",
        "UA",
        "UM",
        "UN",
        "UY",
        "UZ",
        "VU",
        "VE",
        "VN",
        "WF",
        "XK",
        "YE",
        "GI",
        "ZM",
        "ZW",
        "ID",
        "IN",
    };
  }

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("AD", "Andór");
    namesMap.put("AE", "Bemirá yá Arábə uní");
    namesMap.put("AF", "Afəganisətán");
    namesMap.put("AG", "Antígwa ai Barəbúda");
    namesMap.put("AI", "Angíyə");
    namesMap.put("AL", "Aləbánia");
    namesMap.put("AM", "Arəménia");
    namesMap.put("AO", "Angolá");
    namesMap.put("AR", "Arəhenətína");
    namesMap.put("AS", "Bəsamóa yá Amə́rəka");
    namesMap.put("AT", "Osətəlía");
    namesMap.put("AU", "Osətəlalí");
    namesMap.put("AW", "Arúba");
    namesMap.put("AZ", "Azɛrəbaidzáŋ");
    namesMap.put("BA", "Bosəní ai ɛrəzegovín");
    namesMap.put("BB", "Barəbád");
    namesMap.put("BD", "Bangaladɛ́s");
    namesMap.put("BE", "Bɛləhíg");
    namesMap.put("BF", "Buləkiná Fasó");
    namesMap.put("BG", "Buləgarí");
    namesMap.put("BH", "Bahərɛ́n");
    namesMap.put("BI", "Burundí");
    namesMap.put("BJ", "Bəníŋ");
    namesMap.put("BM", "Bɛrəmúd");
    namesMap.put("BN", "Buluné");
    namesMap.put("BO", "Bolívia");
    namesMap.put("BR", "Bəlazíl");
    namesMap.put("BS", "Bahámas");
    namesMap.put("BT", "Butáŋ");
    namesMap.put("BW", "Botswaná");
    namesMap.put("BY", "Bəlarús");
    namesMap.put("BZ", "Bəlís");
    namesMap.put("CA", "kanadá");
    namesMap.put("CD", "ǹnam Kongó Demokəlatíg");
    namesMap.put("CF", "ǹnam Zǎŋ Afiriká");
    namesMap.put("CG", "Kongó");
    namesMap.put("CH", "Suís");
    namesMap.put("CI", "Kód Divɔ́r");
    namesMap.put("CK", "Minlán Mí kúg");
    namesMap.put("CL", "Tsilí");
    namesMap.put("CM", "Kamərún");
    namesMap.put("CN", "Tsáina");
    namesMap.put("CO", "Kolɔmbí");
    namesMap.put("CR", "Kosta Ríka");
    namesMap.put("CU", "Kubá");
    namesMap.put("CV", "Minlán Mí Káb Vɛr");
    namesMap.put("CY", "Sipəlús");
    namesMap.put("CZ", "Ǹnam Tsɛ́g");
    namesMap.put("DE", "Ndzáman");
    namesMap.put("DJ", "Dzibutí");
    namesMap.put("DK", "Danəmárəg");
    namesMap.put("DM", "Dómənika");
    namesMap.put("DO", "République dominicaine");
    namesMap.put("DZ", "Aləyéria");
    namesMap.put("EC", "Ekwatór");
    namesMap.put("EE", "Esetoní");
    namesMap.put("EG", "Ehíbətɛn");
    namesMap.put("ER", "Elitəlé");
    namesMap.put("ES", "Kpənyá");
    namesMap.put("ET", "Etiopí");
    namesMap.put("FI", "Finəlán");
    namesMap.put("FJ", "Fidzí");
    namesMap.put("FK", "Minlán Mi Fóləkəlan");
    namesMap.put("FM", "Mikoronésia");
    namesMap.put("FR", "Fulɛnsí");
    namesMap.put("GA", "Gabóŋ");
    namesMap.put("GB", "Ǹnam Engəlis");
    namesMap.put("GD", "Gələnádə");
    namesMap.put("GE", "Horə́yia");
    namesMap.put("GF", "Guyán yá Fulɛnsí");
    namesMap.put("GH", "Ganá");
    namesMap.put("GI", "Yiləbalatár");
    namesMap.put("GL", "Goelán");
    namesMap.put("GM", "Gambí");
    namesMap.put("GN", "Giné");
    namesMap.put("GP", "Guadəlúb");
    namesMap.put("GQ", "Giné Ekwató");
    namesMap.put("GR", "Gəlɛ́s");
    namesMap.put("GT", "Guatemalá");
    namesMap.put("GU", "Guám");
    namesMap.put("GW", "Giné Bisaó");
    namesMap.put("GY", "Guyán");
    namesMap.put("HN", "Ondurás");
    namesMap.put("HR", "Kəlowásia");
    namesMap.put("HT", "Aití");
    namesMap.put("HU", "Ongirí");
    namesMap.put("ID", "ɛndonésia");
    namesMap.put("IE", "Irəlándə");
    namesMap.put("IL", "Isəraɛ́l");
    namesMap.put("IN", "ɛ́ndə");
    namesMap.put("IO", "ǹnam ɛngəlís yá Máŋ mə́ ɛ́ndə");
    namesMap.put("IQ", "Irág");
    namesMap.put("IR", "Irán");
    namesMap.put("IS", "Isəlándə");
    namesMap.put("IT", "Itáliɛn");
    namesMap.put("JM", "Hamaíka");
    namesMap.put("JO", "Horədaní");
    namesMap.put("JP", "Hapɔ́n");
    namesMap.put("KE", "Keniá");
    namesMap.put("KG", "Kirigisətán");
    namesMap.put("KH", "kambodía");
    namesMap.put("KI", "Kiribatí");
    namesMap.put("KM", "Komɔ́r");
    namesMap.put("KN", "Ǹfúfúb-Kilisətóv-ai-Nevis");
    namesMap.put("KP", "Koré yá Nór");
    namesMap.put("KR", "Koré yá Súd");
    namesMap.put("KW", "Kowɛ́d");
    namesMap.put("KY", "Minlán Mí Kalimáŋ");
    namesMap.put("KZ", "Kazakətáŋ");
    namesMap.put("LA", "Laós");
    namesMap.put("LB", "Libáŋ");
    namesMap.put("LC", "Ǹfúfúb-Lúsia");
    namesMap.put("LI", "Lísə́sə́táin");
    namesMap.put("LK", "Səri Laŋká");
    namesMap.put("LR", "Libéria");
    namesMap.put("LS", "Ləsotó");
    namesMap.put("LT", "Lituaní");
    namesMap.put("LU", "Lukəzambúd");
    namesMap.put("LV", "Lətoní");
    namesMap.put("LY", "Libí");
    namesMap.put("MA", "Marɔ́g");
    namesMap.put("MC", "Mɔnakó");
    namesMap.put("MD", "Molədaví");
    namesMap.put("MG", "Madagasəkárə");
    namesMap.put("MH", "Minlán Mí Maresál");
    namesMap.put("MK", "Masedónia");
    namesMap.put("ML", "Malí");
    namesMap.put("MM", "Mianəmár");
    namesMap.put("MN", "Mɔngɔ́lia");
    namesMap.put("MP", "Minlán Mi Marián yá Nór");
    namesMap.put("MQ", "Marətiníg");
    namesMap.put("MR", "Moritaní");
    namesMap.put("MS", "Mɔ́ntserád");
    namesMap.put("MT", "Málətə");
    namesMap.put("MU", "Morís");
    namesMap.put("MV", "Malədívə");
    namesMap.put("MW", "Malawí");
    namesMap.put("MX", "Mɛkəsíg");
    namesMap.put("MY", "Malɛ́zia");
    namesMap.put("MZ", "Mozambíg");
    namesMap.put("NA", "Namibí");
    namesMap.put("NC", "Ǹkpámɛn Kaledónia");
    namesMap.put("NE", "Nihɛ́r");
    namesMap.put("NF", "Minlán Nɔrəfɔ́ləkə");
    namesMap.put("NG", "Nihéria");
    namesMap.put("NI", "Nikarágua");
    namesMap.put("NL", "Pɛíbá");
    namesMap.put("NO", "Nɔrəvɛ́s");
    namesMap.put("NP", "Nepál");
    namesMap.put("NR", "Naurú");
    namesMap.put("NU", "Niué");
    namesMap.put("NZ", "Ǹkpámɛn Zeláŋ");
    namesMap.put("OM", "Omán");
    namesMap.put("PA", "Panamá");
    namesMap.put("PE", "Perú");
    namesMap.put("PF", "Polinesí yá Fulɛnsí");
    namesMap.put("PG", "Papwazi yá Ǹkpámɛ́n Giné");
    namesMap.put("PH", "Filipín");
    namesMap.put("PK", "Pakisətán");
    namesMap.put("PL", "fólis");
    namesMap.put("PM", "Ǹfúfúb-Píɛr-ai-Mikəlɔ́ŋ");
    namesMap.put("PN", "Pítə́kɛ́rɛnə");
    namesMap.put("PR", "Pwɛrəto Ríko");
    namesMap.put("PS", "Ǹnam Palɛsətín");
    namesMap.put("PT", "fɔrətugɛ́s");
    namesMap.put("PY", "Paragué");
    namesMap.put("QA", "Katár");
    namesMap.put("RE", "Reuniɔ́ŋ");
    namesMap.put("RO", "Rumaní");
    namesMap.put("RU", "Rúsian");
    namesMap.put("RW", "Ruwandá");
    namesMap.put("SA", "Arabí Saudí");
    namesMap.put("SB", "Minlán Mí Solomɔ́n");
    namesMap.put("SC", "Sɛsɛ́l");
    namesMap.put("SD", "Sudáŋ");
    namesMap.put("SE", "Suwɛ́d");
    namesMap.put("SG", "Singapúr");
    namesMap.put("SH", "Ǹfúfúb-Ɛlɛ́na");
    namesMap.put("SI", "Səlovénia");
    namesMap.put("SK", "Səlovakí");
    namesMap.put("SL", "Sierá-leónə");
    namesMap.put("SM", "Ǹfúfúb Maríno");
    namesMap.put("SN", "Senegál");
    namesMap.put("SO", "Somália");
    namesMap.put("SR", "Surinám");
    namesMap.put("ST", "Saó Tomé ai Pəlinəsípe");
    namesMap.put("SV", "Saləvadór");
    namesMap.put("SY", "Sirí");
    namesMap.put("SZ", "Swazilándə");
    namesMap.put("TC", "Minlán Mí túrə́g-ai-Kaíg");
    namesMap.put("TD", "Tsád");
    namesMap.put("TG", "Togó");
    namesMap.put("TH", "Tailán");
    namesMap.put("TJ", "Tadzikisətáŋ");
    namesMap.put("TK", "Tokeló");
    namesMap.put("TL", "Timôr");
    namesMap.put("TM", "Turəkəmənisətáŋ");
    namesMap.put("TN", "Tunisí");
    namesMap.put("TO", "Tɔngá");
    namesMap.put("TR", "Turəkí");
    namesMap.put("TT", "Təlinité-ai-Tobágo");
    namesMap.put("TV", "Tuvalú");
    namesMap.put("TW", "Taiwán");
    namesMap.put("TZ", "Taŋəzaní");
    namesMap.put("UA", "Ukərɛ́n");
    namesMap.put("UG", "Ugandá");
    namesMap.put("US", "Ǹnam Amɛrəkə");
    namesMap.put("UY", "Urugué");
    namesMap.put("UZ", "Uzubekisətán");
    namesMap.put("VA", "Ǹnam Vatikán");
    namesMap.put("VC", "Ǹfúfúb-Vɛngəsáŋ-ai-Bə Gələnadín");
    namesMap.put("VE", "Venezuéla");
    namesMap.put("VG", "ńnam Minlán ɛ́ngəlís");
    namesMap.put("VI", "Minlán Mi Amɛrəkə");
    namesMap.put("VN", "Viɛdənám");
    namesMap.put("VU", "Vanuátu");
    namesMap.put("WF", "Walís-ai-Futúna");
    namesMap.put("WS", "Samoá");
    namesMap.put("YE", "Yemɛ́n");
    namesMap.put("YT", "Mayɔ́d");
    namesMap.put("ZA", "Afiríka yá Súd");
    namesMap.put("ZM", "Zambí");
    namesMap.put("ZW", "Zimbabwé");
  }

  @Override
  protected JavaScriptObject loadNameMapNative() {
    return overrideMap(super.loadNameMapNative(), loadMyNameMap());
  }

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "AD": "Andór",
        "AE": "Bemirá yá Arábə uní",
        "AF": "Afəganisətán",
        "AG": "Antígwa ai Barəbúda",
        "AI": "Angíyə",
        "AL": "Aləbánia",
        "AM": "Arəménia",
        "AO": "Angolá",
        "AR": "Arəhenətína",
        "AS": "Bəsamóa yá Amə́rəka",
        "AT": "Osətəlía",
        "AU": "Osətəlalí",
        "AW": "Arúba",
        "AZ": "Azɛrəbaidzáŋ",
        "BA": "Bosəní ai ɛrəzegovín",
        "BB": "Barəbád",
        "BD": "Bangaladɛ́s",
        "BE": "Bɛləhíg",
        "BF": "Buləkiná Fasó",
        "BG": "Buləgarí",
        "BH": "Bahərɛ́n",
        "BI": "Burundí",
        "BJ": "Bəníŋ",
        "BM": "Bɛrəmúd",
        "BN": "Buluné",
        "BO": "Bolívia",
        "BR": "Bəlazíl",
        "BS": "Bahámas",
        "BT": "Butáŋ",
        "BW": "Botswaná",
        "BY": "Bəlarús",
        "BZ": "Bəlís",
        "CA": "kanadá",
        "CD": "ǹnam Kongó Demokəlatíg",
        "CF": "ǹnam Zǎŋ Afiriká",
        "CG": "Kongó",
        "CH": "Suís",
        "CI": "Kód Divɔ́r",
        "CK": "Minlán Mí kúg",
        "CL": "Tsilí",
        "CM": "Kamərún",
        "CN": "Tsáina",
        "CO": "Kolɔmbí",
        "CR": "Kosta Ríka",
        "CU": "Kubá",
        "CV": "Minlán Mí Káb Vɛr",
        "CY": "Sipəlús",
        "CZ": "Ǹnam Tsɛ́g",
        "DE": "Ndzáman",
        "DJ": "Dzibutí",
        "DK": "Danəmárəg",
        "DM": "Dómənika",
        "DO": "République dominicaine",
        "DZ": "Aləyéria",
        "EC": "Ekwatór",
        "EE": "Esetoní",
        "EG": "Ehíbətɛn",
        "ER": "Elitəlé",
        "ES": "Kpənyá",
        "ET": "Etiopí",
        "FI": "Finəlán",
        "FJ": "Fidzí",
        "FK": "Minlán Mi Fóləkəlan",
        "FM": "Mikoronésia",
        "FR": "Fulɛnsí",
        "GA": "Gabóŋ",
        "GB": "Ǹnam Engəlis",
        "GD": "Gələnádə",
        "GE": "Horə́yia",
        "GF": "Guyán yá Fulɛnsí",
        "GH": "Ganá",
        "GI": "Yiləbalatár",
        "GL": "Goelán",
        "GM": "Gambí",
        "GN": "Giné",
        "GP": "Guadəlúb",
        "GQ": "Giné Ekwató",
        "GR": "Gəlɛ́s",
        "GT": "Guatemalá",
        "GU": "Guám",
        "GW": "Giné Bisaó",
        "GY": "Guyán",
        "HN": "Ondurás",
        "HR": "Kəlowásia",
        "HT": "Aití",
        "HU": "Ongirí",
        "ID": "ɛndonésia",
        "IE": "Irəlándə",
        "IL": "Isəraɛ́l",
        "IN": "ɛ́ndə",
        "IO": "ǹnam ɛngəlís yá Máŋ mə́ ɛ́ndə",
        "IQ": "Irág",
        "IR": "Irán",
        "IS": "Isəlándə",
        "IT": "Itáliɛn",
        "JM": "Hamaíka",
        "JO": "Horədaní",
        "JP": "Hapɔ́n",
        "KE": "Keniá",
        "KG": "Kirigisətán",
        "KH": "kambodía",
        "KI": "Kiribatí",
        "KM": "Komɔ́r",
        "KN": "Ǹfúfúb-Kilisətóv-ai-Nevis",
        "KP": "Koré yá Nór",
        "KR": "Koré yá Súd",
        "KW": "Kowɛ́d",
        "KY": "Minlán Mí Kalimáŋ",
        "KZ": "Kazakətáŋ",
        "LA": "Laós",
        "LB": "Libáŋ",
        "LC": "Ǹfúfúb-Lúsia",
        "LI": "Lísə́sə́táin",
        "LK": "Səri Laŋká",
        "LR": "Libéria",
        "LS": "Ləsotó",
        "LT": "Lituaní",
        "LU": "Lukəzambúd",
        "LV": "Lətoní",
        "LY": "Libí",
        "MA": "Marɔ́g",
        "MC": "Mɔnakó",
        "MD": "Molədaví",
        "MG": "Madagasəkárə",
        "MH": "Minlán Mí Maresál",
        "MK": "Masedónia",
        "ML": "Malí",
        "MM": "Mianəmár",
        "MN": "Mɔngɔ́lia",
        "MP": "Minlán Mi Marián yá Nór",
        "MQ": "Marətiníg",
        "MR": "Moritaní",
        "MS": "Mɔ́ntserád",
        "MT": "Málətə",
        "MU": "Morís",
        "MV": "Malədívə",
        "MW": "Malawí",
        "MX": "Mɛkəsíg",
        "MY": "Malɛ́zia",
        "MZ": "Mozambíg",
        "NA": "Namibí",
        "NC": "Ǹkpámɛn Kaledónia",
        "NE": "Nihɛ́r",
        "NF": "Minlán Nɔrəfɔ́ləkə",
        "NG": "Nihéria",
        "NI": "Nikarágua",
        "NL": "Pɛíbá",
        "NO": "Nɔrəvɛ́s",
        "NP": "Nepál",
        "NR": "Naurú",
        "NU": "Niué",
        "NZ": "Ǹkpámɛn Zeláŋ",
        "OM": "Omán",
        "PA": "Panamá",
        "PE": "Perú",
        "PF": "Polinesí yá Fulɛnsí",
        "PG": "Papwazi yá Ǹkpámɛ́n Giné",
        "PH": "Filipín",
        "PK": "Pakisətán",
        "PL": "fólis",
        "PM": "Ǹfúfúb-Píɛr-ai-Mikəlɔ́ŋ",
        "PN": "Pítə́kɛ́rɛnə",
        "PR": "Pwɛrəto Ríko",
        "PS": "Ǹnam Palɛsətín",
        "PT": "fɔrətugɛ́s",
        "PY": "Paragué",
        "QA": "Katár",
        "RE": "Reuniɔ́ŋ",
        "RO": "Rumaní",
        "RU": "Rúsian",
        "RW": "Ruwandá",
        "SA": "Arabí Saudí",
        "SB": "Minlán Mí Solomɔ́n",
        "SC": "Sɛsɛ́l",
        "SD": "Sudáŋ",
        "SE": "Suwɛ́d",
        "SG": "Singapúr",
        "SH": "Ǹfúfúb-Ɛlɛ́na",
        "SI": "Səlovénia",
        "SK": "Səlovakí",
        "SL": "Sierá-leónə",
        "SM": "Ǹfúfúb Maríno",
        "SN": "Senegál",
        "SO": "Somália",
        "SR": "Surinám",
        "ST": "Saó Tomé ai Pəlinəsípe",
        "SV": "Saləvadór",
        "SY": "Sirí",
        "SZ": "Swazilándə",
        "TC": "Minlán Mí túrə́g-ai-Kaíg",
        "TD": "Tsád",
        "TG": "Togó",
        "TH": "Tailán",
        "TJ": "Tadzikisətáŋ",
        "TK": "Tokeló",
        "TL": "Timôr",
        "TM": "Turəkəmənisətáŋ",
        "TN": "Tunisí",
        "TO": "Tɔngá",
        "TR": "Turəkí",
        "TT": "Təlinité-ai-Tobágo",
        "TV": "Tuvalú",
        "TW": "Taiwán",
        "TZ": "Taŋəzaní",
        "UA": "Ukərɛ́n",
        "UG": "Ugandá",
        "US": "Ǹnam Amɛrəkə",
        "UY": "Urugué",
        "UZ": "Uzubekisətán",
        "VA": "Ǹnam Vatikán",
        "VC": "Ǹfúfúb-Vɛngəsáŋ-ai-Bə Gələnadín",
        "VE": "Venezuéla",
        "VG": "ńnam Minlán ɛ́ngəlís",
        "VI": "Minlán Mi Amɛrəkə",
        "VN": "Viɛdənám",
        "VU": "Vanuátu",
        "WF": "Walís-ai-Futúna",
        "WS": "Samoá",
        "YE": "Yemɛ́n",
        "YT": "Mayɔ́d",
        "ZA": "Afiríka yá Súd",
        "ZM": "Zambí",
        "ZW": "Zimbabwé"
    };
  }-*/;
}
