/*
 * 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 "eo" locale.
 */
public class LocalizedNamesImpl_eo extends LocalizedNamesImpl {

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("AD", "Andoro");
    namesMap.put("AE", "Unuiĝintaj Arabaj Emirlandoj");
    namesMap.put("AF", "Afganujo");
    namesMap.put("AG", "Antigvo-Barbudo");
    namesMap.put("AI", "Angvilo");
    namesMap.put("AL", "Albanujo");
    namesMap.put("AM", "Armenujo");
    namesMap.put("AO", "Angolo");
    namesMap.put("AQ", "Antarkto");
    namesMap.put("AR", "Argentino");
    namesMap.put("AT", "Aŭstrujo");
    namesMap.put("AU", "Aŭstralio");
    namesMap.put("AW", "Arubo");
    namesMap.put("AZ", "Azerbajĝano");
    namesMap.put("BA", "Bosnio-Hercegovino");
    namesMap.put("BB", "Barbado");
    namesMap.put("BD", "Bangladeŝo");
    namesMap.put("BE", "Belgujo");
    namesMap.put("BF", "Burkino");
    namesMap.put("BG", "Bulgarujo");
    namesMap.put("BH", "Barejno");
    namesMap.put("BI", "Burundo");
    namesMap.put("BJ", "Benino");
    namesMap.put("BM", "Bermudoj");
    namesMap.put("BN", "Brunejo");
    namesMap.put("BO", "Bolivio");
    namesMap.put("BR", "Brazilo");
    namesMap.put("BS", "Bahamoj");
    namesMap.put("BT", "Butano");
    namesMap.put("BW", "Bocvano");
    namesMap.put("BY", "Belorusujo");
    namesMap.put("BZ", "Belizo");
    namesMap.put("CA", "Kanado");
    namesMap.put("CF", "Centr-Afrika Respubliko");
    namesMap.put("CG", "Kongolo");
    namesMap.put("CH", "Svisujo");
    namesMap.put("CI", "Ebur-Bordo");
    namesMap.put("CK", "Kukinsuloj");
    namesMap.put("CL", "Ĉilio");
    namesMap.put("CM", "Kameruno");
    namesMap.put("CN", "Ĉinujo");
    namesMap.put("CO", "Kolombio");
    namesMap.put("CR", "Kostariko");
    namesMap.put("CU", "Kubo");
    namesMap.put("CV", "Kabo-Verdo");
    namesMap.put("CY", "Kipro");
    namesMap.put("CZ", "Ĉeĥujo");
    namesMap.put("DE", "Germanujo");
    namesMap.put("DJ", "Ĝibutio");
    namesMap.put("DK", "Danujo");
    namesMap.put("DM", "Dominiko");
    namesMap.put("DO", "Domingo");
    namesMap.put("DZ", "Alĝerio");
    namesMap.put("EC", "Ekvadoro");
    namesMap.put("EE", "Estonujo");
    namesMap.put("EG", "Egipto");
    namesMap.put("EH", "Okcidenta Saharo");
    namesMap.put("ER", "Eritreo");
    namesMap.put("ES", "Hispanujo");
    namesMap.put("ET", "Etiopujo");
    namesMap.put("FI", "Finnlando");
    namesMap.put("FJ", "Fiĝoj");
    namesMap.put("FM", "Mikronezio");
    namesMap.put("FO", "Ferooj");
    namesMap.put("FR", "Francujo");
    namesMap.put("GA", "Gabono");
    namesMap.put("GB", "Unuiĝinta Reĝlando");
    namesMap.put("GD", "Grenado");
    namesMap.put("GE", "Kartvelujo");
    namesMap.put("GF", "Franca Gviano");
    namesMap.put("GH", "Ganao");
    namesMap.put("GI", "Ĝibraltaro");
    namesMap.put("GL", "Gronlando");
    namesMap.put("GM", "Gambio");
    namesMap.put("GN", "Gvineo");
    namesMap.put("GP", "Gvadelupo");
    namesMap.put("GQ", "Ekvatora Gvineo");
    namesMap.put("GR", "Grekujo");
    namesMap.put("GS", "Sud-Georgio kaj Sud-Sandviĉinsuloj");
    namesMap.put("GT", "Gvatemalo");
    namesMap.put("GU", "Gvamo");
    namesMap.put("GW", "Gvineo-Bisaŭo");
    namesMap.put("GY", "Gujano");
    namesMap.put("HK", "Honkongo");
    namesMap.put("HM", "Herda kaj Makdonaldaj Insuloj");
    namesMap.put("HN", "Honduro");
    namesMap.put("HR", "Kroatujo");
    namesMap.put("HT", "Haitio");
    namesMap.put("HU", "Hungarujo");
    namesMap.put("ID", "Indonezio");
    namesMap.put("IE", "Irlando");
    namesMap.put("IL", "Israelo");
    namesMap.put("IN", "Hindujo");
    namesMap.put("IO", "Brita Hindoceana Teritorio");
    namesMap.put("IQ", "Irako");
    namesMap.put("IR", "Irano");
    namesMap.put("IS", "Islando");
    namesMap.put("IT", "Italujo");
    namesMap.put("JM", "Jamajko");
    namesMap.put("JO", "Jordanio");
    namesMap.put("JP", "Japanujo");
    namesMap.put("KE", "Kenjo");
    namesMap.put("KG", "Kirgizistano");
    namesMap.put("KH", "Kamboĝo");
    namesMap.put("KI", "Kiribato");
    namesMap.put("KM", "Komoroj");
    namesMap.put("KN", "Sent-Kristofo kaj Neviso");
    namesMap.put("KP", "Nord-Koreo");
    namesMap.put("KR", "Sud-Koreo");
    namesMap.put("KW", "Kuvajto");
    namesMap.put("KY", "Kejmanoj");
    namesMap.put("KZ", "Kazaĥstano");
    namesMap.put("LA", "Laoso");
    namesMap.put("LB", "Libano");
    namesMap.put("LC", "Sent-Lucio");
    namesMap.put("LI", "Liĥtenŝtejno");
    namesMap.put("LK", "Sri-Lanko");
    namesMap.put("LR", "Liberio");
    namesMap.put("LS", "Lesoto");
    namesMap.put("LT", "Litovujo");
    namesMap.put("LU", "Luksemburgo");
    namesMap.put("LV", "Latvujo");
    namesMap.put("LY", "Libio");
    namesMap.put("MA", "Maroko");
    namesMap.put("MC", "Monako");
    namesMap.put("MD", "Moldavujo");
    namesMap.put("MG", "Madagaskaro");
    namesMap.put("MH", "Marŝaloj");
    namesMap.put("MK", "Makedonujo");
    namesMap.put("ML", "Malio");
    namesMap.put("MM", "Mjanmao");
    namesMap.put("MN", "Mongolujo");
    namesMap.put("MP", "Nord-Marianoj");
    namesMap.put("MQ", "Martiniko");
    namesMap.put("MR", "Maŭritanujo");
    namesMap.put("MT", "Malto");
    namesMap.put("MU", "Maŭricio");
    namesMap.put("MV", "Maldivoj");
    namesMap.put("MW", "Malavio");
    namesMap.put("MX", "Meksiko");
    namesMap.put("MY", "Malajzio");
    namesMap.put("MZ", "Mozambiko");
    namesMap.put("NA", "Namibio");
    namesMap.put("NC", "Nov-Kaledonio");
    namesMap.put("NE", "Niĝero");
    namesMap.put("NF", "Norfolkinsulo");
    namesMap.put("NG", "Niĝerio");
    namesMap.put("NI", "Nikaragvo");
    namesMap.put("NL", "Nederlando");
    namesMap.put("NO", "Norvegujo");
    namesMap.put("NP", "Nepalo");
    namesMap.put("NR", "Nauro");
    namesMap.put("NU", "Niuo");
    namesMap.put("NZ", "Nov-Zelando");
    namesMap.put("OM", "Omano");
    namesMap.put("PA", "Panamo");
    namesMap.put("PE", "Peruo");
    namesMap.put("PF", "Franca Polinezio");
    namesMap.put("PG", "Papuo-Nov-Gvineo");
    namesMap.put("PH", "Filipinoj");
    namesMap.put("PK", "Pakistano");
    namesMap.put("PL", "Pollando");
    namesMap.put("PM", "Sent-Piero kaj Mikelono");
    namesMap.put("PN", "Pitkarna Insulo");
    namesMap.put("PR", "Puerto-Riko");
    namesMap.put("PT", "Portugalujo");
    namesMap.put("PW", "Belaŭo");
    namesMap.put("PY", "Paragvajo");
    namesMap.put("QA", "Kataro");
    namesMap.put("RE", "Reunio");
    namesMap.put("RO", "Rumanujo");
    namesMap.put("RU", "Rusujo");
    namesMap.put("RW", "Ruando");
    namesMap.put("SA", "Saŭda Arabujo");
    namesMap.put("SB", "Salomonoj");
    namesMap.put("SC", "Sejŝeloj");
    namesMap.put("SD", "Sudano");
    namesMap.put("SE", "Svedujo");
    namesMap.put("SG", "Singapuro");
    namesMap.put("SH", "Sent-Heleno");
    namesMap.put("SI", "Slovenujo");
    namesMap.put("SJ", "Svalbardo kaj Jan-Majen-insulo");
    namesMap.put("SK", "Slovakujo");
    namesMap.put("SL", "Siera-Leono");
    namesMap.put("SM", "San-Marino");
    namesMap.put("SN", "Senegalo");
    namesMap.put("SO", "Somalujo");
    namesMap.put("SR", "Surinamo");
    namesMap.put("SS", "Sud-Sudano");
    namesMap.put("ST", "Sao-Tomeo kaj Principeo");
    namesMap.put("SV", "Salvadoro");
    namesMap.put("SY", "Sirio");
    namesMap.put("SZ", "Svazilando");
    namesMap.put("TD", "Ĉado");
    namesMap.put("TG", "Togolo");
    namesMap.put("TH", "Tajlando");
    namesMap.put("TJ", "Taĝikujo");
    namesMap.put("TM", "Turkmenujo");
    namesMap.put("TN", "Tunizio");
    namesMap.put("TO", "Tongo");
    namesMap.put("TR", "Turkujo");
    namesMap.put("TT", "Trinidado kaj Tobago");
    namesMap.put("TV", "Tuvalo");
    namesMap.put("TW", "Tajvano");
    namesMap.put("TZ", "Tanzanio");
    namesMap.put("UA", "Ukrajno");
    namesMap.put("UG", "Ugando");
    namesMap.put("UM", "Usonaj malgrandaj insuloj");
    namesMap.put("US", "Usono");
    namesMap.put("UY", "Urugvajo");
    namesMap.put("UZ", "Uzbekujo");
    namesMap.put("VA", "Vatikano");
    namesMap.put("VC", "Sent-Vincento kaj la Grenadinoj");
    namesMap.put("VE", "Venezuelo");
    namesMap.put("VG", "Britaj Virgulininsuloj");
    namesMap.put("VI", "Usonaj Virgulininsuloj");
    namesMap.put("VN", "Vjetnamo");
    namesMap.put("VU", "Vanuatuo");
    namesMap.put("WF", "Valiso kaj Futuno");
    namesMap.put("WS", "Samoo");
    namesMap.put("YE", "Jemeno");
    namesMap.put("YT", "Majoto");
    namesMap.put("ZA", "Sud-Afriko");
    namesMap.put("ZM", "Zambio");
    namesMap.put("ZW", "Zimbabvo");
    namesMap.put("ZZ", "nekonata regiono");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "AD": "Andoro",
        "AE": "Unuiĝintaj Arabaj Emirlandoj",
        "AF": "Afganujo",
        "AG": "Antigvo-Barbudo",
        "AI": "Angvilo",
        "AL": "Albanujo",
        "AM": "Armenujo",
        "AO": "Angolo",
        "AQ": "Antarkto",
        "AR": "Argentino",
        "AT": "Aŭstrujo",
        "AU": "Aŭstralio",
        "AW": "Arubo",
        "AZ": "Azerbajĝano",
        "BA": "Bosnio-Hercegovino",
        "BB": "Barbado",
        "BD": "Bangladeŝo",
        "BE": "Belgujo",
        "BF": "Burkino",
        "BG": "Bulgarujo",
        "BH": "Barejno",
        "BI": "Burundo",
        "BJ": "Benino",
        "BM": "Bermudoj",
        "BN": "Brunejo",
        "BO": "Bolivio",
        "BR": "Brazilo",
        "BS": "Bahamoj",
        "BT": "Butano",
        "BW": "Bocvano",
        "BY": "Belorusujo",
        "BZ": "Belizo",
        "CA": "Kanado",
        "CF": "Centr-Afrika Respubliko",
        "CG": "Kongolo",
        "CH": "Svisujo",
        "CI": "Ebur-Bordo",
        "CK": "Kukinsuloj",
        "CL": "Ĉilio",
        "CM": "Kameruno",
        "CN": "Ĉinujo",
        "CO": "Kolombio",
        "CR": "Kostariko",
        "CU": "Kubo",
        "CV": "Kabo-Verdo",
        "CY": "Kipro",
        "CZ": "Ĉeĥujo",
        "DE": "Germanujo",
        "DJ": "Ĝibutio",
        "DK": "Danujo",
        "DM": "Dominiko",
        "DO": "Domingo",
        "DZ": "Alĝerio",
        "EC": "Ekvadoro",
        "EE": "Estonujo",
        "EG": "Egipto",
        "EH": "Okcidenta Saharo",
        "ER": "Eritreo",
        "ES": "Hispanujo",
        "ET": "Etiopujo",
        "FI": "Finnlando",
        "FJ": "Fiĝoj",
        "FM": "Mikronezio",
        "FO": "Ferooj",
        "FR": "Francujo",
        "GA": "Gabono",
        "GB": "Unuiĝinta Reĝlando",
        "GD": "Grenado",
        "GE": "Kartvelujo",
        "GF": "Franca Gviano",
        "GH": "Ganao",
        "GI": "Ĝibraltaro",
        "GL": "Gronlando",
        "GM": "Gambio",
        "GN": "Gvineo",
        "GP": "Gvadelupo",
        "GQ": "Ekvatora Gvineo",
        "GR": "Grekujo",
        "GS": "Sud-Georgio kaj Sud-Sandviĉinsuloj",
        "GT": "Gvatemalo",
        "GU": "Gvamo",
        "GW": "Gvineo-Bisaŭo",
        "GY": "Gujano",
        "HK": "Honkongo",
        "HM": "Herda kaj Makdonaldaj Insuloj",
        "HN": "Honduro",
        "HR": "Kroatujo",
        "HT": "Haitio",
        "HU": "Hungarujo",
        "ID": "Indonezio",
        "IE": "Irlando",
        "IL": "Israelo",
        "IN": "Hindujo",
        "IO": "Brita Hindoceana Teritorio",
        "IQ": "Irako",
        "IR": "Irano",
        "IS": "Islando",
        "IT": "Italujo",
        "JM": "Jamajko",
        "JO": "Jordanio",
        "JP": "Japanujo",
        "KE": "Kenjo",
        "KG": "Kirgizistano",
        "KH": "Kamboĝo",
        "KI": "Kiribato",
        "KM": "Komoroj",
        "KN": "Sent-Kristofo kaj Neviso",
        "KP": "Nord-Koreo",
        "KR": "Sud-Koreo",
        "KW": "Kuvajto",
        "KY": "Kejmanoj",
        "KZ": "Kazaĥstano",
        "LA": "Laoso",
        "LB": "Libano",
        "LC": "Sent-Lucio",
        "LI": "Liĥtenŝtejno",
        "LK": "Sri-Lanko",
        "LR": "Liberio",
        "LS": "Lesoto",
        "LT": "Litovujo",
        "LU": "Luksemburgo",
        "LV": "Latvujo",
        "LY": "Libio",
        "MA": "Maroko",
        "MC": "Monako",
        "MD": "Moldavujo",
        "MG": "Madagaskaro",
        "MH": "Marŝaloj",
        "MK": "Makedonujo",
        "ML": "Malio",
        "MM": "Mjanmao",
        "MN": "Mongolujo",
        "MP": "Nord-Marianoj",
        "MQ": "Martiniko",
        "MR": "Maŭritanujo",
        "MT": "Malto",
        "MU": "Maŭricio",
        "MV": "Maldivoj",
        "MW": "Malavio",
        "MX": "Meksiko",
        "MY": "Malajzio",
        "MZ": "Mozambiko",
        "NA": "Namibio",
        "NC": "Nov-Kaledonio",
        "NE": "Niĝero",
        "NF": "Norfolkinsulo",
        "NG": "Niĝerio",
        "NI": "Nikaragvo",
        "NL": "Nederlando",
        "NO": "Norvegujo",
        "NP": "Nepalo",
        "NR": "Nauro",
        "NU": "Niuo",
        "NZ": "Nov-Zelando",
        "OM": "Omano",
        "PA": "Panamo",
        "PE": "Peruo",
        "PF": "Franca Polinezio",
        "PG": "Papuo-Nov-Gvineo",
        "PH": "Filipinoj",
        "PK": "Pakistano",
        "PL": "Pollando",
        "PM": "Sent-Piero kaj Mikelono",
        "PN": "Pitkarna Insulo",
        "PR": "Puerto-Riko",
        "PT": "Portugalujo",
        "PW": "Belaŭo",
        "PY": "Paragvajo",
        "QA": "Kataro",
        "RE": "Reunio",
        "RO": "Rumanujo",
        "RU": "Rusujo",
        "RW": "Ruando",
        "SA": "Saŭda Arabujo",
        "SB": "Salomonoj",
        "SC": "Sejŝeloj",
        "SD": "Sudano",
        "SE": "Svedujo",
        "SG": "Singapuro",
        "SH": "Sent-Heleno",
        "SI": "Slovenujo",
        "SJ": "Svalbardo kaj Jan-Majen-insulo",
        "SK": "Slovakujo",
        "SL": "Siera-Leono",
        "SM": "San-Marino",
        "SN": "Senegalo",
        "SO": "Somalujo",
        "SR": "Surinamo",
        "SS": "Sud-Sudano",
        "ST": "Sao-Tomeo kaj Principeo",
        "SV": "Salvadoro",
        "SY": "Sirio",
        "SZ": "Svazilando",
        "TD": "Ĉado",
        "TG": "Togolo",
        "TH": "Tajlando",
        "TJ": "Taĝikujo",
        "TM": "Turkmenujo",
        "TN": "Tunizio",
        "TO": "Tongo",
        "TR": "Turkujo",
        "TT": "Trinidado kaj Tobago",
        "TV": "Tuvalo",
        "TW": "Tajvano",
        "TZ": "Tanzanio",
        "UA": "Ukrajno",
        "UG": "Ugando",
        "UM": "Usonaj malgrandaj insuloj",
        "US": "Usono",
        "UY": "Urugvajo",
        "UZ": "Uzbekujo",
        "VA": "Vatikano",
        "VC": "Sent-Vincento kaj la Grenadinoj",
        "VE": "Venezuelo",
        "VG": "Britaj Virgulininsuloj",
        "VI": "Usonaj Virgulininsuloj",
        "VN": "Vjetnamo",
        "VU": "Vanuatuo",
        "WF": "Valiso kaj Futuno",
        "WS": "Samoo",
        "YE": "Jemeno",
        "YT": "Majoto",
        "ZA": "Sud-Afriko",
        "ZM": "Zambio",
        "ZW": "Zimbabvo",
        "ZZ": "nekonata regiono"
    };
  }-*/;
}
