/*
 * 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 "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",
        "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",
        "EA",
        "CL",
        "CP",
        "CO",
        "KM",
        "CK",
        "CR",
        "CW",
        "CD",
        "DK",
        "DG",
        "DJ",
        "DM",
        "DO",
        "DE",
        "EC",
        "EG",
        "IM",
        "GQ",
        "SV",
        "ER",
        "EE",
        "ET",
        "EU",
        "EZ",
        "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",
        "QA",
        "KZ",
        "KE",
        "CX",
        "KG",
        "KI",
        "UM",
        "KW",
        "CC",
        "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",
        "NP",
        "NI",
        "NC",
        "NZ",
        "NE",
        "NG",
        "NU",
        "KP",
        "MP",
        "NO",
        "NF",
        "UA",
        "UZ",
        "OM",
        "QO",
        "AT",
        "TL",
        "PK",
        "PW",
        "PS",
        "PA",
        "PG",
        "PY",
        "PE",
        "PN",
        "PL",
        "PT",
        "PR",
        "RE",
        "RO",
        "RU",
        "RW",
        "SB",
        "WS",
        "SM",
        "SA",
        "ST",
        "SN",
        "CF",
        "RS",
        "SC",
        "SL",
        "SG",
        "BL",
        "SH",
        "KN",
        "LC",
        "SX",
        "MF",
        "PM",
        "VC",
        "CY",
        "SY",
        "CN",
        "SK",
        "SI",
        "SD",
        "SO",
        "ES",
        "LK",
        "ZA",
        "GS",
        "KR",
        "SS",
        "SR",
        "SJ",
        "SZ",
        "SE",
        "CH",
        "TJ",
        "TW",
        "TZ",
        "TH",
        "TG",
        "TK",
        "TO",
        "TT",
        "TA",
        "TD",
        "CZ",
        "TN",
        "TM",
        "TC",
        "TR",
        "TV",
        "UG",
        "UY",
        "VU",
        "VA",
        "VE",
        "AE",
        "GB",
        "UN",
        "US",
        "VN",
        "VI",
        "WF",
        "EH",
        "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", "Karibies");
    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("AQ", "Antarktika");
    namesMap.put("AR", "Argentinië");
    namesMap.put("AS", "Amerikaanse 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", "Bouvet-eiland");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Kokoseilande");
    namesMap.put("CD", "Demokratiese Republiek van die Kongo");
    namesMap.put("CF", "Sentraal-Afrikaanse Republiek");
    namesMap.put("CG", "Kongo - Brazzaville");
    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", "Tsjeggië");
    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("EZ", "Eurosone");
    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 SAS Sjina");
    namesMap.put("HM", "Heardeiland en McDonaldeilande");
    namesMap.put("HR", "Kroasië");
    namesMap.put("HT", "Haïti");
    namesMap.put("HU", "Hongarye");
    namesMap.put("IC", "Kanariese Eilande");
    namesMap.put("ID", "Indonesië");
    namesMap.put("IE", "Ierland");
    namesMap.put("IM", "Eiland Man");
    namesMap.put("IN", "Indië");
    namesMap.put("IO", "Brits-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", "Kirgistan");
    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", "Kazakstan");
    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("MD", "Moldowa");
    namesMap.put("MF", "Sint Martin");
    namesMap.put("MG", "Madagaskar");
    namesMap.put("MH", "Marshalleilande");
    namesMap.put("MK", "Macedonië");
    namesMap.put("MM", "Mianmar (Birma)");
    namesMap.put("MN", "Mongolië");
    namesMap.put("MO", "Macau SAS Sjina");
    namesMap.put("MP", "Noord-Mariane-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", "Palestynse gebiede");
    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", "Salomonseilande");
    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", "São Tomé en Príncipe");
    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("TN", "Tunisië");
    namesMap.put("TR", "Turkye");
    namesMap.put("TT", "Trinidad en Tobago");
    namesMap.put("TZ", "Tanzanië");
    namesMap.put("UA", "Oekraïne");
    namesMap.put("UM", "Klein afgeleë eilande van die VSA");
    namesMap.put("UN", "Verenigde Nasies");
    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", "VSA se 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": "Karibies",
        "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ë",
        "AQ": "Antarktika",
        "AR": "Argentinië",
        "AS": "Amerikaanse 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": "Bouvet-eiland",
        "CA": "Kanada",
        "CC": "Kokoseilande",
        "CD": "Demokratiese Republiek van die Kongo",
        "CF": "Sentraal-Afrikaanse Republiek",
        "CG": "Kongo - Brazzaville",
        "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": "Tsjeggië",
        "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",
        "EZ": "Eurosone",
        "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 SAS Sjina",
        "HM": "Heardeiland en McDonaldeilande",
        "HR": "Kroasië",
        "HT": "Haïti",
        "HU": "Hongarye",
        "IC": "Kanariese Eilande",
        "ID": "Indonesië",
        "IE": "Ierland",
        "IM": "Eiland Man",
        "IN": "Indië",
        "IO": "Brits-Indiese Oseaangebied",
        "IQ": "Irak",
        "IS": "Ysland",
        "IT": "Italië",
        "JM": "Jamaika",
        "JO": "Jordanië",
        "KE": "Kenia",
        "KG": "Kirgistan",
        "KH": "Kambodja",
        "KM": "Comore",
        "KN": "Sint Kitts en Nevis",
        "KP": "Noord-Korea",
        "KR": "Suid-Korea",
        "KW": "Koeweit",
        "KY": "Kaaimanseilande",
        "KZ": "Kazakstan",
        "LB": "Libanon",
        "LC": "Sint Lucia",
        "LR": "Liberië",
        "LT": "Litaue",
        "LU": "Luxemburg",
        "LV": "Letland",
        "LY": "Libië",
        "MA": "Marokko",
        "MD": "Moldowa",
        "MF": "Sint Martin",
        "MG": "Madagaskar",
        "MH": "Marshalleilande",
        "MK": "Macedonië",
        "MM": "Mianmar (Birma)",
        "MN": "Mongolië",
        "MO": "Macau SAS Sjina",
        "MP": "Noord-Mariane-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": "Palestynse gebiede",
        "QA": "Katar",
        "QO": "Omliggende Oseanië",
        "RO": "Roemenië",
        "RS": "Serwië",
        "RU": "Rusland",
        "SA": "Saoedi-Arabië",
        "SB": "Salomonseilande",
        "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": "São Tomé en Príncipe",
        "SY": "Sirië",
        "TC": "Turks- en Caicoseilande",
        "TD": "Tsjad",
        "TF": "Franse Suidelike Gebiede",
        "TJ": "Tadjikistan",
        "TL": "Oos-Timor",
        "TN": "Tunisië",
        "TR": "Turkye",
        "TT": "Trinidad en Tobago",
        "TZ": "Tanzanië",
        "UA": "Oekraïne",
        "UM": "Klein afgeleë eilande van die VSA",
        "UN": "Verenigde Nasies",
        "US": "Verenigde State van Amerika",
        "UZ": "Oesbekistan",
        "VA": "Vatikaanstad",
        "VC": "Sint Vincent en die Grenadine",
        "VG": "Britse Maagde-eilande",
        "VI": "VSA se Maagde-eilande",
        "VN": "Viëtnam",
        "WF": "Wallis en Futuna",
        "YE": "Jemen",
        "ZA": "Suid-Afrika",
        "ZM": "Zambië",
        "ZZ": "Onbekende gebied"
    };
  }-*/;
}
