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

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

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "wereld");
    namesMap.put("002", "Afrika");
    namesMap.put("003", "Noord-Amerika");
    namesMap.put("005", "Zuid-Amerika");
    namesMap.put("009", "Oceanië");
    namesMap.put("011", "West-Afrika");
    namesMap.put("013", "Midden-Amerika");
    namesMap.put("014", "Oost-Afrika");
    namesMap.put("015", "Noord-Afrika");
    namesMap.put("017", "Centraal-Afrika");
    namesMap.put("018", "Zuidelijk Afrika");
    namesMap.put("019", "Amerika");
    namesMap.put("021", "Noordelijk Amerika");
    namesMap.put("029", "Caribisch gebied");
    namesMap.put("030", "Oost-Azië");
    namesMap.put("034", "Zuid-Azië");
    namesMap.put("035", "Zuidoost-Azië");
    namesMap.put("039", "Zuid-Europa");
    namesMap.put("053", "Australazië");
    namesMap.put("054", "Melanesië");
    namesMap.put("057", "Micronesische regio");
    namesMap.put("061", "Polynesië");
    namesMap.put("142", "Azië");
    namesMap.put("143", "Centraal-Azië");
    namesMap.put("145", "West-Azië");
    namesMap.put("150", "Europa");
    namesMap.put("151", "Oost-Europa");
    namesMap.put("154", "Noord-Europa");
    namesMap.put("155", "West-Europa");
    namesMap.put("202", "Sub-Saharaans Afrika");
    namesMap.put("419", "Latijns-Amerika");
    namesMap.put("AC", "Ascension");
    namesMap.put("AE", "Verenigde Arabische Emiraten");
    namesMap.put("AG", "Antigua en Barbuda");
    namesMap.put("AL", "Albanië");
    namesMap.put("AM", "Armenië");
    namesMap.put("AR", "Argentinië");
    namesMap.put("AS", "Amerikaans-Samoa");
    namesMap.put("AT", "Oostenrijk");
    namesMap.put("AU", "Australië");
    namesMap.put("AX", "Åland");
    namesMap.put("AZ", "Azerbeidzjan");
    namesMap.put("BA", "Bosnië en Herzegovina");
    namesMap.put("BE", "België");
    namesMap.put("BG", "Bulgarije");
    namesMap.put("BH", "Bahrein");
    namesMap.put("BL", "Saint-Barthélemy");
    namesMap.put("BQ", "Caribisch Nederland");
    namesMap.put("BR", "Brazilië");
    namesMap.put("BS", "Bahama’s");
    namesMap.put("BV", "Bouveteiland");
    namesMap.put("CC", "Cocoseilanden");
    namesMap.put("CD", "Congo-Kinshasa");
    namesMap.put("CF", "Centraal-Afrikaanse Republiek");
    namesMap.put("CG", "Congo-Brazzaville");
    namesMap.put("CH", "Zwitserland");
    namesMap.put("CI", "Ivoorkust");
    namesMap.put("CK", "Cookeilanden");
    namesMap.put("CL", "Chili");
    namesMap.put("CM", "Kameroen");
    namesMap.put("CP", "Clipperton");
    namesMap.put("CV", "Kaapverdië");
    namesMap.put("CX", "Christmaseiland");
    namesMap.put("CZ", "Tsjechië");
    namesMap.put("DE", "Duitsland");
    namesMap.put("DK", "Denemarken");
    namesMap.put("DO", "Dominicaanse Republiek");
    namesMap.put("DZ", "Algerije");
    namesMap.put("EA", "Ceuta en Melilla");
    namesMap.put("EE", "Estland");
    namesMap.put("EG", "Egypte");
    namesMap.put("EH", "Westelijke Sahara");
    namesMap.put("ES", "Spanje");
    namesMap.put("ET", "Ethiopië");
    namesMap.put("EU", "Europese Unie");
    namesMap.put("EZ", "eurozone");
    namesMap.put("FK", "Falklandeilanden");
    namesMap.put("FO", "Faeröer");
    namesMap.put("FR", "Frankrijk");
    namesMap.put("GB", "Verenigd Koninkrijk");
    namesMap.put("GE", "Georgië");
    namesMap.put("GF", "Frans-Guyana");
    namesMap.put("GL", "Groenland");
    namesMap.put("GN", "Guinee");
    namesMap.put("GQ", "Equatoriaal-Guinea");
    namesMap.put("GR", "Griekenland");
    namesMap.put("GS", "Zuid-Georgia en Zuidelijke Sandwicheilanden");
    namesMap.put("GW", "Guinee-Bissau");
    namesMap.put("HK", "Hongkong SAR van China");
    namesMap.put("HM", "Heard en McDonaldeilanden");
    namesMap.put("HR", "Kroatië");
    namesMap.put("HT", "Haïti");
    namesMap.put("HU", "Hongarije");
    namesMap.put("IC", "Canarische Eilanden");
    namesMap.put("ID", "Indonesië");
    namesMap.put("IE", "Ierland");
    namesMap.put("IL", "Israël");
    namesMap.put("IO", "Brits Indische Oceaanterritorium");
    namesMap.put("IQ", "Irak");
    namesMap.put("IS", "IJsland");
    namesMap.put("IT", "Italië");
    namesMap.put("JO", "Jordanië");
    namesMap.put("KE", "Kenia");
    namesMap.put("KG", "Kirgizië");
    namesMap.put("KH", "Cambodja");
    namesMap.put("KM", "Comoren");
    namesMap.put("KN", "Saint Kitts en Nevis");
    namesMap.put("KP", "Noord-Korea");
    namesMap.put("KR", "Zuid-Korea");
    namesMap.put("KW", "Koeweit");
    namesMap.put("KY", "Kaaimaneilanden");
    namesMap.put("KZ", "Kazachstan");
    namesMap.put("LB", "Libanon");
    namesMap.put("LC", "Saint Lucia");
    namesMap.put("LT", "Litouwen");
    namesMap.put("LU", "Luxemburg");
    namesMap.put("LV", "Letland");
    namesMap.put("LY", "Libië");
    namesMap.put("MA", "Marokko");
    namesMap.put("MD", "Moldavië");
    namesMap.put("MF", "Saint-Martin");
    namesMap.put("MG", "Madagaskar");
    namesMap.put("MH", "Marshalleilanden");
    namesMap.put("MK", "Macedonië");
    namesMap.put("MM", "Myanmar (Birma)");
    namesMap.put("MN", "Mongolië");
    namesMap.put("MO", "Macau SAR van China");
    namesMap.put("MP", "Noordelijke Marianen");
    namesMap.put("MR", "Mauritanië");
    namesMap.put("MV", "Maldiven");
    namesMap.put("MY", "Maleisië");
    namesMap.put("NA", "Namibië");
    namesMap.put("NC", "Nieuw-Caledonië");
    namesMap.put("NF", "Norfolk");
    namesMap.put("NL", "Nederland");
    namesMap.put("NO", "Noorwegen");
    namesMap.put("NZ", "Nieuw-Zeeland");
    namesMap.put("PF", "Frans-Polynesië");
    namesMap.put("PG", "Papoea-Nieuw-Guinea");
    namesMap.put("PH", "Filipijnen");
    namesMap.put("PL", "Polen");
    namesMap.put("PM", "Saint-Pierre en Miquelon");
    namesMap.put("PN", "Pitcairneilanden");
    namesMap.put("PS", "Palestijnse gebieden");
    namesMap.put("QO", "overig Oceanië");
    namesMap.put("RO", "Roemenië");
    namesMap.put("RS", "Servië");
    namesMap.put("RU", "Rusland");
    namesMap.put("SA", "Saoedi-Arabië");
    namesMap.put("SB", "Salomonseilanden");
    namesMap.put("SC", "Seychellen");
    namesMap.put("SD", "Soedan");
    namesMap.put("SE", "Zweden");
    namesMap.put("SH", "Sint-Helena");
    namesMap.put("SI", "Slovenië");
    namesMap.put("SJ", "Spitsbergen en Jan Mayen");
    namesMap.put("SK", "Slowakije");
    namesMap.put("SO", "Somalië");
    namesMap.put("SS", "Zuid-Soedan");
    namesMap.put("ST", "Sao Tomé en Principe");
    namesMap.put("SX", "Sint-Maarten");
    namesMap.put("SY", "Syrië");
    namesMap.put("TC", "Turks- en Caicoseilanden");
    namesMap.put("TD", "Tsjaad");
    namesMap.put("TF", "Franse Gebieden in de zuidelijke Indische Oceaan");
    namesMap.put("TJ", "Tadzjikistan");
    namesMap.put("TL", "Oost-Timor");
    namesMap.put("TN", "Tunesië");
    namesMap.put("TR", "Turkije");
    namesMap.put("TT", "Trinidad en Tobago");
    namesMap.put("UA", "Oekraïne");
    namesMap.put("UG", "Oeganda");
    namesMap.put("UM", "Kleine afgelegen eilanden van de Verenigde Staten");
    namesMap.put("UN", "Verenigde Naties");
    namesMap.put("US", "Verenigde Staten");
    namesMap.put("UZ", "Oezbekistan");
    namesMap.put("VA", "Vaticaanstad");
    namesMap.put("VC", "Saint Vincent en de Grenadines");
    namesMap.put("VG", "Britse Maagdeneilanden");
    namesMap.put("VI", "Amerikaanse Maagdeneilanden");
    namesMap.put("WF", "Wallis en Futuna");
    namesMap.put("YE", "Jemen");
    namesMap.put("ZA", "Zuid-Afrika");
    namesMap.put("ZZ", "onbekend gebied");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "wereld",
        "002": "Afrika",
        "003": "Noord-Amerika",
        "005": "Zuid-Amerika",
        "009": "Oceanië",
        "011": "West-Afrika",
        "013": "Midden-Amerika",
        "014": "Oost-Afrika",
        "015": "Noord-Afrika",
        "017": "Centraal-Afrika",
        "018": "Zuidelijk Afrika",
        "019": "Amerika",
        "021": "Noordelijk Amerika",
        "029": "Caribisch gebied",
        "030": "Oost-Azië",
        "034": "Zuid-Azië",
        "035": "Zuidoost-Azië",
        "039": "Zuid-Europa",
        "053": "Australazië",
        "054": "Melanesië",
        "057": "Micronesische regio",
        "061": "Polynesië",
        "142": "Azië",
        "143": "Centraal-Azië",
        "145": "West-Azië",
        "150": "Europa",
        "151": "Oost-Europa",
        "154": "Noord-Europa",
        "155": "West-Europa",
        "202": "Sub-Saharaans Afrika",
        "419": "Latijns-Amerika",
        "AC": "Ascension",
        "AE": "Verenigde Arabische Emiraten",
        "AG": "Antigua en Barbuda",
        "AL": "Albanië",
        "AM": "Armenië",
        "AR": "Argentinië",
        "AS": "Amerikaans-Samoa",
        "AT": "Oostenrijk",
        "AU": "Australië",
        "AX": "Åland",
        "AZ": "Azerbeidzjan",
        "BA": "Bosnië en Herzegovina",
        "BE": "België",
        "BG": "Bulgarije",
        "BH": "Bahrein",
        "BL": "Saint-Barthélemy",
        "BQ": "Caribisch Nederland",
        "BR": "Brazilië",
        "BS": "Bahama’s",
        "BV": "Bouveteiland",
        "CC": "Cocoseilanden",
        "CD": "Congo-Kinshasa",
        "CF": "Centraal-Afrikaanse Republiek",
        "CG": "Congo-Brazzaville",
        "CH": "Zwitserland",
        "CI": "Ivoorkust",
        "CK": "Cookeilanden",
        "CL": "Chili",
        "CM": "Kameroen",
        "CP": "Clipperton",
        "CV": "Kaapverdië",
        "CX": "Christmaseiland",
        "CZ": "Tsjechië",
        "DE": "Duitsland",
        "DK": "Denemarken",
        "DO": "Dominicaanse Republiek",
        "DZ": "Algerije",
        "EA": "Ceuta en Melilla",
        "EE": "Estland",
        "EG": "Egypte",
        "EH": "Westelijke Sahara",
        "ES": "Spanje",
        "ET": "Ethiopië",
        "EU": "Europese Unie",
        "EZ": "eurozone",
        "FK": "Falklandeilanden",
        "FO": "Faeröer",
        "FR": "Frankrijk",
        "GB": "Verenigd Koninkrijk",
        "GE": "Georgië",
        "GF": "Frans-Guyana",
        "GL": "Groenland",
        "GN": "Guinee",
        "GQ": "Equatoriaal-Guinea",
        "GR": "Griekenland",
        "GS": "Zuid-Georgia en Zuidelijke Sandwicheilanden",
        "GW": "Guinee-Bissau",
        "HK": "Hongkong SAR van China",
        "HM": "Heard en McDonaldeilanden",
        "HR": "Kroatië",
        "HT": "Haïti",
        "HU": "Hongarije",
        "IC": "Canarische Eilanden",
        "ID": "Indonesië",
        "IE": "Ierland",
        "IL": "Israël",
        "IO": "Brits Indische Oceaanterritorium",
        "IQ": "Irak",
        "IS": "IJsland",
        "IT": "Italië",
        "JO": "Jordanië",
        "KE": "Kenia",
        "KG": "Kirgizië",
        "KH": "Cambodja",
        "KM": "Comoren",
        "KN": "Saint Kitts en Nevis",
        "KP": "Noord-Korea",
        "KR": "Zuid-Korea",
        "KW": "Koeweit",
        "KY": "Kaaimaneilanden",
        "KZ": "Kazachstan",
        "LB": "Libanon",
        "LC": "Saint Lucia",
        "LT": "Litouwen",
        "LU": "Luxemburg",
        "LV": "Letland",
        "LY": "Libië",
        "MA": "Marokko",
        "MD": "Moldavië",
        "MF": "Saint-Martin",
        "MG": "Madagaskar",
        "MH": "Marshalleilanden",
        "MK": "Macedonië",
        "MM": "Myanmar (Birma)",
        "MN": "Mongolië",
        "MO": "Macau SAR van China",
        "MP": "Noordelijke Marianen",
        "MR": "Mauritanië",
        "MV": "Maldiven",
        "MY": "Maleisië",
        "NA": "Namibië",
        "NC": "Nieuw-Caledonië",
        "NF": "Norfolk",
        "NL": "Nederland",
        "NO": "Noorwegen",
        "NZ": "Nieuw-Zeeland",
        "PF": "Frans-Polynesië",
        "PG": "Papoea-Nieuw-Guinea",
        "PH": "Filipijnen",
        "PL": "Polen",
        "PM": "Saint-Pierre en Miquelon",
        "PN": "Pitcairneilanden",
        "PS": "Palestijnse gebieden",
        "QO": "overig Oceanië",
        "RO": "Roemenië",
        "RS": "Servië",
        "RU": "Rusland",
        "SA": "Saoedi-Arabië",
        "SB": "Salomonseilanden",
        "SC": "Seychellen",
        "SD": "Soedan",
        "SE": "Zweden",
        "SH": "Sint-Helena",
        "SI": "Slovenië",
        "SJ": "Spitsbergen en Jan Mayen",
        "SK": "Slowakije",
        "SO": "Somalië",
        "SS": "Zuid-Soedan",
        "ST": "Sao Tomé en Principe",
        "SX": "Sint-Maarten",
        "SY": "Syrië",
        "TC": "Turks- en Caicoseilanden",
        "TD": "Tsjaad",
        "TF": "Franse Gebieden in de zuidelijke Indische Oceaan",
        "TJ": "Tadzjikistan",
        "TL": "Oost-Timor",
        "TN": "Tunesië",
        "TR": "Turkije",
        "TT": "Trinidad en Tobago",
        "UA": "Oekraïne",
        "UG": "Oeganda",
        "UM": "Kleine afgelegen eilanden van de Verenigde Staten",
        "UN": "Verenigde Naties",
        "US": "Verenigde Staten",
        "UZ": "Oezbekistan",
        "VA": "Vaticaanstad",
        "VC": "Saint Vincent en de Grenadines",
        "VG": "Britse Maagdeneilanden",
        "VI": "Amerikaanse Maagdeneilanden",
        "WF": "Wallis en Futuna",
        "YE": "Jemen",
        "ZA": "Zuid-Afrika",
        "ZZ": "onbekend gebied"
    };
  }-*/;
}
