/*
 * 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 "nds" locale.
 */
public class LocalizedNamesImpl_nds extends LocalizedNamesImpl {

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

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "Welt");
    namesMap.put("002", "Afrika");
    namesMap.put("003", "Noordamerika");
    namesMap.put("005", "Süüdamerika");
    namesMap.put("009", "Ozeanien");
    namesMap.put("011", "Westafrika");
    namesMap.put("013", "Middelamerika");
    namesMap.put("014", "Oostafrika");
    namesMap.put("015", "Noordafrika");
    namesMap.put("017", "Zentralafrika");
    namesMap.put("018", "Süüdlich Afrika");
    namesMap.put("019", "Amerika");
    namesMap.put("029", "Karibik");
    namesMap.put("030", "Oostasien");
    namesMap.put("034", "Süüdasien");
    namesMap.put("035", "Süüdoostasien");
    namesMap.put("039", "Süüdeuropa");
    namesMap.put("053", "Australien un Neeseeland");
    namesMap.put("054", "Melanesien");
    namesMap.put("061", "Polynesien");
    namesMap.put("142", "Asien");
    namesMap.put("143", "Zentralasien");
    namesMap.put("145", "Westasien");
    namesMap.put("150", "Europa");
    namesMap.put("151", "Oosteuropa");
    namesMap.put("154", "Noordeuropa");
    namesMap.put("155", "Westeuropa");
    namesMap.put("419", "Latienamerika");
    namesMap.put("AE", "Vereenigte Araabsche Emiraten");
    namesMap.put("AG", "Antigua un Barbuda");
    namesMap.put("AL", "Albanien");
    namesMap.put("AM", "Armenien");
    namesMap.put("AQ", "Antarktis");
    namesMap.put("AR", "Argentinien");
    namesMap.put("AS", "Amerikaansch-Samoa");
    namesMap.put("AT", "Öösterriek");
    namesMap.put("AU", "Australien");
    namesMap.put("AX", "Ålandeilannen");
    namesMap.put("AZ", "Aserbaidschan");
    namesMap.put("BA", "Bosnien un Herzegowina");
    namesMap.put("BD", "Bangladesch");
    namesMap.put("BE", "Belgien");
    namesMap.put("BG", "Bulgarien");
    namesMap.put("BL", "Saint Barthélemy");
    namesMap.put("BN", "Brunei Darussalam");
    namesMap.put("BO", "Bolivien");
    namesMap.put("BR", "Brasilien");
    namesMap.put("BV", "Bouvet-Eiland");
    namesMap.put("BY", "Wittrussland");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Kokos-Eilannen");
    namesMap.put("CD", "Demokraatsche Republik Kongo");
    namesMap.put("CF", "Zentralafrikaansche Republik");
    namesMap.put("CG", "Republik Kongo");
    namesMap.put("CH", "Swiez");
    namesMap.put("CI", "Elfenbeenküst");
    namesMap.put("CK", "Cook-Eilannen");
    namesMap.put("CM", "Kamerun");
    namesMap.put("CO", "Kolumbien");
    namesMap.put("CU", "Kuba");
    namesMap.put("CV", "Kap Verde");
    namesMap.put("CX", "Wiehnachtseiland");
    namesMap.put("CY", "Zypern");
    namesMap.put("CZ", "Tschechien");
    namesMap.put("DE", "Düütschland");
    namesMap.put("DJ", "Dschibuti");
    namesMap.put("DK", "Däänmark");
    namesMap.put("DO", "Dominikaansche Republik");
    namesMap.put("DZ", "Algerien");
    namesMap.put("EE", "Eestland");
    namesMap.put("EG", "Ägypten");
    namesMap.put("EH", "Westsahara");
    namesMap.put("ES", "Spanien");
    namesMap.put("ET", "Äthiopien");
    namesMap.put("EU", "Europääsche Union");
    namesMap.put("FI", "Finnland");
    namesMap.put("FJ", "Fidschi");
    namesMap.put("FK", "Falkland-Eilannen");
    namesMap.put("FM", "Mikronesien");
    namesMap.put("FO", "Färöer");
    namesMap.put("FR", "Frankriek");
    namesMap.put("GA", "Gabun");
    namesMap.put("GB", "Grootbritannien");
    namesMap.put("GE", "Georgien");
    namesMap.put("GF", "Franzöösch-Guayana");
    namesMap.put("GL", "Gröönland");
    namesMap.put("GQ", "Äquatorialguinea");
    namesMap.put("GR", "Grekenland");
    namesMap.put("GS", "Süüdgeorgien un de Südlichen Sandwich-Eilannen");
    namesMap.put("HK", "Sünnerverwaltensrebeet Hongkong");
    namesMap.put("HM", "Heard- un McDonald-Eilannen");
    namesMap.put("HR", "Kroatien");
    namesMap.put("HU", "Ungarn");
    namesMap.put("ID", "Indonesien");
    namesMap.put("IE", "Irland");
    namesMap.put("IM", "Insel Man");
    namesMap.put("IN", "Indien");
    namesMap.put("IO", "Britisch Rebeed in’n Indischen Ozean");
    namesMap.put("IQ", "Irak");
    namesMap.put("IS", "Iesland");
    namesMap.put("IT", "Italien");
    namesMap.put("JM", "Jamaika");
    namesMap.put("JO", "Jordanien");
    namesMap.put("KE", "Kenia");
    namesMap.put("KG", "Kirgisistan");
    namesMap.put("KH", "Kambodscha");
    namesMap.put("KM", "Komoren");
    namesMap.put("KN", "St. Kitts un Nevis");
    namesMap.put("KP", "Noordkorea");
    namesMap.put("KR", "Söödkorea");
    namesMap.put("KY", "Kaiman-Eilannen");
    namesMap.put("KZ", "Kasachstan");
    namesMap.put("LB", "Libanon");
    namesMap.put("LI", "Liechtensteen");
    namesMap.put("LT", "Litauen");
    namesMap.put("LU", "Luxemborg");
    namesMap.put("LV", "Lettland");
    namesMap.put("LY", "Libyen");
    namesMap.put("MA", "Marokko");
    namesMap.put("MD", "Moldawien");
    namesMap.put("MF", "Saint Martin");
    namesMap.put("MG", "Madagaskar");
    namesMap.put("MH", "Marshall-Eilannen");
    namesMap.put("MK", "Makedonien");
    namesMap.put("MM", "Birma");
    namesMap.put("MN", "Mongolei");
    namesMap.put("MO", "Sünnerverwaltensrebeed Macao");
    namesMap.put("MP", "Nöördliche Marianen");
    namesMap.put("MR", "Mauretanien");
    namesMap.put("MV", "Malediven");
    namesMap.put("MX", "Mexiko");
    namesMap.put("MZ", "Mosambik");
    namesMap.put("NC", "Neekaledonien");
    namesMap.put("NF", "Norfolk");
    namesMap.put("NI", "Nikaragua");
    namesMap.put("NL", "Nedderlannen");
    namesMap.put("NO", "Norwegen");
    namesMap.put("NZ", "Neeseeland");
    namesMap.put("PF", "Franzöösch-Polynesien");
    namesMap.put("PG", "Papua-Neeguinea");
    namesMap.put("PH", "Philippinen");
    namesMap.put("PL", "Polen");
    namesMap.put("PM", "St. Pierre un Miquelon");
    namesMap.put("PN", "Pitcairn");
    namesMap.put("PS", "Palästinensische Rebeden");
    namesMap.put("QA", "Katar");
    namesMap.put("QO", "Büter Ozeanien");
    namesMap.put("RE", "Reunion");
    namesMap.put("RO", "Rumänien");
    namesMap.put("RS", "Serbien");
    namesMap.put("RU", "Russland");
    namesMap.put("RW", "Ruanda");
    namesMap.put("SA", "Saudi-Arabien");
    namesMap.put("SB", "Salomonen");
    namesMap.put("SC", "Seychellen");
    namesMap.put("SG", "Singapur");
    namesMap.put("SI", "Slowenien");
    namesMap.put("SJ", "Svalbard un Jan Mayen");
    namesMap.put("SK", "Slowakei");
    namesMap.put("SR", "Surinam");
    namesMap.put("ST", "São Tomé un Príncipe");
    namesMap.put("SY", "Syrien");
    namesMap.put("SZ", "Swasiland");
    namesMap.put("TC", "Turks- un Caicosinseln");
    namesMap.put("TD", "Tschad");
    namesMap.put("TF", "Franzöösche Süüd- un Antarktisrebeden");
    namesMap.put("TJ", "Tadschikistan");
    namesMap.put("TL", "Oosttimor");
    namesMap.put("TN", "Tunesien");
    namesMap.put("TR", "Törkei");
    namesMap.put("TT", "Trinidad un Tobago");
    namesMap.put("TZ", "Tansania");
    namesMap.put("UM", "Amerikaansch-Ozeanien");
    namesMap.put("US", "USA");
    namesMap.put("UZ", "Usbekistan");
    namesMap.put("VA", "Vatikan");
    namesMap.put("VC", "St. Vincent un de Grenadinen");
    namesMap.put("VG", "Brietsche Jumfern-Eilannen");
    namesMap.put("VI", "Amerikaansche Jumfern-Eilannen");
    namesMap.put("WF", "Wallis un Futuna");
    namesMap.put("YE", "Jemen");
    namesMap.put("ZA", "Söödafrika");
    namesMap.put("ZM", "Sambia");
    namesMap.put("ZW", "Simbabwe");
    namesMap.put("ZZ", "Nich begäng Regioon");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "Welt",
        "002": "Afrika",
        "003": "Noordamerika",
        "005": "Süüdamerika",
        "009": "Ozeanien",
        "011": "Westafrika",
        "013": "Middelamerika",
        "014": "Oostafrika",
        "015": "Noordafrika",
        "017": "Zentralafrika",
        "018": "Süüdlich Afrika",
        "019": "Amerika",
        "029": "Karibik",
        "030": "Oostasien",
        "034": "Süüdasien",
        "035": "Süüdoostasien",
        "039": "Süüdeuropa",
        "053": "Australien un Neeseeland",
        "054": "Melanesien",
        "061": "Polynesien",
        "142": "Asien",
        "143": "Zentralasien",
        "145": "Westasien",
        "150": "Europa",
        "151": "Oosteuropa",
        "154": "Noordeuropa",
        "155": "Westeuropa",
        "419": "Latienamerika",
        "AE": "Vereenigte Araabsche Emiraten",
        "AG": "Antigua un Barbuda",
        "AL": "Albanien",
        "AM": "Armenien",
        "AQ": "Antarktis",
        "AR": "Argentinien",
        "AS": "Amerikaansch-Samoa",
        "AT": "Öösterriek",
        "AU": "Australien",
        "AX": "Ålandeilannen",
        "AZ": "Aserbaidschan",
        "BA": "Bosnien un Herzegowina",
        "BD": "Bangladesch",
        "BE": "Belgien",
        "BG": "Bulgarien",
        "BL": "Saint Barthélemy",
        "BN": "Brunei Darussalam",
        "BO": "Bolivien",
        "BR": "Brasilien",
        "BV": "Bouvet-Eiland",
        "BY": "Wittrussland",
        "CA": "Kanada",
        "CC": "Kokos-Eilannen",
        "CD": "Demokraatsche Republik Kongo",
        "CF": "Zentralafrikaansche Republik",
        "CG": "Republik Kongo",
        "CH": "Swiez",
        "CI": "Elfenbeenküst",
        "CK": "Cook-Eilannen",
        "CM": "Kamerun",
        "CO": "Kolumbien",
        "CU": "Kuba",
        "CV": "Kap Verde",
        "CX": "Wiehnachtseiland",
        "CY": "Zypern",
        "CZ": "Tschechien",
        "DE": "Düütschland",
        "DJ": "Dschibuti",
        "DK": "Däänmark",
        "DO": "Dominikaansche Republik",
        "DZ": "Algerien",
        "EE": "Eestland",
        "EG": "Ägypten",
        "EH": "Westsahara",
        "ES": "Spanien",
        "ET": "Äthiopien",
        "EU": "Europääsche Union",
        "FI": "Finnland",
        "FJ": "Fidschi",
        "FK": "Falkland-Eilannen",
        "FM": "Mikronesien",
        "FO": "Färöer",
        "FR": "Frankriek",
        "GA": "Gabun",
        "GB": "Grootbritannien",
        "GE": "Georgien",
        "GF": "Franzöösch-Guayana",
        "GL": "Gröönland",
        "GQ": "Äquatorialguinea",
        "GR": "Grekenland",
        "GS": "Süüdgeorgien un de Südlichen Sandwich-Eilannen",
        "HK": "Sünnerverwaltensrebeet Hongkong",
        "HM": "Heard- un McDonald-Eilannen",
        "HR": "Kroatien",
        "HU": "Ungarn",
        "ID": "Indonesien",
        "IE": "Irland",
        "IM": "Insel Man",
        "IN": "Indien",
        "IO": "Britisch Rebeed in’n Indischen Ozean",
        "IQ": "Irak",
        "IS": "Iesland",
        "IT": "Italien",
        "JM": "Jamaika",
        "JO": "Jordanien",
        "KE": "Kenia",
        "KG": "Kirgisistan",
        "KH": "Kambodscha",
        "KM": "Komoren",
        "KN": "St. Kitts un Nevis",
        "KP": "Noordkorea",
        "KR": "Söödkorea",
        "KY": "Kaiman-Eilannen",
        "KZ": "Kasachstan",
        "LB": "Libanon",
        "LI": "Liechtensteen",
        "LT": "Litauen",
        "LU": "Luxemborg",
        "LV": "Lettland",
        "LY": "Libyen",
        "MA": "Marokko",
        "MD": "Moldawien",
        "MF": "Saint Martin",
        "MG": "Madagaskar",
        "MH": "Marshall-Eilannen",
        "MK": "Makedonien",
        "MM": "Birma",
        "MN": "Mongolei",
        "MO": "Sünnerverwaltensrebeed Macao",
        "MP": "Nöördliche Marianen",
        "MR": "Mauretanien",
        "MV": "Malediven",
        "MX": "Mexiko",
        "MZ": "Mosambik",
        "NC": "Neekaledonien",
        "NF": "Norfolk",
        "NI": "Nikaragua",
        "NL": "Nedderlannen",
        "NO": "Norwegen",
        "NZ": "Neeseeland",
        "PF": "Franzöösch-Polynesien",
        "PG": "Papua-Neeguinea",
        "PH": "Philippinen",
        "PL": "Polen",
        "PM": "St. Pierre un Miquelon",
        "PN": "Pitcairn",
        "PS": "Palästinensische Rebeden",
        "QA": "Katar",
        "QO": "Büter Ozeanien",
        "RE": "Reunion",
        "RO": "Rumänien",
        "RS": "Serbien",
        "RU": "Russland",
        "RW": "Ruanda",
        "SA": "Saudi-Arabien",
        "SB": "Salomonen",
        "SC": "Seychellen",
        "SG": "Singapur",
        "SI": "Slowenien",
        "SJ": "Svalbard un Jan Mayen",
        "SK": "Slowakei",
        "SR": "Surinam",
        "ST": "São Tomé un Príncipe",
        "SY": "Syrien",
        "SZ": "Swasiland",
        "TC": "Turks- un Caicosinseln",
        "TD": "Tschad",
        "TF": "Franzöösche Süüd- un Antarktisrebeden",
        "TJ": "Tadschikistan",
        "TL": "Oosttimor",
        "TN": "Tunesien",
        "TR": "Törkei",
        "TT": "Trinidad un Tobago",
        "TZ": "Tansania",
        "UM": "Amerikaansch-Ozeanien",
        "US": "USA",
        "UZ": "Usbekistan",
        "VA": "Vatikan",
        "VC": "St. Vincent un de Grenadinen",
        "VG": "Brietsche Jumfern-Eilannen",
        "VI": "Amerikaansche Jumfern-Eilannen",
        "WF": "Wallis un Futuna",
        "YE": "Jemen",
        "ZA": "Söödafrika",
        "ZM": "Sambia",
        "ZW": "Simbabwe",
        "ZZ": "Nich begäng Regioon"
    };
  }-*/;
}
