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

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("AD", "Andola");
    namesMap.put("AE", "Wutwa wa shiyalabu");
    namesMap.put("AF", "Afuganisitani");
    namesMap.put("AG", "Anitiguya ni Balubuda");
    namesMap.put("AL", "Alubaniya");
    namesMap.put("AM", "Alimeniya");
    namesMap.put("AR", "Ajentina");
    namesMap.put("AS", "Samoya ya Malekani");
    namesMap.put("AT", "Awusitiliya");
    namesMap.put("AU", "Awusitilaliya");
    namesMap.put("AW", "Aluba");
    namesMap.put("AZ", "Asabajani");
    namesMap.put("BA", "Bosiniya ni Hesegovina");
    namesMap.put("BB", "Babadosi");
    namesMap.put("BD", "Bangiladeshi");
    namesMap.put("BE", "Ubeligiji");
    namesMap.put("BF", "Bukinafaso");
    namesMap.put("BG", "Buligaliya");
    namesMap.put("BH", "Bahaleni");
    namesMap.put("BI", "Bulundi");
    namesMap.put("BJ", "Benini");
    namesMap.put("BM", "Belimuda");
    namesMap.put("BN", "Buluneyi");
    namesMap.put("BO", "Boliviya");
    namesMap.put("BR", "Bulasili");
    namesMap.put("BS", "Bahama");
    namesMap.put("BT", "Butani");
    namesMap.put("BW", "Botiswana");
    namesMap.put("BY", "Belalusi");
    namesMap.put("BZ", "Belise");
    namesMap.put("CA", "Kanada");
    namesMap.put("CD", "Jamuhuli ya Kidemokilasiya ya Kongo");
    namesMap.put("CF", "Jamuhuli ya Afilika ya Pakhati");
    namesMap.put("CG", "Kongo");
    namesMap.put("CH", "Uswisi");
    namesMap.put("CI", "Kodivaya");
    namesMap.put("CK", "Figunguli fya Kooki");
    namesMap.put("CL", "Shile");
    namesMap.put("CM", "Kameruni");
    namesMap.put("CN", "Shina");
    namesMap.put("CO", "Kolombiya");
    namesMap.put("CR", "Kositalika");
    namesMap.put("CU", "Kuba");
    namesMap.put("CV", "Kepuvede");
    namesMap.put("CY", "Kupilosi");
    namesMap.put("CZ", "Jamuhuli ya Sheki");
    namesMap.put("DE", "Wujelumani");
    namesMap.put("DJ", "Jibuti");
    namesMap.put("DK", "Denimaki");
    namesMap.put("DM", "Dominika");
    namesMap.put("DO", "Jamuhuli ya Dominika");
    namesMap.put("DZ", "Alijeliya");
    namesMap.put("EC", "Ekwado");
    namesMap.put("EE", "Esitoniya");
    namesMap.put("EG", "Misili");
    namesMap.put("ER", "Elitileya");
    namesMap.put("ES", "Hisipaniya");
    namesMap.put("ET", "Uhabeshi");
    namesMap.put("FI", "Wufini");
    namesMap.put("FK", "Figunguli fya Fokolendi");
    namesMap.put("FM", "Mikilonesiya");
    namesMap.put("FR", "Wufalansa");
    namesMap.put("GA", "Gaboni");
    namesMap.put("GB", "Uwingelesa");
    namesMap.put("GD", "Gilenada");
    namesMap.put("GE", "Jojiya");
    namesMap.put("GF", "Gwiyana ya Wufalansa");
    namesMap.put("GH", "Khana");
    namesMap.put("GI", "Jibulalita");
    namesMap.put("GL", "Gilinilandi");
    namesMap.put("GM", "Gambiya");
    namesMap.put("GN", "Gine");
    namesMap.put("GP", "Gwadelupe");
    namesMap.put("GQ", "Ginekweta");
    namesMap.put("GR", "Wugiliki");
    namesMap.put("GT", "Gwatemala");
    namesMap.put("GU", "Gwamu");
    namesMap.put("GW", "Ginebisawu");
    namesMap.put("HN", "Hondulasi");
    namesMap.put("HR", "Kolasiya");
    namesMap.put("HT", "Hayiti");
    namesMap.put("HU", "Hungaliya");
    namesMap.put("ID", "Indonesiya");
    namesMap.put("IE", "Ayalandi");
    namesMap.put("IL", "Isilaeli");
    namesMap.put("IN", "Indiya");
    namesMap.put("IO", "Uluvala lwa Uwingelesa ku Bahali ya Hindi");
    namesMap.put("IQ", "Ilaki");
    namesMap.put("IR", "Uwajemi");
    namesMap.put("IS", "Ayisilendi");
    namesMap.put("IT", "Italiya");
    namesMap.put("JM", "Jamaika");
    namesMap.put("JO", "Yolodani");
    namesMap.put("JP", "Japani");
    namesMap.put("KG", "Kiligisisitani");
    namesMap.put("KH", "Kambodiya");
    namesMap.put("KI", "Kilibati");
    namesMap.put("KM", "Komolo");
    namesMap.put("KN", "Santakitisi ni Nevisi");
    namesMap.put("KP", "Koleya ya luvala lwa Kunyamande");
    namesMap.put("KR", "Koleya ya Kusini");
    namesMap.put("KW", "Kuwaiti");
    namesMap.put("KY", "Figunguli ifya Kayimayi");
    namesMap.put("KZ", "Kasakisitani");
    namesMap.put("LA", "Layosi");
    namesMap.put("LB", "Lebanoni");
    namesMap.put("LC", "Santalusiya");
    namesMap.put("LI", "Lisheniteni");
    namesMap.put("LK", "Sililanka");
    namesMap.put("LR", "Libeliya");
    namesMap.put("LS", "Lesoto");
    namesMap.put("LT", "Litwaniya");
    namesMap.put("LU", "Lasembagi");
    namesMap.put("LV", "Lativiya");
    namesMap.put("LY", "Libiya");
    namesMap.put("MA", "Moloko");
    namesMap.put("MC", "Monako");
    namesMap.put("MD", "Molidova");
    namesMap.put("MG", "Bukini");
    namesMap.put("MH", "Figunguli ifya Malishali");
    namesMap.put("MK", "Masedoniya");
    namesMap.put("MM", "Muyama");
    namesMap.put("MN", "Mongoliya");
    namesMap.put("MP", "Figunguli fya Maliyana ifya luvala lwa Kunyamande");
    namesMap.put("MQ", "Malitiniki");
    namesMap.put("MR", "Molitaniya");
    namesMap.put("MS", "Monitiselati");
    namesMap.put("MT", "Malita");
    namesMap.put("MU", "Molisi");
    namesMap.put("MV", "Modivu");
    namesMap.put("MX", "Mekisiko");
    namesMap.put("MY", "Malesiya");
    namesMap.put("MZ", "Musumbiji");
    namesMap.put("NA", "Namibiya");
    namesMap.put("NC", "Nyukaledoniya");
    namesMap.put("NE", "Nijeli");
    namesMap.put("NF", "Shigunguli sha Nolifoki");
    namesMap.put("NG", "Nijeliya");
    namesMap.put("NI", "Nikalagwa");
    namesMap.put("NL", "Wuholansi");
    namesMap.put("NO", "Nolwe");
    namesMap.put("NP", "Nepali");
    namesMap.put("NR", "Nawulu");
    namesMap.put("NU", "Niwue");
    namesMap.put("NZ", "Nyusilendi");
    namesMap.put("OM", "Omani");
    namesMap.put("PE", "Pelu");
    namesMap.put("PF", "Polinesiya ya Wufalansa");
    namesMap.put("PG", "Papuwa");
    namesMap.put("PH", "Filipino");
    namesMap.put("PK", "Pakisitani");
    namesMap.put("PL", "Polandi");
    namesMap.put("PM", "Santapieli ni Mikeloni");
    namesMap.put("PN", "Pitikailini");
    namesMap.put("PR", "Pwetoliko");
    namesMap.put("PS", "Munjema gwa Kusikha nu Luvala lwa Gasa lwa Palesit");
    namesMap.put("PT", "Wuleno");
    namesMap.put("PW", "Palawu");
    namesMap.put("PY", "Palagwayi");
    namesMap.put("QA", "Katali");
    namesMap.put("RE", "Liyunioni");
    namesMap.put("RO", "Lomaniya");
    namesMap.put("RU", "Wulusi");
    namesMap.put("RW", "Lwanda");
    namesMap.put("SA", "Sawudi");
    namesMap.put("SB", "Figunguli fya Solomoni");
    namesMap.put("SC", "Shelisheli");
    namesMap.put("SD", "Sudani");
    namesMap.put("SE", "Uswidi");
    namesMap.put("SG", "Singapoo");
    namesMap.put("SH", "Santahelena");
    namesMap.put("SI", "Siloveniya");
    namesMap.put("SK", "Silovakiya");
    namesMap.put("SL", "Siela Liyoni");
    namesMap.put("SM", "Samalino");
    namesMap.put("SN", "Senegali");
    namesMap.put("SO", "Somaliya");
    namesMap.put("SR", "Sulinamu");
    namesMap.put("ST", "Sayo Tome ni Pilinikipe");
    namesMap.put("SV", "Elisavado");
    namesMap.put("SY", "Siliya");
    namesMap.put("SZ", "Uswasi");
    namesMap.put("TC", "Figunguli fya Tuliki ni Kaiko");
    namesMap.put("TD", "Shadi");
    namesMap.put("TH", "Tailandi");
    namesMap.put("TJ", "Tajikisitani");
    namesMap.put("TK", "Tokelawu");
    namesMap.put("TL", "Timoli ya kunena");
    namesMap.put("TM", "Tulukimenisitani");
    namesMap.put("TN", "Tunisiya");
    namesMap.put("TR", "Utuluki");
    namesMap.put("TT", "Tilinidadi ni Tobago");
    namesMap.put("TW", "Taiwani");
    namesMap.put("TZ", "Tansaniya");
    namesMap.put("UA", "Yukileini");
    namesMap.put("US", "Malekani");
    namesMap.put("UY", "Ulugwayi");
    namesMap.put("UZ", "Usibekisitani");
    namesMap.put("VA", "Vatikani");
    namesMap.put("VC", "Santavisenti na Gilenadini");
    namesMap.put("VE", "Venesuela");
    namesMap.put("VG", "Figunguli ifya Viliginiya ifya Uwingelesa");
    namesMap.put("VI", "Figunguli fya Viliginiya ifya Malekani");
    namesMap.put("VN", "Vietinamu");
    namesMap.put("WF", "Walisi ni Futuna");
    namesMap.put("WS", "Samoya");
    namesMap.put("YE", "Yemeni");
    namesMap.put("YT", "Mayote");
    namesMap.put("ZA", "Afilika Kusini");
    namesMap.put("ZM", "Sambiya");
    namesMap.put("ZW", "Simbabwe");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "AD": "Andola",
        "AE": "Wutwa wa shiyalabu",
        "AF": "Afuganisitani",
        "AG": "Anitiguya ni Balubuda",
        "AL": "Alubaniya",
        "AM": "Alimeniya",
        "AR": "Ajentina",
        "AS": "Samoya ya Malekani",
        "AT": "Awusitiliya",
        "AU": "Awusitilaliya",
        "AW": "Aluba",
        "AZ": "Asabajani",
        "BA": "Bosiniya ni Hesegovina",
        "BB": "Babadosi",
        "BD": "Bangiladeshi",
        "BE": "Ubeligiji",
        "BF": "Bukinafaso",
        "BG": "Buligaliya",
        "BH": "Bahaleni",
        "BI": "Bulundi",
        "BJ": "Benini",
        "BM": "Belimuda",
        "BN": "Buluneyi",
        "BO": "Boliviya",
        "BR": "Bulasili",
        "BS": "Bahama",
        "BT": "Butani",
        "BW": "Botiswana",
        "BY": "Belalusi",
        "BZ": "Belise",
        "CA": "Kanada",
        "CD": "Jamuhuli ya Kidemokilasiya ya Kongo",
        "CF": "Jamuhuli ya Afilika ya Pakhati",
        "CG": "Kongo",
        "CH": "Uswisi",
        "CI": "Kodivaya",
        "CK": "Figunguli fya Kooki",
        "CL": "Shile",
        "CM": "Kameruni",
        "CN": "Shina",
        "CO": "Kolombiya",
        "CR": "Kositalika",
        "CU": "Kuba",
        "CV": "Kepuvede",
        "CY": "Kupilosi",
        "CZ": "Jamuhuli ya Sheki",
        "DE": "Wujelumani",
        "DJ": "Jibuti",
        "DK": "Denimaki",
        "DM": "Dominika",
        "DO": "Jamuhuli ya Dominika",
        "DZ": "Alijeliya",
        "EC": "Ekwado",
        "EE": "Esitoniya",
        "EG": "Misili",
        "ER": "Elitileya",
        "ES": "Hisipaniya",
        "ET": "Uhabeshi",
        "FI": "Wufini",
        "FK": "Figunguli fya Fokolendi",
        "FM": "Mikilonesiya",
        "FR": "Wufalansa",
        "GA": "Gaboni",
        "GB": "Uwingelesa",
        "GD": "Gilenada",
        "GE": "Jojiya",
        "GF": "Gwiyana ya Wufalansa",
        "GH": "Khana",
        "GI": "Jibulalita",
        "GL": "Gilinilandi",
        "GM": "Gambiya",
        "GN": "Gine",
        "GP": "Gwadelupe",
        "GQ": "Ginekweta",
        "GR": "Wugiliki",
        "GT": "Gwatemala",
        "GU": "Gwamu",
        "GW": "Ginebisawu",
        "HN": "Hondulasi",
        "HR": "Kolasiya",
        "HT": "Hayiti",
        "HU": "Hungaliya",
        "ID": "Indonesiya",
        "IE": "Ayalandi",
        "IL": "Isilaeli",
        "IN": "Indiya",
        "IO": "Uluvala lwa Uwingelesa ku Bahali ya Hindi",
        "IQ": "Ilaki",
        "IR": "Uwajemi",
        "IS": "Ayisilendi",
        "IT": "Italiya",
        "JM": "Jamaika",
        "JO": "Yolodani",
        "JP": "Japani",
        "KG": "Kiligisisitani",
        "KH": "Kambodiya",
        "KI": "Kilibati",
        "KM": "Komolo",
        "KN": "Santakitisi ni Nevisi",
        "KP": "Koleya ya luvala lwa Kunyamande",
        "KR": "Koleya ya Kusini",
        "KW": "Kuwaiti",
        "KY": "Figunguli ifya Kayimayi",
        "KZ": "Kasakisitani",
        "LA": "Layosi",
        "LB": "Lebanoni",
        "LC": "Santalusiya",
        "LI": "Lisheniteni",
        "LK": "Sililanka",
        "LR": "Libeliya",
        "LS": "Lesoto",
        "LT": "Litwaniya",
        "LU": "Lasembagi",
        "LV": "Lativiya",
        "LY": "Libiya",
        "MA": "Moloko",
        "MC": "Monako",
        "MD": "Molidova",
        "MG": "Bukini",
        "MH": "Figunguli ifya Malishali",
        "MK": "Masedoniya",
        "MM": "Muyama",
        "MN": "Mongoliya",
        "MP": "Figunguli fya Maliyana ifya luvala lwa Kunyamande",
        "MQ": "Malitiniki",
        "MR": "Molitaniya",
        "MS": "Monitiselati",
        "MT": "Malita",
        "MU": "Molisi",
        "MV": "Modivu",
        "MX": "Mekisiko",
        "MY": "Malesiya",
        "MZ": "Musumbiji",
        "NA": "Namibiya",
        "NC": "Nyukaledoniya",
        "NE": "Nijeli",
        "NF": "Shigunguli sha Nolifoki",
        "NG": "Nijeliya",
        "NI": "Nikalagwa",
        "NL": "Wuholansi",
        "NO": "Nolwe",
        "NP": "Nepali",
        "NR": "Nawulu",
        "NU": "Niwue",
        "NZ": "Nyusilendi",
        "OM": "Omani",
        "PE": "Pelu",
        "PF": "Polinesiya ya Wufalansa",
        "PG": "Papuwa",
        "PH": "Filipino",
        "PK": "Pakisitani",
        "PL": "Polandi",
        "PM": "Santapieli ni Mikeloni",
        "PN": "Pitikailini",
        "PR": "Pwetoliko",
        "PS": "Munjema gwa Kusikha nu Luvala lwa Gasa lwa Palesit",
        "PT": "Wuleno",
        "PW": "Palawu",
        "PY": "Palagwayi",
        "QA": "Katali",
        "RE": "Liyunioni",
        "RO": "Lomaniya",
        "RU": "Wulusi",
        "RW": "Lwanda",
        "SA": "Sawudi",
        "SB": "Figunguli fya Solomoni",
        "SC": "Shelisheli",
        "SD": "Sudani",
        "SE": "Uswidi",
        "SG": "Singapoo",
        "SH": "Santahelena",
        "SI": "Siloveniya",
        "SK": "Silovakiya",
        "SL": "Siela Liyoni",
        "SM": "Samalino",
        "SN": "Senegali",
        "SO": "Somaliya",
        "SR": "Sulinamu",
        "ST": "Sayo Tome ni Pilinikipe",
        "SV": "Elisavado",
        "SY": "Siliya",
        "SZ": "Uswasi",
        "TC": "Figunguli fya Tuliki ni Kaiko",
        "TD": "Shadi",
        "TH": "Tailandi",
        "TJ": "Tajikisitani",
        "TK": "Tokelawu",
        "TL": "Timoli ya kunena",
        "TM": "Tulukimenisitani",
        "TN": "Tunisiya",
        "TR": "Utuluki",
        "TT": "Tilinidadi ni Tobago",
        "TW": "Taiwani",
        "TZ": "Tansaniya",
        "UA": "Yukileini",
        "US": "Malekani",
        "UY": "Ulugwayi",
        "UZ": "Usibekisitani",
        "VA": "Vatikani",
        "VC": "Santavisenti na Gilenadini",
        "VE": "Venesuela",
        "VG": "Figunguli ifya Viliginiya ifya Uwingelesa",
        "VI": "Figunguli fya Viliginiya ifya Malekani",
        "VN": "Vietinamu",
        "WF": "Walisi ni Futuna",
        "WS": "Samoya",
        "YE": "Yemeni",
        "YT": "Mayote",
        "ZA": "Afilika Kusini",
        "ZM": "Sambiya",
        "ZW": "Simbabwe"
    };
  }-*/;
}
