/*
 * 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: 2014-03-01 06:57:43 +0100 (Sat, 01 Mar 2014) $
//  number=$Revision: 9852 $
//  type=root

/**
 * Localized names for the "af" locale.
 */
public class LocalizedNamesImpl_af extends LocalizedNamesImpl {

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

  @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",
        "BE",
        "BZ",
        "BJ",
        "BM",
        "BT",
        "BO",
        "BA",
        "BW",
        "BV",
        "BR",
        "IO",
        "VG",
        "BN",
        "BG",
        "BF",
        "BI",
        "EA",
        "CL",
        "CP",
        "CC",
        "CO",
        "KM",
        "CK",
        "CR",
        "CW",
        "CD",
        "DK",
        "DG",
        "DJ",
        "DM",
        "DO",
        "DE",
        "EC",
        "EG",
        "IM",
        "GQ",
        "SV",
        "ER",
        "EE",
        "ET",
        "EU",
        "FK",
        "FO",
        "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",
        "IN",
        "ID",
        "IQ",
        "IR",
        "IL",
        "IT",
        "CI",
        "JM",
        "JP",
        "YE",
        "JE",
        "JO",
        "KY",
        "CV",
        "KH",
        "CM",
        "CA",
        "IC",
        "BQ",
        "KZ",
        "QA",
        "KE",
        "CX",
        "KG",
        "KI",
        "KW",
        "CG",
        "XK",
        "HR",
        "CU",
        "LA",
        "LS",
        "LV",
        "LB",
        "LR",
        "LY",
        "LI",
        "LT",
        "LU",
        "MO",
        "MK",
        "MG",
        "MW",
        "MV",
        "MY",
        "ML",
        "MT",
        "MA",
        "MH",
        "MQ",
        "MR",
        "MU",
        "YT",
        "MX",
        "MM",
        "FM",
        "MD",
        "MC",
        "MN",
        "ME",
        "MS",
        "MZ",
        "NA",
        "NR",
        "NL",
        "AN",
        "NP",
        "NI",
        "NC",
        "NZ",
        "NE",
        "NG",
        "NU",
        "MP",
        "KP",
        "NO",
        "NF",
        "UA",
        "UZ",
        "OM",
        "QO",
        "AT",
        "TL",
        "PK",
        "PW",
        "PS",
        "PA",
        "PG",
        "PY",
        "PE",
        "PN",
        "PL",
        "PT",
        "PR",
        "RE",
        "RO",
        "RU",
        "RW",
        "WS",
        "SM",
        "SA",
        "ST",
        "SN",
        "CF",
        "RS",
        "SC",
        "SL",
        "SG",
        "BL",
        "SH",
        "KN",
        "LC",
        "SX",
        "MF",
        "PM",
        "VC",
        "CY",
        "SY",
        "CN",
        "SK",
        "SI",
        "SD",
        "SB",
        "SO",
        "ES",
        "LK",
        "ZA",
        "GS",
        "KR",
        "SS",
        "SR",
        "SJ",
        "SZ",
        "SE",
        "CH",
        "TJ",
        "TW",
        "TZ",
        "TH",
        "CZ",
        "TG",
        "TK",
        "TO",
        "TT",
        "TA",
        "TD",
        "TN",
        "TM",
        "TC",
        "TR",
        "TV",
        "UG",
        "UY",
        "VU",
        "VA",
        "VE",
        "AE",
        "GB",
        "US",
        "VN",
        "UM",
        "WF",
        "EH",
        "BY",
        "IS",
        "ZM",
        "ZW",
    };
  }

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "Wêreld");
    namesMap.put("002", "Afrika");
    namesMap.put("003", "Noord-Amerika");
    namesMap.put("005", "Suid-Amerika");
    namesMap.put("009", "Oseanië");
    namesMap.put("011", "Wes-Afrika");
    namesMap.put("013", "Sentraal-Amerika");
    namesMap.put("014", "Oos-Afrika");
    namesMap.put("015", "Noord-Afrika");
    namesMap.put("017", "Midde-Afrika");
    namesMap.put("018", "Suider-Afrika");
    namesMap.put("019", "Amerikas");
    namesMap.put("021", "Noordelike Amerika");
    namesMap.put("029", "Karibbies");
    namesMap.put("030", "Oos-Asië");
    namesMap.put("034", "Suid-Asië");
    namesMap.put("035", "Suidoos-Asië");
    namesMap.put("039", "Suid-Europa");
    namesMap.put("053", "Australasië");
    namesMap.put("054", "Melanesië");
    namesMap.put("057", "Mikronesiese streek");
    namesMap.put("061", "Polinesië");
    namesMap.put("142", "Asië");
    namesMap.put("143", "Sentraal-Asië");
    namesMap.put("145", "Wes-Asië");
    namesMap.put("150", "Europa");
    namesMap.put("151", "Oos-Europa");
    namesMap.put("154", "Noord-Europa");
    namesMap.put("155", "Wes-Europa");
    namesMap.put("419", "Latyns-Amerika");
    namesMap.put("AC", "Ascensioneiland");
    namesMap.put("AE", "Verenigde Arabiese Emirate");
    namesMap.put("AF", "Afganistan");
    namesMap.put("AG", "Antigua en Barbuda");
    namesMap.put("AL", "Albanië");
    namesMap.put("AM", "Armenië");
    namesMap.put("AN", "Nederlands-Antille");
    namesMap.put("AQ", "Antarktika");
    namesMap.put("AR", "Argentinië");
    namesMap.put("AS", "Amerikaans-Samoa");
    namesMap.put("AT", "Oostenryk");
    namesMap.put("AU", "Australië");
    namesMap.put("AX", "Ålandeilande");
    namesMap.put("AZ", "Azerbeidjan");
    namesMap.put("BA", "Bosnië en Herzegowina");
    namesMap.put("BD", "Bangladesj");
    namesMap.put("BE", "België");
    namesMap.put("BG", "Bulgarye");
    namesMap.put("BH", "Bahrein");
    namesMap.put("BL", "Sint Barthélemy");
    namesMap.put("BN", "Broenei");
    namesMap.put("BO", "Bolivië");
    namesMap.put("BQ", "Karibiese Nederland");
    namesMap.put("BR", "Brasilië");
    namesMap.put("BT", "Bhoetan");
    namesMap.put("BV", "Bouveteiland");
    namesMap.put("BY", "Wit-Rusland");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Cocos- (Keeling) eilande");
    namesMap.put("CD", "Demokratiese Republiek van die Kongo");
    namesMap.put("CF", "Sentraal-Afrikaanse Republiek");
    namesMap.put("CG", "Kongo");
    namesMap.put("CH", "Switserland");
    namesMap.put("CI", "Ivoorkus");
    namesMap.put("CK", "Cookeilande");
    namesMap.put("CL", "Chili");
    namesMap.put("CM", "Kameroen");
    namesMap.put("CN", "Sjina");
    namesMap.put("CO", "Colombië");
    namesMap.put("CP", "Clippertoneiland");
    namesMap.put("CU", "Kuba");
    namesMap.put("CV", "Kaap Verde");
    namesMap.put("CX", "Kerseiland");
    namesMap.put("CY", "Siprus");
    namesMap.put("CZ", "Tjeggiese Republiek");
    namesMap.put("DE", "Duitsland");
    namesMap.put("DJ", "Djiboeti");
    namesMap.put("DK", "Denemarke");
    namesMap.put("DO", "Dominikaanse Republiek");
    namesMap.put("DZ", "Algerië");
    namesMap.put("EA", "Ceuta en Melilla");
    namesMap.put("EE", "Estland");
    namesMap.put("EG", "Egipte");
    namesMap.put("EH", "Wes-Sahara");
    namesMap.put("ES", "Spanje");
    namesMap.put("ET", "Ethiopië");
    namesMap.put("EU", "Europese Unie");
    namesMap.put("FJ", "Fidji");
    namesMap.put("FK", "Falklandeilande");
    namesMap.put("FM", "Mikronesië");
    namesMap.put("FO", "Faroëreilande");
    namesMap.put("FR", "Frankryk");
    namesMap.put("GA", "Gaboen");
    namesMap.put("GB", "Verenigde Koninkryk");
    namesMap.put("GE", "Georgië");
    namesMap.put("GF", "Frans-Guyana");
    namesMap.put("GL", "Groenland");
    namesMap.put("GM", "Gambië");
    namesMap.put("GN", "Guinee");
    namesMap.put("GQ", "Ekwatoriaal-Guinee");
    namesMap.put("GR", "Griekeland");
    namesMap.put("GS", "Suid-Georgië en die Suidelike Sandwicheilande");
    namesMap.put("GW", "Guinee-Bissau");
    namesMap.put("HK", "Hongkong");
    namesMap.put("HM", "Heard- en McDonaldeilande");
    namesMap.put("HR", "Kroasië");
    namesMap.put("HT", "Haïti");
    namesMap.put("HU", "Hongarye");
    namesMap.put("IC", "Kanarie-eilande");
    namesMap.put("ID", "Indonesië");
    namesMap.put("IE", "Ierland");
    namesMap.put("IM", "Eiland Man");
    namesMap.put("IN", "Indië");
    namesMap.put("IO", "Britse Indiese Oseaangebied");
    namesMap.put("IQ", "Irak");
    namesMap.put("IS", "Ysland");
    namesMap.put("IT", "Italië");
    namesMap.put("JM", "Jamaika");
    namesMap.put("JO", "Jordanië");
    namesMap.put("KE", "Kenia");
    namesMap.put("KG", "Kirgisië");
    namesMap.put("KH", "Kambodja");
    namesMap.put("KM", "Comore");
    namesMap.put("KN", "Sint Kitts en Nevis");
    namesMap.put("KP", "Noord-Korea");
    namesMap.put("KR", "Suid-Korea");
    namesMap.put("KW", "Koeweit");
    namesMap.put("KY", "Kaaimanseilande");
    namesMap.put("KZ", "Kasakstan");
    namesMap.put("LB", "Libanon");
    namesMap.put("LC", "Sint Lucia");
    namesMap.put("LR", "Liberië");
    namesMap.put("LT", "Litaue");
    namesMap.put("LU", "Luxemburg");
    namesMap.put("LV", "Letland");
    namesMap.put("LY", "Libië");
    namesMap.put("MA", "Marokko");
    namesMap.put("MF", "Sint Martin");
    namesMap.put("MG", "Madagaskar");
    namesMap.put("MH", "Marshalleilande");
    namesMap.put("MK", "Macedonië");
    namesMap.put("MM", "Mianmar");
    namesMap.put("MN", "Mongolië");
    namesMap.put("MP", "Noordelike Mariana-eilande");
    namesMap.put("MR", "Mauritanië");
    namesMap.put("MV", "Maledive");
    namesMap.put("MX", "Meksiko");
    namesMap.put("MY", "Maleisië");
    namesMap.put("MZ", "Mosambiek");
    namesMap.put("NA", "Namibië");
    namesMap.put("NC", "Nieu-Kaledonië");
    namesMap.put("NF", "Norfolkeiland");
    namesMap.put("NG", "Nigerië");
    namesMap.put("NL", "Nederland");
    namesMap.put("NO", "Noorweë");
    namesMap.put("NZ", "Nieu-Seeland");
    namesMap.put("PF", "Frans-Polinesië");
    namesMap.put("PG", "Papoea-Nieu-Guinee");
    namesMap.put("PH", "Filippyne");
    namesMap.put("PL", "Pole");
    namesMap.put("PM", "Sint Pierre en Miquelon");
    namesMap.put("PN", "Pitcairneilande");
    namesMap.put("PS", "Palestina");
    namesMap.put("QA", "Katar");
    namesMap.put("QO", "Omliggende Oseanië");
    namesMap.put("RO", "Roemenië");
    namesMap.put("RS", "Serwië");
    namesMap.put("RU", "Rusland");
    namesMap.put("SA", "Saoedi-Arabië");
    namesMap.put("SB", "Solomoneilande");
    namesMap.put("SC", "Seychelle");
    namesMap.put("SD", "Soedan");
    namesMap.put("SE", "Swede");
    namesMap.put("SG", "Singapoer");
    namesMap.put("SH", "Sint Helena");
    namesMap.put("SI", "Slowenië");
    namesMap.put("SJ", "Svalbard en Jan Mayen");
    namesMap.put("SK", "Slowakye");
    namesMap.put("SO", "Somalië");
    namesMap.put("SS", "Suid-Soedan");
    namesMap.put("ST", "Sao Tome en Principe");
    namesMap.put("SY", "Sirië");
    namesMap.put("TC", "Turks- en Caicoseilande");
    namesMap.put("TD", "Tsjad");
    namesMap.put("TF", "Franse Suidelike Gebiede");
    namesMap.put("TJ", "Tadjikistan");
    namesMap.put("TL", "Oos-Timor");
    namesMap.put("TM", "Turkmenië");
    namesMap.put("TN", "Tunisië");
    namesMap.put("TR", "Turkye");
    namesMap.put("TT", "Trinidad en Tobago");
    namesMap.put("TZ", "Tanzanië");
    namesMap.put("UA", "Oekraïne");
    namesMap.put("UM", "VS klein omliggende eilande");
    namesMap.put("US", "Verenigde State van Amerika");
    namesMap.put("UZ", "Oesbekistan");
    namesMap.put("VA", "Vatikaanstad");
    namesMap.put("VC", "Sint Vincent en die Grenadine");
    namesMap.put("VG", "Britse Maagde-eilande");
    namesMap.put("VI", "Amerikaanse Maagde-eilande");
    namesMap.put("VN", "Viëtnam");
    namesMap.put("WF", "Wallis en Futuna");
    namesMap.put("YE", "Jemen");
    namesMap.put("ZA", "Suid-Afrika");
    namesMap.put("ZM", "Zambië");
    namesMap.put("ZZ", "Onbekende gebied");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "Wêreld",
        "002": "Afrika",
        "003": "Noord-Amerika",
        "005": "Suid-Amerika",
        "009": "Oseanië",
        "011": "Wes-Afrika",
        "013": "Sentraal-Amerika",
        "014": "Oos-Afrika",
        "015": "Noord-Afrika",
        "017": "Midde-Afrika",
        "018": "Suider-Afrika",
        "019": "Amerikas",
        "021": "Noordelike Amerika",
        "029": "Karibbies",
        "030": "Oos-Asië",
        "034": "Suid-Asië",
        "035": "Suidoos-Asië",
        "039": "Suid-Europa",
        "053": "Australasië",
        "054": "Melanesië",
        "057": "Mikronesiese streek",
        "061": "Polinesië",
        "142": "Asië",
        "143": "Sentraal-Asië",
        "145": "Wes-Asië",
        "150": "Europa",
        "151": "Oos-Europa",
        "154": "Noord-Europa",
        "155": "Wes-Europa",
        "419": "Latyns-Amerika",
        "AC": "Ascensioneiland",
        "AE": "Verenigde Arabiese Emirate",
        "AF": "Afganistan",
        "AG": "Antigua en Barbuda",
        "AL": "Albanië",
        "AM": "Armenië",
        "AN": "Nederlands-Antille",
        "AQ": "Antarktika",
        "AR": "Argentinië",
        "AS": "Amerikaans-Samoa",
        "AT": "Oostenryk",
        "AU": "Australië",
        "AX": "Ålandeilande",
        "AZ": "Azerbeidjan",
        "BA": "Bosnië en Herzegowina",
        "BD": "Bangladesj",
        "BE": "België",
        "BG": "Bulgarye",
        "BH": "Bahrein",
        "BL": "Sint Barthélemy",
        "BN": "Broenei",
        "BO": "Bolivië",
        "BQ": "Karibiese Nederland",
        "BR": "Brasilië",
        "BT": "Bhoetan",
        "BV": "Bouveteiland",
        "BY": "Wit-Rusland",
        "CA": "Kanada",
        "CC": "Cocos- (Keeling) eilande",
        "CD": "Demokratiese Republiek van die Kongo",
        "CF": "Sentraal-Afrikaanse Republiek",
        "CG": "Kongo",
        "CH": "Switserland",
        "CI": "Ivoorkus",
        "CK": "Cookeilande",
        "CL": "Chili",
        "CM": "Kameroen",
        "CN": "Sjina",
        "CO": "Colombië",
        "CP": "Clippertoneiland",
        "CU": "Kuba",
        "CV": "Kaap Verde",
        "CX": "Kerseiland",
        "CY": "Siprus",
        "CZ": "Tjeggiese Republiek",
        "DE": "Duitsland",
        "DJ": "Djiboeti",
        "DK": "Denemarke",
        "DO": "Dominikaanse Republiek",
        "DZ": "Algerië",
        "EA": "Ceuta en Melilla",
        "EE": "Estland",
        "EG": "Egipte",
        "EH": "Wes-Sahara",
        "ES": "Spanje",
        "ET": "Ethiopië",
        "EU": "Europese Unie",
        "FJ": "Fidji",
        "FK": "Falklandeilande",
        "FM": "Mikronesië",
        "FO": "Faroëreilande",
        "FR": "Frankryk",
        "GA": "Gaboen",
        "GB": "Verenigde Koninkryk",
        "GE": "Georgië",
        "GF": "Frans-Guyana",
        "GL": "Groenland",
        "GM": "Gambië",
        "GN": "Guinee",
        "GQ": "Ekwatoriaal-Guinee",
        "GR": "Griekeland",
        "GS": "Suid-Georgië en die Suidelike Sandwicheilande",
        "GW": "Guinee-Bissau",
        "HK": "Hongkong",
        "HM": "Heard- en McDonaldeilande",
        "HR": "Kroasië",
        "HT": "Haïti",
        "HU": "Hongarye",
        "IC": "Kanarie-eilande",
        "ID": "Indonesië",
        "IE": "Ierland",
        "IM": "Eiland Man",
        "IN": "Indië",
        "IO": "Britse Indiese Oseaangebied",
        "IQ": "Irak",
        "IS": "Ysland",
        "IT": "Italië",
        "JM": "Jamaika",
        "JO": "Jordanië",
        "KE": "Kenia",
        "KG": "Kirgisië",
        "KH": "Kambodja",
        "KM": "Comore",
        "KN": "Sint Kitts en Nevis",
        "KP": "Noord-Korea",
        "KR": "Suid-Korea",
        "KW": "Koeweit",
        "KY": "Kaaimanseilande",
        "KZ": "Kasakstan",
        "LB": "Libanon",
        "LC": "Sint Lucia",
        "LR": "Liberië",
        "LT": "Litaue",
        "LU": "Luxemburg",
        "LV": "Letland",
        "LY": "Libië",
        "MA": "Marokko",
        "MF": "Sint Martin",
        "MG": "Madagaskar",
        "MH": "Marshalleilande",
        "MK": "Macedonië",
        "MM": "Mianmar",
        "MN": "Mongolië",
        "MP": "Noordelike Mariana-eilande",
        "MR": "Mauritanië",
        "MV": "Maledive",
        "MX": "Meksiko",
        "MY": "Maleisië",
        "MZ": "Mosambiek",
        "NA": "Namibië",
        "NC": "Nieu-Kaledonië",
        "NF": "Norfolkeiland",
        "NG": "Nigerië",
        "NL": "Nederland",
        "NO": "Noorweë",
        "NZ": "Nieu-Seeland",
        "PF": "Frans-Polinesië",
        "PG": "Papoea-Nieu-Guinee",
        "PH": "Filippyne",
        "PL": "Pole",
        "PM": "Sint Pierre en Miquelon",
        "PN": "Pitcairneilande",
        "PS": "Palestina",
        "QA": "Katar",
        "QO": "Omliggende Oseanië",
        "RO": "Roemenië",
        "RS": "Serwië",
        "RU": "Rusland",
        "SA": "Saoedi-Arabië",
        "SB": "Solomoneilande",
        "SC": "Seychelle",
        "SD": "Soedan",
        "SE": "Swede",
        "SG": "Singapoer",
        "SH": "Sint Helena",
        "SI": "Slowenië",
        "SJ": "Svalbard en Jan Mayen",
        "SK": "Slowakye",
        "SO": "Somalië",
        "SS": "Suid-Soedan",
        "ST": "Sao Tome en Principe",
        "SY": "Sirië",
        "TC": "Turks- en Caicoseilande",
        "TD": "Tsjad",
        "TF": "Franse Suidelike Gebiede",
        "TJ": "Tadjikistan",
        "TL": "Oos-Timor",
        "TM": "Turkmenië",
        "TN": "Tunisië",
        "TR": "Turkye",
        "TT": "Trinidad en Tobago",
        "TZ": "Tanzanië",
        "UA": "Oekraïne",
        "UM": "VS klein omliggende eilande",
        "US": "Verenigde State van Amerika",
        "UZ": "Oesbekistan",
        "VA": "Vatikaanstad",
        "VC": "Sint Vincent en die Grenadine",
        "VG": "Britse Maagde-eilande",
        "VI": "Amerikaanse Maagde-eilande",
        "VN": "Viëtnam",
        "WF": "Wallis en Futuna",
        "YE": "Jemen",
        "ZA": "Suid-Afrika",
        "ZM": "Zambië",
        "ZZ": "Onbekende gebied"
    };
  }-*/;
}
