/*
 * 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 "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"
    };
  }-*/;
}
