/*
 * 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 "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",
        "AS",
        "VI",
        "AD",
        "AO",
        "AI",
        "AQ",
        "AG",
        "AR",
        "AW",
        "AC",
        "AU",
        "AT",
        "AZ",
        "UM",
        "BS",
        "BH",
        "BD",
        "BB",
        "BY",
        "BE",
        "BZ",
        "BJ",
        "BM",
        "BT",
        "GW",
        "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",
        "UN",
        "EG",
        "CI",
        "ER",
        "MP",
        "KP",
        "EE",
        "ET",
        "EU",
        "EZ",
        "FK",
        "FO",
        "FJ",
        "FI",
        "TF",
        "GF",
        "FR",
        "PF",
        "PH",
        "GA",
        "GM",
        "GH",
        "GI",
        "GR",
        "GD",
        "GL",
        "GE",
        "GP",
        "GU",
        "GT",
        "GG",
        "GN",
        "GY",
        "HT",
        "HM",
        "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",
        "LC",
        "MF",
        "PM",
        "VC",
        "SB",
        "SV",
        "SM",
        "ST",
        "SC",
        "SL",
        "SX",
        "ES",
        "LK",
        "SR",
        "CH",
        "SJ",
        "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 Emírségek");
    namesMap.put("AF", "Afganisztán");
    namesMap.put("AG", "Antigua és Barbuda");
    namesMap.put("AL", "Albánia");
    namesMap.put("AM", "Örményország");
    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("BL", "Saint-Barthélemy");
    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", "Belarusz");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Kókusz (Keeling)-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("EZ", "Eurózóna");
    namesMap.put("FI", "Finnország");
    namesMap.put("FJ", "Fidzsi");
    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("GW", "Bissau-Guinea");
    namesMap.put("HK", "Hongkong KKT");
    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", "Saint 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("MF", "Saint Martin");
    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ó KKT");
    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("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", "Svalbard és Jan Mayen");
    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", "São 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", "Az USA lakatlan külbirtokai");
    namesMap.put("UN", "Egyesült Nemzetek Szervezete");
    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");
    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 Emírségek",
        "AF": "Afganisztán",
        "AG": "Antigua és Barbuda",
        "AL": "Albánia",
        "AM": "Örményország",
        "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",
        "BL": "Saint-Barthélemy",
        "BO": "Bolívia",
        "BQ": "Holland Karib-térség",
        "BR": "Brazília",
        "BS": "Bahama-szigetek",
        "BT": "Bhután",
        "BV": "Bouvet-sziget",
        "BY": "Belarusz",
        "CA": "Kanada",
        "CC": "Kókusz (Keeling)-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ó",
        "EZ": "Eurózóna",
        "FI": "Finnország",
        "FJ": "Fidzsi",
        "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",
        "GW": "Bissau-Guinea",
        "HK": "Hongkong KKT",
        "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": "Saint Lucia",
        "LK": "Srí Lanka",
        "LR": "Libéria",
        "LT": "Litvánia",
        "LU": "Luxemburg",
        "LV": "Lettország",
        "LY": "Líbia",
        "MA": "Marokkó",
        "ME": "Montenegró",
        "MF": "Saint Martin",
        "MG": "Madagaszkár",
        "MH": "Marshall-szigetek",
        "MK": "Macedónia",
        "MM": "Mianmar (Burma)",
        "MN": "Mongólia",
        "MO": "Makaó KKT",
        "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",
        "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": "Svalbard és Jan Mayen",
        "SK": "Szlovákia",
        "SN": "Szenegál",
        "SO": "Szomália",
        "SS": "Dél-Szudán",
        "ST": "São 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": "Az USA lakatlan külbirtokai",
        "UN": "Egyesült Nemzetek Szervezete",
        "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",
        "WS": "Szamoa",
        "XK": "Koszovó",
        "YE": "Jemen",
        "ZA": "Dél-afrikai Köztársaság",
        "ZZ": "Ismeretlen körzet"
    };
  }-*/;
}
