/*
 * Copyright 2014 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=25
//  date=$Date: 2014-03-01 06:57:43 +0100 (Sat, 01 Mar 2014) $
//  number=$Revision: 9852 $
//  type=root

/**
 * Localized names for the "hu" locale.
 */
public class LocalizedNamesImpl_hu extends LocalizedNamesImpl {

  @Override
  public String[] loadLikelyRegionCodes() {
    return new String[] {
        "HU",
    };
  }

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "Világ");
    namesMap.put("002", "Afrika");
    namesMap.put("003", "Észak-Amerika");
    namesMap.put("005", "Dél-Amerika");
    namesMap.put("009", "Óceánia");
    namesMap.put("011", "Nyugat-Afrika");
    namesMap.put("013", "Közép-Amerika");
    namesMap.put("014", "Kelet-Afrika");
    namesMap.put("015", "Észak-Afrika");
    namesMap.put("017", "Közép-Afrika");
    namesMap.put("018", "Afrika déli része");
    namesMap.put("019", "Amerika");
    namesMap.put("021", "Amerika északi része");
    namesMap.put("029", "Karib-térség");
    namesMap.put("030", "Kelet-Ázsia");
    namesMap.put("034", "Dél-Ázsia");
    namesMap.put("035", "Délkelet-Ázsia");
    namesMap.put("039", "Dél-Európa");
    namesMap.put("053", "Ausztrálázsia");
    namesMap.put("054", "Melanézia");
    namesMap.put("057", "Mikronéziai régió");
    namesMap.put("061", "Polinézia");
    namesMap.put("142", "Ázsia");
    namesMap.put("143", "Közép-Ázsia");
    namesMap.put("145", "Nyugat-Ázsia");
    namesMap.put("150", "Európa");
    namesMap.put("151", "Kelet-Európa");
    namesMap.put("154", "Észak-Európa");
    namesMap.put("155", "Nyugat-Európa");
    namesMap.put("419", "Latin-Amerika");
    namesMap.put("AC", "Ascension-sziget");
    namesMap.put("AE", "Egyesült Arab Emirátus");
    namesMap.put("AF", "Afganisztán");
    namesMap.put("AG", "Antigua és Barbuda");
    namesMap.put("AL", "Albánia");
    namesMap.put("AM", "Örményország");
    namesMap.put("AN", "Holland Antillák");
    namesMap.put("AQ", "Antarktisz");
    namesMap.put("AR", "Argentína");
    namesMap.put("AS", "Amerikai Szamoa");
    namesMap.put("AT", "Ausztria");
    namesMap.put("AU", "Ausztrália");
    namesMap.put("AX", "Åland-szigetek");
    namesMap.put("AZ", "Azerbajdzsán");
    namesMap.put("BA", "Bosznia-Hercegovina");
    namesMap.put("BD", "Banglades");
    namesMap.put("BG", "Bulgária");
    namesMap.put("BH", "Bahrein");
    namesMap.put("BO", "Bolívia");
    namesMap.put("BQ", "Holland Karib-térség");
    namesMap.put("BR", "Brazília");
    namesMap.put("BS", "Bahama-szigetek");
    namesMap.put("BT", "Bhután");
    namesMap.put("BV", "Bouvet-sziget");
    namesMap.put("BY", "Fehéroroszország");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Kókusz-szigetek");
    namesMap.put("CD", "Kongó - Kinshasa");
    namesMap.put("CF", "Közép-afrikai Köztársaság");
    namesMap.put("CG", "Kongó - Brazzaville");
    namesMap.put("CH", "Svájc");
    namesMap.put("CI", "Elefántcsontpart");
    namesMap.put("CK", "Cook-szigetek");
    namesMap.put("CM", "Kamerun");
    namesMap.put("CN", "Kína");
    namesMap.put("CO", "Kolumbia");
    namesMap.put("CP", "Clipperton-sziget");
    namesMap.put("CU", "Kuba");
    namesMap.put("CV", "Zöld-foki Köztársaság");
    namesMap.put("CX", "Karácsony-sziget");
    namesMap.put("CY", "Ciprus");
    namesMap.put("CZ", "Csehország");
    namesMap.put("DE", "Németország");
    namesMap.put("DJ", "Dzsibuti");
    namesMap.put("DK", "Dánia");
    namesMap.put("DM", "Dominika");
    namesMap.put("DO", "Dominikai Köztársaság");
    namesMap.put("DZ", "Algéria");
    namesMap.put("EA", "Ceuta és Melilla");
    namesMap.put("EE", "Észtország");
    namesMap.put("EG", "Egyiptom");
    namesMap.put("EH", "Nyugat-Szahara");
    namesMap.put("ES", "Spanyolország");
    namesMap.put("ET", "Etiópia");
    namesMap.put("EU", "Európai Unió");
    namesMap.put("FI", "Finnország");
    namesMap.put("FJ", "Fidzsi-szigetek");
    namesMap.put("FK", "Falkland-szigetek");
    namesMap.put("FM", "Mikronézia");
    namesMap.put("FO", "Feröer-szigetek");
    namesMap.put("FR", "Franciaország");
    namesMap.put("GB", "Egyesült Királyság");
    namesMap.put("GE", "Grúzia");
    namesMap.put("GF", "Francia Guyana");
    namesMap.put("GH", "Ghána");
    namesMap.put("GI", "Gibraltár");
    namesMap.put("GL", "Grönland");
    namesMap.put("GQ", "Egyenlítői-Guinea");
    namesMap.put("GR", "Görögország");
    namesMap.put("GS", "Déli-Georgia és Déli-Sandwich-szigetek");
    namesMap.put("HK", "Hongkong SAR Kína");
    namesMap.put("HM", "Heard-sziget és McDonald-szigetek");
    namesMap.put("HR", "Horvátország");
    namesMap.put("HU", "Magyarország");
    namesMap.put("IC", "Kanári-szigetek");
    namesMap.put("ID", "Indonézia");
    namesMap.put("IE", "Írország");
    namesMap.put("IL", "Izrael");
    namesMap.put("IM", "Man-sziget");
    namesMap.put("IO", "Brit Indiai-óceáni Terület");
    namesMap.put("IQ", "Irak");
    namesMap.put("IR", "Irán");
    namesMap.put("IS", "Izland");
    namesMap.put("IT", "Olaszország");
    namesMap.put("JO", "Jordánia");
    namesMap.put("JP", "Japán");
    namesMap.put("KG", "Kirgizisztán");
    namesMap.put("KH", "Kambodzsa");
    namesMap.put("KM", "Comore-szigetek");
    namesMap.put("KN", "Saint Kitts és Nevis");
    namesMap.put("KP", "Észak-Korea");
    namesMap.put("KR", "Dél-Korea");
    namesMap.put("KW", "Kuvait");
    namesMap.put("KY", "Kajmán-szigetek");
    namesMap.put("KZ", "Kazahsztán");
    namesMap.put("LA", "Laosz");
    namesMap.put("LB", "Libanon");
    namesMap.put("LC", "Santa Lucia");
    namesMap.put("LK", "Srí Lanka");
    namesMap.put("LR", "Libéria");
    namesMap.put("LT", "Litvánia");
    namesMap.put("LU", "Luxemburg");
    namesMap.put("LV", "Lettország");
    namesMap.put("LY", "Líbia");
    namesMap.put("MA", "Marokkó");
    namesMap.put("ME", "Montenegró");
    namesMap.put("MG", "Madagaszkár");
    namesMap.put("MH", "Marshall-szigetek");
    namesMap.put("MK", "Macedónia");
    namesMap.put("MM", "Mianmar (Burma)");
    namesMap.put("MN", "Mongólia");
    namesMap.put("MO", "Makaó SAR Kína");
    namesMap.put("MP", "Északi Mariana-szigetek");
    namesMap.put("MR", "Mauritánia");
    namesMap.put("MT", "Málta");
    namesMap.put("MV", "Maldív-szigetek");
    namesMap.put("MX", "Mexikó");
    namesMap.put("MY", "Malajzia");
    namesMap.put("MZ", "Mozambik");
    namesMap.put("NA", "Namíbia");
    namesMap.put("NC", "Új-Kaledónia");
    namesMap.put("NF", "Norfolk-sziget");
    namesMap.put("NG", "Nigéria");
    namesMap.put("NL", "Hollandia");
    namesMap.put("NO", "Norvégia");
    namesMap.put("NP", "Nepál");
    namesMap.put("NZ", "Új-Zéland");
    namesMap.put("OM", "Omán");
    namesMap.put("PF", "Francia Polinézia");
    namesMap.put("PG", "Pápua Új-Guinea");
    namesMap.put("PH", "Fülöp-szigetek");
    namesMap.put("PK", "Pakisztán");
    namesMap.put("PL", "Lengyelország");
    namesMap.put("PM", "Saint Pierre és Miquelon");
    namesMap.put("PN", "Pitcairn-szigetek");
    namesMap.put("PS", "Palesztin Terület");
    namesMap.put("PT", "Portugália");
    namesMap.put("QA", "Katar");
    namesMap.put("QO", "Külső-Óceánia");
    namesMap.put("RE", "Reunion");
    namesMap.put("RO", "Románia");
    namesMap.put("RS", "Szerbia");
    namesMap.put("RU", "Oroszország");
    namesMap.put("RW", "Ruanda");
    namesMap.put("SA", "Szaúd-Arábia");
    namesMap.put("SB", "Salamon-szigetek");
    namesMap.put("SC", "Seychelle-szigetek");
    namesMap.put("SD", "Szudán");
    namesMap.put("SE", "Svédország");
    namesMap.put("SG", "Szingapúr");
    namesMap.put("SH", "Szent Ilona");
    namesMap.put("SI", "Szlovénia");
    namesMap.put("SJ", "Spitzbergák és Jan Mayen-szigetek");
    namesMap.put("SK", "Szlovákia");
    namesMap.put("SN", "Szenegál");
    namesMap.put("SO", "Szomália");
    namesMap.put("SS", "Dél-Szudán");
    namesMap.put("ST", "Sao Tomé és Príncipe");
    namesMap.put("SV", "Salvador");
    namesMap.put("SY", "Szíria");
    namesMap.put("SZ", "Szváziföld");
    namesMap.put("TC", "Turks- és Caicos-szigetek");
    namesMap.put("TD", "Csád");
    namesMap.put("TF", "Francia Déli Területek");
    namesMap.put("TH", "Thaiföld");
    namesMap.put("TJ", "Tádzsikisztán");
    namesMap.put("TL", "Kelet-Timor");
    namesMap.put("TM", "Türkmenisztán");
    namesMap.put("TN", "Tunézia");
    namesMap.put("TR", "Törökország");
    namesMap.put("TT", "Trinidad és Tobago");
    namesMap.put("TW", "Tajvan");
    namesMap.put("TZ", "Tanzánia");
    namesMap.put("UA", "Ukrajna");
    namesMap.put("UM", "Amerikai Csendes-óceáni Szigetek");
    namesMap.put("US", "Egyesült Államok");
    namesMap.put("UZ", "Üzbegisztán");
    namesMap.put("VA", "Vatikán");
    namesMap.put("VC", "Saint Vincent és a Grenadine-szigetek");
    namesMap.put("VG", "Brit Virgin-szigetek");
    namesMap.put("VI", "Amerikai Virgin-szigetek");
    namesMap.put("WF", "Wallis- és Futuna-szigetek");
    namesMap.put("WS", "Szamoa");
    namesMap.put("XK", "Koszovó");
    namesMap.put("YE", "Jemen");
    namesMap.put("ZA", "Dél-afrikai Köztársaság");
    namesMap.put("ZZ", "Ismeretlen körzet");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "Világ",
        "002": "Afrika",
        "003": "Észak-Amerika",
        "005": "Dél-Amerika",
        "009": "Óceánia",
        "011": "Nyugat-Afrika",
        "013": "Közép-Amerika",
        "014": "Kelet-Afrika",
        "015": "Észak-Afrika",
        "017": "Közép-Afrika",
        "018": "Afrika déli része",
        "019": "Amerika",
        "021": "Amerika északi része",
        "029": "Karib-térség",
        "030": "Kelet-Ázsia",
        "034": "Dél-Ázsia",
        "035": "Délkelet-Ázsia",
        "039": "Dél-Európa",
        "053": "Ausztrálázsia",
        "054": "Melanézia",
        "057": "Mikronéziai régió",
        "061": "Polinézia",
        "142": "Ázsia",
        "143": "Közép-Ázsia",
        "145": "Nyugat-Ázsia",
        "150": "Európa",
        "151": "Kelet-Európa",
        "154": "Észak-Európa",
        "155": "Nyugat-Európa",
        "419": "Latin-Amerika",
        "AC": "Ascension-sziget",
        "AE": "Egyesült Arab Emirátus",
        "AF": "Afganisztán",
        "AG": "Antigua és Barbuda",
        "AL": "Albánia",
        "AM": "Örményország",
        "AN": "Holland Antillák",
        "AQ": "Antarktisz",
        "AR": "Argentína",
        "AS": "Amerikai Szamoa",
        "AT": "Ausztria",
        "AU": "Ausztrália",
        "AX": "Åland-szigetek",
        "AZ": "Azerbajdzsán",
        "BA": "Bosznia-Hercegovina",
        "BD": "Banglades",
        "BG": "Bulgária",
        "BH": "Bahrein",
        "BO": "Bolívia",
        "BQ": "Holland Karib-térség",
        "BR": "Brazília",
        "BS": "Bahama-szigetek",
        "BT": "Bhután",
        "BV": "Bouvet-sziget",
        "BY": "Fehéroroszország",
        "CA": "Kanada",
        "CC": "Kókusz-szigetek",
        "CD": "Kongó - Kinshasa",
        "CF": "Közép-afrikai Köztársaság",
        "CG": "Kongó - Brazzaville",
        "CH": "Svájc",
        "CI": "Elefántcsontpart",
        "CK": "Cook-szigetek",
        "CM": "Kamerun",
        "CN": "Kína",
        "CO": "Kolumbia",
        "CP": "Clipperton-sziget",
        "CU": "Kuba",
        "CV": "Zöld-foki Köztársaság",
        "CX": "Karácsony-sziget",
        "CY": "Ciprus",
        "CZ": "Csehország",
        "DE": "Németország",
        "DJ": "Dzsibuti",
        "DK": "Dánia",
        "DM": "Dominika",
        "DO": "Dominikai Köztársaság",
        "DZ": "Algéria",
        "EA": "Ceuta és Melilla",
        "EE": "Észtország",
        "EG": "Egyiptom",
        "EH": "Nyugat-Szahara",
        "ES": "Spanyolország",
        "ET": "Etiópia",
        "EU": "Európai Unió",
        "FI": "Finnország",
        "FJ": "Fidzsi-szigetek",
        "FK": "Falkland-szigetek",
        "FM": "Mikronézia",
        "FO": "Feröer-szigetek",
        "FR": "Franciaország",
        "GB": "Egyesült Királyság",
        "GE": "Grúzia",
        "GF": "Francia Guyana",
        "GH": "Ghána",
        "GI": "Gibraltár",
        "GL": "Grönland",
        "GQ": "Egyenlítői-Guinea",
        "GR": "Görögország",
        "GS": "Déli-Georgia és Déli-Sandwich-szigetek",
        "HK": "Hongkong SAR Kína",
        "HM": "Heard-sziget és McDonald-szigetek",
        "HR": "Horvátország",
        "HU": "Magyarország",
        "IC": "Kanári-szigetek",
        "ID": "Indonézia",
        "IE": "Írország",
        "IL": "Izrael",
        "IM": "Man-sziget",
        "IO": "Brit Indiai-óceáni Terület",
        "IQ": "Irak",
        "IR": "Irán",
        "IS": "Izland",
        "IT": "Olaszország",
        "JO": "Jordánia",
        "JP": "Japán",
        "KG": "Kirgizisztán",
        "KH": "Kambodzsa",
        "KM": "Comore-szigetek",
        "KN": "Saint Kitts és Nevis",
        "KP": "Észak-Korea",
        "KR": "Dél-Korea",
        "KW": "Kuvait",
        "KY": "Kajmán-szigetek",
        "KZ": "Kazahsztán",
        "LA": "Laosz",
        "LB": "Libanon",
        "LC": "Santa Lucia",
        "LK": "Srí Lanka",
        "LR": "Libéria",
        "LT": "Litvánia",
        "LU": "Luxemburg",
        "LV": "Lettország",
        "LY": "Líbia",
        "MA": "Marokkó",
        "ME": "Montenegró",
        "MG": "Madagaszkár",
        "MH": "Marshall-szigetek",
        "MK": "Macedónia",
        "MM": "Mianmar (Burma)",
        "MN": "Mongólia",
        "MO": "Makaó SAR Kína",
        "MP": "Északi Mariana-szigetek",
        "MR": "Mauritánia",
        "MT": "Málta",
        "MV": "Maldív-szigetek",
        "MX": "Mexikó",
        "MY": "Malajzia",
        "MZ": "Mozambik",
        "NA": "Namíbia",
        "NC": "Új-Kaledónia",
        "NF": "Norfolk-sziget",
        "NG": "Nigéria",
        "NL": "Hollandia",
        "NO": "Norvégia",
        "NP": "Nepál",
        "NZ": "Új-Zéland",
        "OM": "Omán",
        "PF": "Francia Polinézia",
        "PG": "Pápua Új-Guinea",
        "PH": "Fülöp-szigetek",
        "PK": "Pakisztán",
        "PL": "Lengyelország",
        "PM": "Saint Pierre és Miquelon",
        "PN": "Pitcairn-szigetek",
        "PS": "Palesztin Terület",
        "PT": "Portugália",
        "QA": "Katar",
        "QO": "Külső-Óceánia",
        "RE": "Reunion",
        "RO": "Románia",
        "RS": "Szerbia",
        "RU": "Oroszország",
        "RW": "Ruanda",
        "SA": "Szaúd-Arábia",
        "SB": "Salamon-szigetek",
        "SC": "Seychelle-szigetek",
        "SD": "Szudán",
        "SE": "Svédország",
        "SG": "Szingapúr",
        "SH": "Szent Ilona",
        "SI": "Szlovénia",
        "SJ": "Spitzbergák és Jan Mayen-szigetek",
        "SK": "Szlovákia",
        "SN": "Szenegál",
        "SO": "Szomália",
        "SS": "Dél-Szudán",
        "ST": "Sao Tomé és Príncipe",
        "SV": "Salvador",
        "SY": "Szíria",
        "SZ": "Szváziföld",
        "TC": "Turks- és Caicos-szigetek",
        "TD": "Csád",
        "TF": "Francia Déli Területek",
        "TH": "Thaiföld",
        "TJ": "Tádzsikisztán",
        "TL": "Kelet-Timor",
        "TM": "Türkmenisztán",
        "TN": "Tunézia",
        "TR": "Törökország",
        "TT": "Trinidad és Tobago",
        "TW": "Tajvan",
        "TZ": "Tanzánia",
        "UA": "Ukrajna",
        "UM": "Amerikai Csendes-óceáni Szigetek",
        "US": "Egyesült Államok",
        "UZ": "Üzbegisztán",
        "VA": "Vatikán",
        "VC": "Saint Vincent és a Grenadine-szigetek",
        "VG": "Brit Virgin-szigetek",
        "VI": "Amerikai Virgin-szigetek",
        "WF": "Wallis- és Futuna-szigetek",
        "WS": "Szamoa",
        "XK": "Koszovó",
        "YE": "Jemen",
        "ZA": "Dél-afrikai Köztársaság",
        "ZZ": "Ismeretlen körzet"
    };
  }-*/;
}
