/*
 * 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:
//  cldrVersion=21.0
//  number=$Revision: 6546 $
//  type=root
//  date=$Date: 2012-02-07 13:32:35 -0500 (Tue, 07 Feb 2012) $


/**
 * Localized names for the "eu" locale.
 */
public class LocalizedNamesImpl_eu extends LocalizedNamesImpl {

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "Mundua");
    namesMap.put("002", "Afrika");
    namesMap.put("003", "Ipar Amerika");
    namesMap.put("005", "Hego Amerika");
    namesMap.put("009", "Ozeania");
    namesMap.put("011", "Afrika mendebaldea");
    namesMap.put("013", "Erdialdeko Amerika");
    namesMap.put("014", "Afrika ekialdea");
    namesMap.put("015", "Afrika iparraldea");
    namesMap.put("017", "Erdialdeko Afrika");
    namesMap.put("018", "Afrika hegoaldea");
    namesMap.put("019", "Amerika");
    namesMap.put("021", "Amerika iparraldea");
    namesMap.put("029", "Karibea");
    namesMap.put("030", "Asia ekialdea");
    namesMap.put("034", "Asia hegoaldea");
    namesMap.put("035", "Asia hego-ekialdea");
    namesMap.put("039", "Europa hegoaldea");
    namesMap.put("053", "Australia eta Zeelanda Berria");
    namesMap.put("054", "Melanesiera");
    namesMap.put("057", "Mikronesia eskualdea");
    namesMap.put("061", "Polinesia");
    namesMap.put("143", "Asia erdialdea");
    namesMap.put("145", "Asia mendebaldea");
    namesMap.put("150", "Europa");
    namesMap.put("151", "Europa ekialdea");
    namesMap.put("154", "Europa iparraldea");
    namesMap.put("155", "Europa mendebaldea");
    namesMap.put("419", "Latinoamerika");
    namesMap.put("AC", "Ascension Uhartea");
    namesMap.put("AE", "Arabiar Emirrerri Batuak");
    namesMap.put("AF", "Afganistan");
    namesMap.put("AG", "Antigua eta Barbuda");
    namesMap.put("AI", "Angila");
    namesMap.put("AN", "Holandarren Antillak");
    namesMap.put("AQ", "Antartika");
    namesMap.put("AS", "Amerikar Samoa");
    namesMap.put("AX", "Aland Uharteak");
    namesMap.put("BA", "Bosnia-Herzegovina");
    namesMap.put("BE", "Belgika");
    namesMap.put("BL", "San Bartolome");
    namesMap.put("BO", "Bolibia");
    namesMap.put("BR", "Brasil");
    namesMap.put("BS", "Bahamak");
    namesMap.put("BV", "Bouvet Uhartea");
    namesMap.put("BY", "Bielorrusia");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Cocos uharteak");
    namesMap.put("CD", "Kongoko Errepublika Demokratikoa");
    namesMap.put("CF", "Afrika Erdiko Errepublika");
    namesMap.put("CG", "Kongo");
    namesMap.put("CH", "Suitza");
    namesMap.put("CI", "Boli Kosta");
    namesMap.put("CK", "Cook uharteak");
    namesMap.put("CL", "Txile");
    namesMap.put("CM", "Kamerun");
    namesMap.put("CN", "Txina");
    namesMap.put("CO", "Kolonbia");
    namesMap.put("CS", "Serbia eta Montenegro");
    namesMap.put("CU", "Kuba");
    namesMap.put("CV", "Cabo Verde");
    namesMap.put("CX", "Christmas uhartea");
    namesMap.put("CY", "Zipre");
    namesMap.put("CZ", "Txekiar errepublika");
    namesMap.put("DE", "Alemania");
    namesMap.put("DJ", "Djibuti");
    namesMap.put("DK", "Danimarka");
    namesMap.put("DM", "Dominika");
    namesMap.put("DO", "Dominikar Errepublika");
    namesMap.put("DZ", "Aljeria");
    namesMap.put("EA", "Ceuta eta Melilla");
    namesMap.put("EC", "Ekuador");
    namesMap.put("EG", "Egipto");
    namesMap.put("EH", "Mendebaldeko Sahara");
    namesMap.put("ES", "Espainia");
    namesMap.put("ET", "Etiopia");
    namesMap.put("EU", "Europar Batasuna");
    namesMap.put("FI", "Finlandia");
    namesMap.put("FK", "Malvinak");
    namesMap.put("FM", "Mikronesia");
    namesMap.put("FO", "Faroe Uharteak");
    namesMap.put("FR", "Frantzia");
    namesMap.put("GB", "Erresuma Batua");
    namesMap.put("GF", "Guyana Frantsesa");
    namesMap.put("GL", "Groenlandia");
    namesMap.put("GN", "Ginea");
    namesMap.put("GP", "Guadalupe");
    namesMap.put("GQ", "Ekuatore Ginea");
    namesMap.put("GR", "Grezia");
    namesMap.put("GS", "Hegoaldeko Georgia eta Hegoaldeko Sandwich uharteak");
    namesMap.put("GW", "Ginea-Bissau");
    namesMap.put("HM", "Heard eta McDonald Uharteak");
    namesMap.put("HR", "Kroazia");
    namesMap.put("HU", "Hungaria");
    namesMap.put("IC", "Kanariak");
    namesMap.put("IE", "Irlanda");
    namesMap.put("IM", "Man uhartea");
    namesMap.put("IO", "Indiako Ozeanoko Britainiar Lurraldea");
    namesMap.put("IQ", "Irak");
    namesMap.put("IS", "Islandia");
    namesMap.put("IT", "Italia");
    namesMap.put("JM", "Jamaika");
    namesMap.put("JO", "Jordania");
    namesMap.put("JP", "Japonia");
    namesMap.put("KE", "Kenia");
    namesMap.put("KG", "Kirgizistan");
    namesMap.put("KH", "Kanbodia");
    namesMap.put("KM", "Komoreak");
    namesMap.put("KN", "Saint Kitts eta Nevis");
    namesMap.put("KP", "Ipar Korea");
    namesMap.put("KR", "Hego Korea");
    namesMap.put("KY", "Kaiman Uharteak");
    namesMap.put("LB", "Libano");
    namesMap.put("LC", "Santa Luzia");
    namesMap.put("LT", "Lituania");
    namesMap.put("LU", "Luxenburgo");
    namesMap.put("LV", "Letonia");
    namesMap.put("LY", "Libia");
    namesMap.put("MA", "Maroko");
    namesMap.put("MC", "Monako");
    namesMap.put("MD", "Moldavia");
    namesMap.put("MG", "Madagaskar");
    namesMap.put("MH", "Marshall uharteak");
    namesMap.put("MK", "Mazedonia");
    namesMap.put("MM", "Birmania");
    namesMap.put("MO", "Makau");
    namesMap.put("MP", "Iparraldeko Mariana uharteak");
    namesMap.put("MQ", "Martinika");
    namesMap.put("MU", "Maurizio");
    namesMap.put("MV", "Maldivak");
    namesMap.put("MX", "Mexiko");
    namesMap.put("MY", "Malasia");
    namesMap.put("MZ", "Mozambike");
    namesMap.put("NC", "Kaledonia Berria");
    namesMap.put("NF", "Norfolk uhartea");
    namesMap.put("NI", "Nikaragua");
    namesMap.put("NL", "Herbehereak");
    namesMap.put("NO", "Norvegia");
    namesMap.put("NZ", "Zeelanda Berria");
    namesMap.put("PF", "Polinesia Frantsesa");
    namesMap.put("PG", "Papua Ginea Berria");
    namesMap.put("PH", "Filipinak");
    namesMap.put("PL", "Polonia");
    namesMap.put("PM", "Saint-Pierre eta Mikelune");
    namesMap.put("PN", "Pitcairn uharteak");
    namesMap.put("PS", "Palestina");
    namesMap.put("PY", "Paraguai");
    namesMap.put("QA", "Katar");
    namesMap.put("QO", "Mugaz kanpoko Ozeania");
    namesMap.put("RE", "Reunion");
    namesMap.put("RO", "Errumania");
    namesMap.put("RU", "Errusia");
    namesMap.put("RW", "Ruanda");
    namesMap.put("SB", "Salomon uharteak");
    namesMap.put("SC", "Seychelleak");
    namesMap.put("SE", "Suedia");
    namesMap.put("SG", "Singapur");
    namesMap.put("SI", "Eslovenia");
    namesMap.put("SJ", "Svalbard eta Jan Mayen uharteak");
    namesMap.put("SK", "Eslovakia");
    namesMap.put("SL", "Sierra Leona");
    namesMap.put("SR", "Surinam");
    namesMap.put("ST", "Sao Tome eta Principe");
    namesMap.put("SY", "Siria");
    namesMap.put("SZ", "Swazilandia");
    namesMap.put("TC", "Turk eta Caicos uharteak");
    namesMap.put("TD", "Txad");
    namesMap.put("TF", "Frantziaren Lurralde Australak");
    namesMap.put("TH", "Tailandia");
    namesMap.put("TJ", "Tadjikistan");
    namesMap.put("TL", "Ekialdeko Timor");
    namesMap.put("TR", "Turkia");
    namesMap.put("TT", "Trinidad eta Tobago");
    namesMap.put("UA", "Ukraina");
    namesMap.put("UM", "Estatu Batuetatik urruti dauden uharte txikiak");
    namesMap.put("US", "Ameriketako Estatu Batuak");
    namesMap.put("UY", "Uruguai");
    namesMap.put("VA", "Vatikano Hiria");
    namesMap.put("VC", "Saint Vincent eta Grenadinak");
    namesMap.put("VG", "Birjina uharte britainiarrak");
    namesMap.put("VI", "Birjina uharte amerikarrak");
    namesMap.put("WF", "Wallis eta Futuna");
    namesMap.put("ZA", "Hegoafrika");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "Mundua",
        "002": "Afrika",
        "003": "Ipar Amerika",
        "005": "Hego Amerika",
        "009": "Ozeania",
        "011": "Afrika mendebaldea",
        "013": "Erdialdeko Amerika",
        "014": "Afrika ekialdea",
        "015": "Afrika iparraldea",
        "017": "Erdialdeko Afrika",
        "018": "Afrika hegoaldea",
        "019": "Amerika",
        "021": "Amerika iparraldea",
        "029": "Karibea",
        "030": "Asia ekialdea",
        "034": "Asia hegoaldea",
        "035": "Asia hego-ekialdea",
        "039": "Europa hegoaldea",
        "053": "Australia eta Zeelanda Berria",
        "054": "Melanesiera",
        "057": "Mikronesia eskualdea",
        "061": "Polinesia",
        "143": "Asia erdialdea",
        "145": "Asia mendebaldea",
        "150": "Europa",
        "151": "Europa ekialdea",
        "154": "Europa iparraldea",
        "155": "Europa mendebaldea",
        "419": "Latinoamerika",
        "AC": "Ascension Uhartea",
        "AE": "Arabiar Emirrerri Batuak",
        "AF": "Afganistan",
        "AG": "Antigua eta Barbuda",
        "AI": "Angila",
        "AN": "Holandarren Antillak",
        "AQ": "Antartika",
        "AS": "Amerikar Samoa",
        "AX": "Aland Uharteak",
        "BA": "Bosnia-Herzegovina",
        "BE": "Belgika",
        "BL": "San Bartolome",
        "BO": "Bolibia",
        "BR": "Brasil",
        "BS": "Bahamak",
        "BV": "Bouvet Uhartea",
        "BY": "Bielorrusia",
        "CA": "Kanada",
        "CC": "Cocos uharteak",
        "CD": "Kongoko Errepublika Demokratikoa",
        "CF": "Afrika Erdiko Errepublika",
        "CG": "Kongo",
        "CH": "Suitza",
        "CI": "Boli Kosta",
        "CK": "Cook uharteak",
        "CL": "Txile",
        "CM": "Kamerun",
        "CN": "Txina",
        "CO": "Kolonbia",
        "CS": "Serbia eta Montenegro",
        "CU": "Kuba",
        "CV": "Cabo Verde",
        "CX": "Christmas uhartea",
        "CY": "Zipre",
        "CZ": "Txekiar errepublika",
        "DE": "Alemania",
        "DJ": "Djibuti",
        "DK": "Danimarka",
        "DM": "Dominika",
        "DO": "Dominikar Errepublika",
        "DZ": "Aljeria",
        "EA": "Ceuta eta Melilla",
        "EC": "Ekuador",
        "EG": "Egipto",
        "EH": "Mendebaldeko Sahara",
        "ES": "Espainia",
        "ET": "Etiopia",
        "EU": "Europar Batasuna",
        "FI": "Finlandia",
        "FK": "Malvinak",
        "FM": "Mikronesia",
        "FO": "Faroe Uharteak",
        "FR": "Frantzia",
        "GB": "Erresuma Batua",
        "GF": "Guyana Frantsesa",
        "GL": "Groenlandia",
        "GN": "Ginea",
        "GP": "Guadalupe",
        "GQ": "Ekuatore Ginea",
        "GR": "Grezia",
        "GS": "Hegoaldeko Georgia eta Hegoaldeko Sandwich uharteak",
        "GW": "Ginea-Bissau",
        "HM": "Heard eta McDonald Uharteak",
        "HR": "Kroazia",
        "HU": "Hungaria",
        "IC": "Kanariak",
        "IE": "Irlanda",
        "IM": "Man uhartea",
        "IO": "Indiako Ozeanoko Britainiar Lurraldea",
        "IQ": "Irak",
        "IS": "Islandia",
        "IT": "Italia",
        "JM": "Jamaika",
        "JO": "Jordania",
        "JP": "Japonia",
        "KE": "Kenia",
        "KG": "Kirgizistan",
        "KH": "Kanbodia",
        "KM": "Komoreak",
        "KN": "Saint Kitts eta Nevis",
        "KP": "Ipar Korea",
        "KR": "Hego Korea",
        "KY": "Kaiman Uharteak",
        "LB": "Libano",
        "LC": "Santa Luzia",
        "LT": "Lituania",
        "LU": "Luxenburgo",
        "LV": "Letonia",
        "LY": "Libia",
        "MA": "Maroko",
        "MC": "Monako",
        "MD": "Moldavia",
        "MG": "Madagaskar",
        "MH": "Marshall uharteak",
        "MK": "Mazedonia",
        "MM": "Birmania",
        "MO": "Makau",
        "MP": "Iparraldeko Mariana uharteak",
        "MQ": "Martinika",
        "MU": "Maurizio",
        "MV": "Maldivak",
        "MX": "Mexiko",
        "MY": "Malasia",
        "MZ": "Mozambike",
        "NC": "Kaledonia Berria",
        "NF": "Norfolk uhartea",
        "NI": "Nikaragua",
        "NL": "Herbehereak",
        "NO": "Norvegia",
        "NZ": "Zeelanda Berria",
        "PF": "Polinesia Frantsesa",
        "PG": "Papua Ginea Berria",
        "PH": "Filipinak",
        "PL": "Polonia",
        "PM": "Saint-Pierre eta Mikelune",
        "PN": "Pitcairn uharteak",
        "PS": "Palestina",
        "PY": "Paraguai",
        "QA": "Katar",
        "QO": "Mugaz kanpoko Ozeania",
        "RE": "Reunion",
        "RO": "Errumania",
        "RU": "Errusia",
        "RW": "Ruanda",
        "SB": "Salomon uharteak",
        "SC": "Seychelleak",
        "SE": "Suedia",
        "SG": "Singapur",
        "SI": "Eslovenia",
        "SJ": "Svalbard eta Jan Mayen uharteak",
        "SK": "Eslovakia",
        "SL": "Sierra Leona",
        "SR": "Surinam",
        "ST": "Sao Tome eta Principe",
        "SY": "Siria",
        "SZ": "Swazilandia",
        "TC": "Turk eta Caicos uharteak",
        "TD": "Txad",
        "TF": "Frantziaren Lurralde Australak",
        "TH": "Tailandia",
        "TJ": "Tadjikistan",
        "TL": "Ekialdeko Timor",
        "TR": "Turkia",
        "TT": "Trinidad eta Tobago",
        "UA": "Ukraina",
        "UM": "Estatu Batuetatik urruti dauden uharte txikiak",
        "US": "Ameriketako Estatu Batuak",
        "UY": "Uruguai",
        "VA": "Vatikano Hiria",
        "VC": "Saint Vincent eta Grenadinak",
        "VG": "Birjina uharte britainiarrak",
        "VI": "Birjina uharte amerikarrak",
        "WF": "Wallis eta Futuna",
        "ZA": "Hegoafrika"
    };
  }-*/;
}
