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

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "swět");
    namesMap.put("002", "Afrika");
    namesMap.put("003", "Pódpołnocna Amerika");
    namesMap.put("005", "Pódpołdnjowa Amerika");
    namesMap.put("009", "Oceaniska");
    namesMap.put("011", "Pódwjacorna Afrika");
    namesMap.put("013", "Srjejźna Amerika");
    namesMap.put("014", "pódzajtšna Afrika");
    namesMap.put("015", "pódpołnocna Afrika");
    namesMap.put("017", "srjejźna Afrika");
    namesMap.put("018", "pódpołdnjowa Afrika");
    namesMap.put("019", "Amerika");
    namesMap.put("021", "pódpołnocny ameriski kontinent");
    namesMap.put("029", "Karibiska");
    namesMap.put("030", "pódzajtšna Azija");
    namesMap.put("034", "pódpołdnjowa Azija");
    namesMap.put("035", "krotkozajtšna Azija");
    namesMap.put("039", "pódpołdnjowa Europa");
    namesMap.put("053", "Awstralazija");
    namesMap.put("054", "Melaneziska");
    namesMap.put("057", "Mikroneziska (kupowy region)");
    namesMap.put("061", "Polyneziska");
    namesMap.put("142", "Azija");
    namesMap.put("143", "centralna Azija");
    namesMap.put("145", "pódwjacorna Azija");
    namesMap.put("150", "Europa");
    namesMap.put("151", "pódzajtšna Europa");
    namesMap.put("154", "pódpołnocna Europa");
    namesMap.put("155", "pódwjacorna Europa");
    namesMap.put("419", "Łatyńska Amerika");
    namesMap.put("AC", "Ascension");
    namesMap.put("AE", "Zjadnośone arabiske emiraty");
    namesMap.put("AG", "Antigua a Barbuda");
    namesMap.put("AL", "Albańska");
    namesMap.put("AM", "Armeńska");
    namesMap.put("AQ", "Antarktis");
    namesMap.put("AR", "Argentinska");
    namesMap.put("AS", "Ameriska Samoa");
    namesMap.put("AT", "Awstriska");
    namesMap.put("AU", "Awstralska");
    namesMap.put("AX", "Åland");
    namesMap.put("AZ", "Azerbajdžan");
    namesMap.put("BA", "Bosniska a Hercegowina");
    namesMap.put("BD", "Bangladeš");
    namesMap.put("BE", "Belgiska");
    namesMap.put("BG", "Bulgarska");
    namesMap.put("BM", "Bermudy");
    namesMap.put("BO", "Boliwiska");
    namesMap.put("BQ", "Karibiska Nižozemska");
    namesMap.put("BR", "Brazilska");
    namesMap.put("BS", "Bahamy");
    namesMap.put("BV", "Bouvetowa kupa");
    namesMap.put("BY", "Běłoruska");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Kokosowe kupy");
    namesMap.put("CD", "Kongo-Kinshasa");
    namesMap.put("CF", "Centralnoafriska republika");
    namesMap.put("CG", "Kongo-Brazzaville");
    namesMap.put("CH", "Šwicarska");
    namesMap.put("CK", "Cookowe kupy");
    namesMap.put("CL", "Chilska");
    namesMap.put("CM", "Kamerun");
    namesMap.put("CO", "Kolumbiska");
    namesMap.put("CP", "Clippertonowa kupa");
    namesMap.put("CR", "Kosta Rika");
    namesMap.put("CU", "Kuba");
    namesMap.put("CV", "Kap Verde");
    namesMap.put("CX", "Gódowne kupy");
    namesMap.put("CY", "Cypriska");
    namesMap.put("CZ", "Česka republika");
    namesMap.put("DE", "Nimska");
    namesMap.put("DJ", "Džibuti");
    namesMap.put("DK", "Dańska");
    namesMap.put("DM", "Dominika");
    namesMap.put("DO", "Dominikańska republika");
    namesMap.put("DZ", "Algeriska");
    namesMap.put("EA", "Ceuta a Melilla");
    namesMap.put("EC", "Ekwador");
    namesMap.put("EE", "Estniska");
    namesMap.put("EG", "Egyptojska");
    namesMap.put("EH", "Pódwjacorna Sahara");
    namesMap.put("ER", "Eritreja");
    namesMap.put("ES", "Špańska");
    namesMap.put("ET", "Etiopiska");
    namesMap.put("EU", "Europska unija");
    namesMap.put("FI", "Finska");
    namesMap.put("FJ", "Fidži");
    namesMap.put("FK", "Falklandske kupy");
    namesMap.put("FM", "Mikroneziska");
    namesMap.put("FO", "Färöje");
    namesMap.put("FR", "Francojska");
    namesMap.put("GA", "Gabun");
    namesMap.put("GB", "Zjadnośone kralejstwo");
    namesMap.put("GE", "Georgiska");
    namesMap.put("GF", "Francojska Guyana");
    namesMap.put("GL", "Grönlandska");
    namesMap.put("GM", "Gambija");
    namesMap.put("GN", "Gineja");
    namesMap.put("GQ", "Ekwatorialna Gineja");
    namesMap.put("GR", "Grichiska");
    namesMap.put("GS", "Pódpołdnjowa Georgiska a Pódpołdnjowe Sandwichowe kupy");
    namesMap.put("GW", "Gineja-Bissau");
    namesMap.put("HK", "Wósebna zastojnstwowa cona Hongkong");
    namesMap.put("HM", "Heardowa kupa a McDonaldowe kupy");
    namesMap.put("HR", "Chorwatska");
    namesMap.put("HU", "Hungorska");
    namesMap.put("IC", "Kanariske kupy");
    namesMap.put("ID", "Indoneziska");
    namesMap.put("IE", "Irska");
    namesMap.put("IM", "Man");
    namesMap.put("IN", "Indiska");
    namesMap.put("IO", "Britiski indiskooceaniski teritorium");
    namesMap.put("IQ", "Irak");
    namesMap.put("IS", "Islandska");
    namesMap.put("IT", "Italska");
    namesMap.put("JM", "Jamaika");
    namesMap.put("JO", "Jordaniska");
    namesMap.put("JP", "Japańska");
    namesMap.put("KE", "Kenia");
    namesMap.put("KG", "Kirgizistan");
    namesMap.put("KH", "Kambodža");
    namesMap.put("KM", "Komory");
    namesMap.put("KN", "St. Kitts a Nevis");
    namesMap.put("KP", "Pódpołnocna Koreja");
    namesMap.put("KR", "Pódpołdnjowa Koreja");
    namesMap.put("KY", "Kajmaniske kupy");
    namesMap.put("KZ", "Kazachstan");
    namesMap.put("LB", "Libanon");
    namesMap.put("LR", "Liberija");
    namesMap.put("LT", "Litawska");
    namesMap.put("LU", "Luxemburgska");
    namesMap.put("LV", "Letiska");
    namesMap.put("LY", "Libyska");
    namesMap.put("MA", "Marokko");
    namesMap.put("MD", "Moldawska");
    namesMap.put("ME", "Carna Góra");
    namesMap.put("MG", "Madagaskar");
    namesMap.put("MH", "Marshallowe kupy");
    namesMap.put("MK", "Makedońska");
    namesMap.put("MM", "Myanmar");
    namesMap.put("MN", "Mongolska");
    namesMap.put("MO", "Wósebna zastojnstwowa cona Macao");
    namesMap.put("MP", "Pódpołnocne Mariany");
    namesMap.put("MR", "Mawretańska");
    namesMap.put("MV", "Malediwy");
    namesMap.put("MX", "Mexiko");
    namesMap.put("MY", "Malajzija");
    namesMap.put("MZ", "Mosambik");
    namesMap.put("NA", "Namibija");
    namesMap.put("NC", "Nowa Kaledoniska");
    namesMap.put("NF", "Norfolkowa kupa");
    namesMap.put("NG", "Nigerija");
    namesMap.put("NI", "Nikaragua");
    namesMap.put("NL", "Nižozemska");
    namesMap.put("NO", "Norwegska");
    namesMap.put("NZ", "Nowoseelandska");
    namesMap.put("PF", "Francojska Polyneziska");
    namesMap.put("PG", "Papua-Neuguinea");
    namesMap.put("PH", "Filipiny");
    namesMap.put("PL", "Pólska");
    namesMap.put("PM", "St. Pierre a Miquelon");
    namesMap.put("PN", "Pitcairnowe kupy");
    namesMap.put("PS", "Palestinski awtonomny teritorium");
    namesMap.put("PT", "Portugalska");
    namesMap.put("QA", "Katar");
    namesMap.put("QO", "wenkowna Oceaniska");
    namesMap.put("RO", "Rumuńska");
    namesMap.put("RS", "Serbiska");
    namesMap.put("RU", "Ruska");
    namesMap.put("RW", "Ruanda");
    namesMap.put("SA", "Saudi-Arabiska");
    namesMap.put("SB", "Salomony");
    namesMap.put("SC", "Seychelle");
    namesMap.put("SE", "Šwedska");
    namesMap.put("SG", "Singapur");
    namesMap.put("SI", "Słowjeńska");
    namesMap.put("SJ", "Svalbard a Jan Mayen");
    namesMap.put("SK", "Słowakska");
    namesMap.put("SO", "Somalija");
    namesMap.put("SR", "Surinamska");
    namesMap.put("SS", "Pódpołdnjowy Sudan");
    namesMap.put("ST", "São Tomé a Príncipe");
    namesMap.put("SY", "Syriska");
    namesMap.put("SZ", "Swasiska");
    namesMap.put("TC", "Turks a Caicos kupy");
    namesMap.put("TD", "Čad");
    namesMap.put("TF", "Francojski pódpołdnjowy a antarktiski teritorium");
    namesMap.put("TH", "Thailandska");
    namesMap.put("TJ", "Tadźikistan");
    namesMap.put("TM", "Turkmeniska");
    namesMap.put("TN", "Tuneziska");
    namesMap.put("TR", "Turkojska");
    namesMap.put("TT", "Trinidad a Tobago");
    namesMap.put("TZ", "Tansanija");
    namesMap.put("UA", "Ukraina");
    namesMap.put("UM", "Ameriska Oceaniska");
    namesMap.put("US", "Zjadnośone staty Ameriki");
    namesMap.put("VA", "Vatikańske město");
    namesMap.put("VC", "St. Vincent a Grenadiny");
    namesMap.put("VG", "Britiske kněžniske kupy");
    namesMap.put("VI", "Ameriske kněžniske kupy");
    namesMap.put("WF", "Wallis a Futuna");
    namesMap.put("XK", "Kosowo");
    namesMap.put("YE", "Jemen");
    namesMap.put("ZA", "Pódpołdnjowa Afrika (Republika)");
    namesMap.put("ZM", "Sambija");
    namesMap.put("ZW", "Simbabwe");
    namesMap.put("ZZ", "njeznaty region");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "swět",
        "002": "Afrika",
        "003": "Pódpołnocna Amerika",
        "005": "Pódpołdnjowa Amerika",
        "009": "Oceaniska",
        "011": "Pódwjacorna Afrika",
        "013": "Srjejźna Amerika",
        "014": "pódzajtšna Afrika",
        "015": "pódpołnocna Afrika",
        "017": "srjejźna Afrika",
        "018": "pódpołdnjowa Afrika",
        "019": "Amerika",
        "021": "pódpołnocny ameriski kontinent",
        "029": "Karibiska",
        "030": "pódzajtšna Azija",
        "034": "pódpołdnjowa Azija",
        "035": "krotkozajtšna Azija",
        "039": "pódpołdnjowa Europa",
        "053": "Awstralazija",
        "054": "Melaneziska",
        "057": "Mikroneziska (kupowy region)",
        "061": "Polyneziska",
        "142": "Azija",
        "143": "centralna Azija",
        "145": "pódwjacorna Azija",
        "150": "Europa",
        "151": "pódzajtšna Europa",
        "154": "pódpołnocna Europa",
        "155": "pódwjacorna Europa",
        "419": "Łatyńska Amerika",
        "AC": "Ascension",
        "AE": "Zjadnośone arabiske emiraty",
        "AG": "Antigua a Barbuda",
        "AL": "Albańska",
        "AM": "Armeńska",
        "AQ": "Antarktis",
        "AR": "Argentinska",
        "AS": "Ameriska Samoa",
        "AT": "Awstriska",
        "AU": "Awstralska",
        "AX": "Åland",
        "AZ": "Azerbajdžan",
        "BA": "Bosniska a Hercegowina",
        "BD": "Bangladeš",
        "BE": "Belgiska",
        "BG": "Bulgarska",
        "BM": "Bermudy",
        "BO": "Boliwiska",
        "BQ": "Karibiska Nižozemska",
        "BR": "Brazilska",
        "BS": "Bahamy",
        "BV": "Bouvetowa kupa",
        "BY": "Běłoruska",
        "CA": "Kanada",
        "CC": "Kokosowe kupy",
        "CD": "Kongo-Kinshasa",
        "CF": "Centralnoafriska republika",
        "CG": "Kongo-Brazzaville",
        "CH": "Šwicarska",
        "CK": "Cookowe kupy",
        "CL": "Chilska",
        "CM": "Kamerun",
        "CO": "Kolumbiska",
        "CP": "Clippertonowa kupa",
        "CR": "Kosta Rika",
        "CU": "Kuba",
        "CV": "Kap Verde",
        "CX": "Gódowne kupy",
        "CY": "Cypriska",
        "CZ": "Česka republika",
        "DE": "Nimska",
        "DJ": "Džibuti",
        "DK": "Dańska",
        "DM": "Dominika",
        "DO": "Dominikańska republika",
        "DZ": "Algeriska",
        "EA": "Ceuta a Melilla",
        "EC": "Ekwador",
        "EE": "Estniska",
        "EG": "Egyptojska",
        "EH": "Pódwjacorna Sahara",
        "ER": "Eritreja",
        "ES": "Špańska",
        "ET": "Etiopiska",
        "EU": "Europska unija",
        "FI": "Finska",
        "FJ": "Fidži",
        "FK": "Falklandske kupy",
        "FM": "Mikroneziska",
        "FO": "Färöje",
        "FR": "Francojska",
        "GA": "Gabun",
        "GB": "Zjadnośone kralejstwo",
        "GE": "Georgiska",
        "GF": "Francojska Guyana",
        "GL": "Grönlandska",
        "GM": "Gambija",
        "GN": "Gineja",
        "GQ": "Ekwatorialna Gineja",
        "GR": "Grichiska",
        "GS": "Pódpołdnjowa Georgiska a Pódpołdnjowe Sandwichowe kupy",
        "GW": "Gineja-Bissau",
        "HK": "Wósebna zastojnstwowa cona Hongkong",
        "HM": "Heardowa kupa a McDonaldowe kupy",
        "HR": "Chorwatska",
        "HU": "Hungorska",
        "IC": "Kanariske kupy",
        "ID": "Indoneziska",
        "IE": "Irska",
        "IM": "Man",
        "IN": "Indiska",
        "IO": "Britiski indiskooceaniski teritorium",
        "IQ": "Irak",
        "IS": "Islandska",
        "IT": "Italska",
        "JM": "Jamaika",
        "JO": "Jordaniska",
        "JP": "Japańska",
        "KE": "Kenia",
        "KG": "Kirgizistan",
        "KH": "Kambodža",
        "KM": "Komory",
        "KN": "St. Kitts a Nevis",
        "KP": "Pódpołnocna Koreja",
        "KR": "Pódpołdnjowa Koreja",
        "KY": "Kajmaniske kupy",
        "KZ": "Kazachstan",
        "LB": "Libanon",
        "LR": "Liberija",
        "LT": "Litawska",
        "LU": "Luxemburgska",
        "LV": "Letiska",
        "LY": "Libyska",
        "MA": "Marokko",
        "MD": "Moldawska",
        "ME": "Carna Góra",
        "MG": "Madagaskar",
        "MH": "Marshallowe kupy",
        "MK": "Makedońska",
        "MM": "Myanmar",
        "MN": "Mongolska",
        "MO": "Wósebna zastojnstwowa cona Macao",
        "MP": "Pódpołnocne Mariany",
        "MR": "Mawretańska",
        "MV": "Malediwy",
        "MX": "Mexiko",
        "MY": "Malajzija",
        "MZ": "Mosambik",
        "NA": "Namibija",
        "NC": "Nowa Kaledoniska",
        "NF": "Norfolkowa kupa",
        "NG": "Nigerija",
        "NI": "Nikaragua",
        "NL": "Nižozemska",
        "NO": "Norwegska",
        "NZ": "Nowoseelandska",
        "PF": "Francojska Polyneziska",
        "PG": "Papua-Neuguinea",
        "PH": "Filipiny",
        "PL": "Pólska",
        "PM": "St. Pierre a Miquelon",
        "PN": "Pitcairnowe kupy",
        "PS": "Palestinski awtonomny teritorium",
        "PT": "Portugalska",
        "QA": "Katar",
        "QO": "wenkowna Oceaniska",
        "RO": "Rumuńska",
        "RS": "Serbiska",
        "RU": "Ruska",
        "RW": "Ruanda",
        "SA": "Saudi-Arabiska",
        "SB": "Salomony",
        "SC": "Seychelle",
        "SE": "Šwedska",
        "SG": "Singapur",
        "SI": "Słowjeńska",
        "SJ": "Svalbard a Jan Mayen",
        "SK": "Słowakska",
        "SO": "Somalija",
        "SR": "Surinamska",
        "SS": "Pódpołdnjowy Sudan",
        "ST": "São Tomé a Príncipe",
        "SY": "Syriska",
        "SZ": "Swasiska",
        "TC": "Turks a Caicos kupy",
        "TD": "Čad",
        "TF": "Francojski pódpołdnjowy a antarktiski teritorium",
        "TH": "Thailandska",
        "TJ": "Tadźikistan",
        "TM": "Turkmeniska",
        "TN": "Tuneziska",
        "TR": "Turkojska",
        "TT": "Trinidad a Tobago",
        "TZ": "Tansanija",
        "UA": "Ukraina",
        "UM": "Ameriska Oceaniska",
        "US": "Zjadnośone staty Ameriki",
        "VA": "Vatikańske město",
        "VC": "St. Vincent a Grenadiny",
        "VG": "Britiske kněžniske kupy",
        "VI": "Ameriske kněžniske kupy",
        "WF": "Wallis a Futuna",
        "XK": "Kosowo",
        "YE": "Jemen",
        "ZA": "Pódpołdnjowa Afrika (Republika)",
        "ZM": "Sambija",
        "ZW": "Simbabwe",
        "ZZ": "njeznaty region"
    };
  }-*/;
}
