/*
 * 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",
        "QO",
        "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",
        "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",
        "XA",
        "XB",
        "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", "Karibiese streek");
    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("202", "Afrika suid van die Sahara");
    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", "Afgeleë 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": "Karibiese streek",
        "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",
        "202": "Afrika suid van die Sahara",
        "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": "Afgeleë 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"
    };
  }-*/;
}
