/*
 * 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: 2013-08-26 05:28:21 +0200 (Mon, 26 Aug 2013) $
//  number=$Revision: 9275 $
//  type=wae

/**
 * Localized names for the "wae" locale.
 */
public class LocalizedNamesImpl_wae extends LocalizedNamesImpl {

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "Wäld");
    namesMap.put("002", "Afrika");
    namesMap.put("003", "Nordamerika");
    namesMap.put("005", "Südamerika");
    namesMap.put("009", "Ozeanie");
    namesMap.put("011", "Weštafrika");
    namesMap.put("013", "Zentralamerika");
    namesMap.put("014", "Oštafrika");
    namesMap.put("015", "Nordafrika");
    namesMap.put("017", "Mittelafrika");
    namesMap.put("018", "Südličs Afrika");
    namesMap.put("019", "Amerikaniš Kontinänt");
    namesMap.put("021", "Nördličs Amerika");
    namesMap.put("029", "Karibik");
    namesMap.put("030", "Oštasie");
    namesMap.put("034", "Südasie");
    namesMap.put("035", "Südoštasie");
    namesMap.put("039", "Südeuropa");
    namesMap.put("053", "Auštralie und Niwséland");
    namesMap.put("054", "Melanesie");
    namesMap.put("057", "Mikronesišes Inselgebiet");
    namesMap.put("061", "Polinesie");
    namesMap.put("142", "Asie");
    namesMap.put("143", "Zentralasie");
    namesMap.put("145", "Weštasie");
    namesMap.put("150", "Europa");
    namesMap.put("151", "Ošteuropa");
    namesMap.put("154", "Nordeuropa");
    namesMap.put("155", "Wešteuropa");
    namesMap.put("419", "Latíamerika");
    namesMap.put("AC", "Himmelfártsinsla");
    namesMap.put("AE", "Vereinigti Arabiše Emirat");
    namesMap.put("AF", "Afganištan");
    namesMap.put("AG", "Antigua und Barbuda");
    namesMap.put("AL", "Albanie");
    namesMap.put("AM", "Armenie");
    namesMap.put("AN", "Holändiši Antillä");
    namesMap.put("AQ", "Antarktis");
    namesMap.put("AR", "Argentinie");
    namesMap.put("AS", "Amerikaniš Samoa");
    namesMap.put("AT", "Öštrič");
    namesMap.put("AU", "Australie");
    namesMap.put("AX", "Alandinslä");
    namesMap.put("AZ", "Aserbaidšan");
    namesMap.put("BA", "Bosnie und Herzegovina");
    namesMap.put("BD", "Bangladeš");
    namesMap.put("BE", "Belgie");
    namesMap.put("BG", "Bulgarie");
    namesMap.put("BH", "Bačrain");
    namesMap.put("BL", "St. Bartholomäus-Insla");
    namesMap.put("BO", "Boliwie");
    namesMap.put("BR", "Brasilie");
    namesMap.put("BV", "Bouvetinsla");
    namesMap.put("BY", "Wísrussland");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Kokosinslä");
    namesMap.put("CD", "Kongo-Kinshasa");
    namesMap.put("CF", "Zentralafrikaniši Rebublik");
    namesMap.put("CG", "Kongo Brazzaville");
    namesMap.put("CH", "Schwiz");
    namesMap.put("CI", "Elfebeiküšta");
    namesMap.put("CK", "Cookinslä");
    namesMap.put("CL", "Tšile");
    namesMap.put("CM", "Kamerun");
    namesMap.put("CO", "Kolumbie");
    namesMap.put("CP", "Clipperton Insla");
    namesMap.put("CU", "Kuba");
    namesMap.put("CV", "Kap Verde");
    namesMap.put("CX", "Wienäčtsinslä");
    namesMap.put("CY", "Zypre");
    namesMap.put("CZ", "Tšečie");
    namesMap.put("DE", "Titšland");
    namesMap.put("DJ", "Dšibuti");
    namesMap.put("DK", "Dänemark");
    namesMap.put("DM", "Doninica");
    namesMap.put("DO", "Dominikaniši Rebublik");
    namesMap.put("DZ", "Algerie");
    namesMap.put("EA", "Ceuta und Melilla");
    namesMap.put("EE", "Eštland");
    namesMap.put("EG", "Egypte");
    namesMap.put("EH", "Weštsahara");
    namesMap.put("ES", "Schpanie");
    namesMap.put("ET", "Ethiopie");
    namesMap.put("EU", "Europäiši Unio");
    namesMap.put("FI", "Finnland");
    namesMap.put("FJ", "Fidši");
    namesMap.put("FK", "Falklandinslä");
    namesMap.put("FM", "Mikronesie");
    namesMap.put("FO", "Färöe");
    namesMap.put("FR", "Frankrič");
    namesMap.put("GB", "England");
    namesMap.put("GE", "Georgie");
    namesMap.put("GF", "Französiš Guiana");
    namesMap.put("GH", "Gana");
    namesMap.put("GL", "Grönland");
    namesMap.put("GN", "Ginea");
    namesMap.put("GQ", "Equatorialginea");
    namesMap.put("GR", "Gričeland");
    namesMap.put("GS", "Südgeorgie und d'südliče Senwičinslä");
    namesMap.put("GW", "Ginea Bissau");
    namesMap.put("HK", "Sonderverwaltigszona Hongkong");
    namesMap.put("HM", "Heard- und McDonald-Inslä");
    namesMap.put("HR", "Kroatie");
    namesMap.put("HU", "Ungare");
    namesMap.put("IC", "Kanariše Inslä");
    namesMap.put("ID", "Indonesie");
    namesMap.put("IE", "Irland");
    namesMap.put("IN", "Indie");
    namesMap.put("IO", "Britišes Territorium em indiše Ozean");
    namesMap.put("IQ", "Irak");
    namesMap.put("IS", "Island");
    namesMap.put("IT", "Italie");
    namesMap.put("JM", "Jamaika");
    namesMap.put("JO", "Jordanie");
    namesMap.put("KG", "Kirgištan");
    namesMap.put("KH", "Kambodša");
    namesMap.put("KM", "Komore");
    namesMap.put("KN", "St. Kitts und Nevis");
    namesMap.put("KP", "Nordkorea");
    namesMap.put("KR", "Südkorea");
    namesMap.put("KW", "Kuweit");
    namesMap.put("KY", "Kaimaninslä");
    namesMap.put("KZ", "Kasačstan");
    namesMap.put("LB", "Libanon");
    namesMap.put("LC", "St. Lucia");
    namesMap.put("LI", "Liečteštei");
    namesMap.put("LT", "Litaue");
    namesMap.put("LU", "Luxeburg");
    namesMap.put("LV", "Lettland");
    namesMap.put("LY", "Lübie");
    namesMap.put("MA", "Maroko");
    namesMap.put("MC", "Monago");
    namesMap.put("MD", "Moldau");
    namesMap.put("MF", "St. Martin");
    namesMap.put("MG", "Madagaskar");
    namesMap.put("MH", "Maršalinslä");
    namesMap.put("MK", "Mazedonie");
    namesMap.put("MM", "Burma");
    namesMap.put("MN", "Mongolei");
    namesMap.put("MO", "Sonderverwaltigszona Makau");
    namesMap.put("MP", "Nördliči Mariane");
    namesMap.put("MR", "Mauretanie");
    namesMap.put("MS", "Monserrat");
    namesMap.put("MV", "Malediwe");
    namesMap.put("MX", "Mexiko");
    namesMap.put("MZ", "Mosambik");
    namesMap.put("NC", "Niwkaledonie");
    namesMap.put("NF", "Norfolkinsla");
    namesMap.put("NL", "Holand");
    namesMap.put("NO", "Norwäge");
    namesMap.put("NZ", "Niwséland");
    namesMap.put("PF", "Französiš Polinesie");
    namesMap.put("PG", "Papua Niwginea");
    namesMap.put("PH", "Philippine");
    namesMap.put("PK", "Pakištan");
    namesMap.put("PL", "Pole");
    namesMap.put("PM", "St. Pierre und Miquelon");
    namesMap.put("PN", "Pitcairn");
    namesMap.put("PS", "Paleština");
    namesMap.put("PY", "Paraguai");
    namesMap.put("QA", "Katar");
    namesMap.put("QO", "Üssers Ozeanie");
    namesMap.put("RO", "Rumänie");
    namesMap.put("RS", "Serbie");
    namesMap.put("RU", "Russland");
    namesMap.put("RW", "Ruanda");
    namesMap.put("SA", "Saudi Arabie");
    namesMap.put("SB", "Salomone");
    namesMap.put("SC", "Sečelle");
    namesMap.put("SE", "Schwede");
    namesMap.put("SG", "Singapur");
    namesMap.put("SH", "St. Helena");
    namesMap.put("SI", "Slowenie");
    namesMap.put("SJ", "Svalbard und Jan Mayen");
    namesMap.put("SK", "Slowakei");
    namesMap.put("SY", "Sürie");
    namesMap.put("SZ", "Swasiland");
    namesMap.put("TC", "Turks- und Caicosinslä");
    namesMap.put("TD", "Tšad");
    namesMap.put("TF", "Französiši Süd- und Antarktisgebiet");
    namesMap.put("TJ", "Tadšikistan");
    namesMap.put("TL", "Ošttimor");
    namesMap.put("TM", "Turkmeništan");
    namesMap.put("TN", "Tunesie");
    namesMap.put("TR", "Türkei");
    namesMap.put("TT", "Trinidad und Tobago");
    namesMap.put("TZ", "Tansania");
    namesMap.put("UM", "Amerikaniš Ozeanie");
    namesMap.put("US", "Amerika");
    namesMap.put("UY", "Urugauy");
    namesMap.put("UZ", "Usbekištan");
    namesMap.put("VA", "Vatikan");
    namesMap.put("VC", "St. Vincent und d'Grenadine");
    namesMap.put("VG", "Britiši Jungfröiwinslä");
    namesMap.put("VI", "Amerikaniši Jungfröiwinslä");
    namesMap.put("WF", "Wallis und Futuna");
    namesMap.put("YE", "Jéme");
    namesMap.put("YT", "Moyette");
    namesMap.put("ZA", "Südafrika");
    namesMap.put("ZM", "Sambia");
    namesMap.put("ZW", "Simbabwe");
    namesMap.put("ZZ", "Unbekannti Regio");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "Wäld",
        "002": "Afrika",
        "003": "Nordamerika",
        "005": "Südamerika",
        "009": "Ozeanie",
        "011": "Weštafrika",
        "013": "Zentralamerika",
        "014": "Oštafrika",
        "015": "Nordafrika",
        "017": "Mittelafrika",
        "018": "Südličs Afrika",
        "019": "Amerikaniš Kontinänt",
        "021": "Nördličs Amerika",
        "029": "Karibik",
        "030": "Oštasie",
        "034": "Südasie",
        "035": "Südoštasie",
        "039": "Südeuropa",
        "053": "Auštralie und Niwséland",
        "054": "Melanesie",
        "057": "Mikronesišes Inselgebiet",
        "061": "Polinesie",
        "142": "Asie",
        "143": "Zentralasie",
        "145": "Weštasie",
        "150": "Europa",
        "151": "Ošteuropa",
        "154": "Nordeuropa",
        "155": "Wešteuropa",
        "419": "Latíamerika",
        "AC": "Himmelfártsinsla",
        "AE": "Vereinigti Arabiše Emirat",
        "AF": "Afganištan",
        "AG": "Antigua und Barbuda",
        "AL": "Albanie",
        "AM": "Armenie",
        "AN": "Holändiši Antillä",
        "AQ": "Antarktis",
        "AR": "Argentinie",
        "AS": "Amerikaniš Samoa",
        "AT": "Öštrič",
        "AU": "Australie",
        "AX": "Alandinslä",
        "AZ": "Aserbaidšan",
        "BA": "Bosnie und Herzegovina",
        "BD": "Bangladeš",
        "BE": "Belgie",
        "BG": "Bulgarie",
        "BH": "Bačrain",
        "BL": "St. Bartholomäus-Insla",
        "BO": "Boliwie",
        "BR": "Brasilie",
        "BV": "Bouvetinsla",
        "BY": "Wísrussland",
        "CA": "Kanada",
        "CC": "Kokosinslä",
        "CD": "Kongo-Kinshasa",
        "CF": "Zentralafrikaniši Rebublik",
        "CG": "Kongo Brazzaville",
        "CH": "Schwiz",
        "CI": "Elfebeiküšta",
        "CK": "Cookinslä",
        "CL": "Tšile",
        "CM": "Kamerun",
        "CO": "Kolumbie",
        "CP": "Clipperton Insla",
        "CU": "Kuba",
        "CV": "Kap Verde",
        "CX": "Wienäčtsinslä",
        "CY": "Zypre",
        "CZ": "Tšečie",
        "DE": "Titšland",
        "DJ": "Dšibuti",
        "DK": "Dänemark",
        "DM": "Doninica",
        "DO": "Dominikaniši Rebublik",
        "DZ": "Algerie",
        "EA": "Ceuta und Melilla",
        "EE": "Eštland",
        "EG": "Egypte",
        "EH": "Weštsahara",
        "ES": "Schpanie",
        "ET": "Ethiopie",
        "EU": "Europäiši Unio",
        "FI": "Finnland",
        "FJ": "Fidši",
        "FK": "Falklandinslä",
        "FM": "Mikronesie",
        "FO": "Färöe",
        "FR": "Frankrič",
        "GB": "England",
        "GE": "Georgie",
        "GF": "Französiš Guiana",
        "GH": "Gana",
        "GL": "Grönland",
        "GN": "Ginea",
        "GQ": "Equatorialginea",
        "GR": "Gričeland",
        "GS": "Südgeorgie und d'südliče Senwičinslä",
        "GW": "Ginea Bissau",
        "HK": "Sonderverwaltigszona Hongkong",
        "HM": "Heard- und McDonald-Inslä",
        "HR": "Kroatie",
        "HU": "Ungare",
        "IC": "Kanariše Inslä",
        "ID": "Indonesie",
        "IE": "Irland",
        "IN": "Indie",
        "IO": "Britišes Territorium em indiše Ozean",
        "IQ": "Irak",
        "IS": "Island",
        "IT": "Italie",
        "JM": "Jamaika",
        "JO": "Jordanie",
        "KG": "Kirgištan",
        "KH": "Kambodša",
        "KM": "Komore",
        "KN": "St. Kitts und Nevis",
        "KP": "Nordkorea",
        "KR": "Südkorea",
        "KW": "Kuweit",
        "KY": "Kaimaninslä",
        "KZ": "Kasačstan",
        "LB": "Libanon",
        "LC": "St. Lucia",
        "LI": "Liečteštei",
        "LT": "Litaue",
        "LU": "Luxeburg",
        "LV": "Lettland",
        "LY": "Lübie",
        "MA": "Maroko",
        "MC": "Monago",
        "MD": "Moldau",
        "MF": "St. Martin",
        "MG": "Madagaskar",
        "MH": "Maršalinslä",
        "MK": "Mazedonie",
        "MM": "Burma",
        "MN": "Mongolei",
        "MO": "Sonderverwaltigszona Makau",
        "MP": "Nördliči Mariane",
        "MR": "Mauretanie",
        "MS": "Monserrat",
        "MV": "Malediwe",
        "MX": "Mexiko",
        "MZ": "Mosambik",
        "NC": "Niwkaledonie",
        "NF": "Norfolkinsla",
        "NL": "Holand",
        "NO": "Norwäge",
        "NZ": "Niwséland",
        "PF": "Französiš Polinesie",
        "PG": "Papua Niwginea",
        "PH": "Philippine",
        "PK": "Pakištan",
        "PL": "Pole",
        "PM": "St. Pierre und Miquelon",
        "PN": "Pitcairn",
        "PS": "Paleština",
        "PY": "Paraguai",
        "QA": "Katar",
        "QO": "Üssers Ozeanie",
        "RO": "Rumänie",
        "RS": "Serbie",
        "RU": "Russland",
        "RW": "Ruanda",
        "SA": "Saudi Arabie",
        "SB": "Salomone",
        "SC": "Sečelle",
        "SE": "Schwede",
        "SG": "Singapur",
        "SH": "St. Helena",
        "SI": "Slowenie",
        "SJ": "Svalbard und Jan Mayen",
        "SK": "Slowakei",
        "SY": "Sürie",
        "SZ": "Swasiland",
        "TC": "Turks- und Caicosinslä",
        "TD": "Tšad",
        "TF": "Französiši Süd- und Antarktisgebiet",
        "TJ": "Tadšikistan",
        "TL": "Ošttimor",
        "TM": "Turkmeništan",
        "TN": "Tunesie",
        "TR": "Türkei",
        "TT": "Trinidad und Tobago",
        "TZ": "Tansania",
        "UM": "Amerikaniš Ozeanie",
        "US": "Amerika",
        "UY": "Urugauy",
        "UZ": "Usbekištan",
        "VA": "Vatikan",
        "VC": "St. Vincent und d'Grenadine",
        "VG": "Britiši Jungfröiwinslä",
        "VI": "Amerikaniši Jungfröiwinslä",
        "WF": "Wallis und Futuna",
        "YE": "Jéme",
        "YT": "Moyette",
        "ZA": "Südafrika",
        "ZM": "Sambia",
        "ZW": "Simbabwe",
        "ZZ": "Unbekannti Regio"
    };
  }-*/;
}
