/*
 * 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 "hsb" locale.
 */
public class LocalizedNamesImpl_hsb 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",
        "BG",
        "BR",
        "VG",
        "IO",
        "BN",
        "BF",
        "BI",
        "TD",
        "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",
        "GD",
        "GR",
        "GL",
        "GP",
        "GU",
        "GT",
        "GG",
        "GY",
        "HT",
        "HM",
        "CX",
        "HN",
        "IN",
        "ID",
        "IQ",
        "IR",
        "IE",
        "IS",
        "IL",
        "IT",
        "JM",
        "JP",
        "YE",
        "JE",
        "JO",
        "ZA",
        "GS",
        "KR",
        "SS",
        "KY",
        "KH",
        "CM",
        "CA",
        "IC",
        "CV",
        "BQ",
        "QA",
        "KZ",
        "KE",
        "KG",
        "KI",
        "CC",
        "CO",
        "KM",
        "CG",
        "CD",
        "XK",
        "CR",
        "CU",
        "TC",
        "KW",
        "LA",
        "LS",
        "LV",
        "LB",
        "LR",
        "LY",
        "LI",
        "LT",
        "LU",
        "MG",
        "HU",
        "MK",
        "MY",
        "MW",
        "MV",
        "ML",
        "MT",
        "IM",
        "MA",
        "MH",
        "MQ",
        "MU",
        "MR",
        "YT",
        "MX",
        "FM",
        "MD",
        "MC",
        "MN",
        "ME",
        "MS",
        "MZ",
        "MM",
        "NA",
        "NR",
        "DE",
        "NP",
        "NE",
        "NG",
        "NI",
        "NU",
        "NL",
        "NF",
        "NO",
        "NC",
        "NZ",
        "OM",
        "PK",
        "PW",
        "PS",
        "PA",
        "PG",
        "PY",
        "PE",
        "PN",
        "PL",
        "PT",
        "PR",
        "RE",
        "RW",
        "RO",
        "RU",
        "SB",
        "ZM",
        "WS",
        "SM",
        "ST",
        "SA",
        "SN",
        "RS",
        "KP",
        "MP",
        "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",
        "TV",
        "UG",
        "UA",
        "UN",
        "UY",
        "UZ",
        "VU",
        "VA",
        "VE",
        "VN",
        "WF",
        "QO",
        "HK",
        "MO",
        "XA",
        "XB",
        "EH",
        "AE",
        "GB",
        "US",
    };
  }

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "swět");
    namesMap.put("002", "Afrika");
    namesMap.put("003", "Sewjerna Amerika");
    namesMap.put("005", "Južna Amerika");
    namesMap.put("009", "Oceaniska");
    namesMap.put("011", "zapadna Afrika");
    namesMap.put("013", "Srjedźna Amerika");
    namesMap.put("014", "wuchodna Afrika");
    namesMap.put("015", "sewjerna Afrika");
    namesMap.put("017", "srjedźna Afrika");
    namesMap.put("018", "južna Afrika");
    namesMap.put("019", "Amerika");
    namesMap.put("021", "sewjerny ameriski kontinent");
    namesMap.put("029", "Karibika");
    namesMap.put("030", "wuchodna Azija");
    namesMap.put("034", "južna Azija");
    namesMap.put("035", "juhowuchodna Azija");
    namesMap.put("039", "južna 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", "zapadna Azija");
    namesMap.put("150", "Europa");
    namesMap.put("151", "wuchodna Europa");
    namesMap.put("154", "sewjerna Europa");
    namesMap.put("155", "zapadna Europa");
    namesMap.put("419", "Łaćonska Amerika");
    namesMap.put("AC", "Ascension");
    namesMap.put("AE", "Zjednoćene arabske emiraty");
    namesMap.put("AG", "Antigua a Barbuda");
    namesMap.put("AL", "Albanska");
    namesMap.put("AM", "Armenska");
    namesMap.put("AQ", "Antarktika");
    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", "Bołharska");
    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", "Hodowna kupa");
    namesMap.put("CY", "Cypern");
    namesMap.put("CZ", "Čěska republika");
    namesMap.put("DE", "Němska");
    namesMap.put("DJ", "Dźibuti");
    namesMap.put("DK", "Danska");
    namesMap.put("DM", "Dominika");
    namesMap.put("DO", "Dominikanska republika");
    namesMap.put("DZ", "Algeriska");
    namesMap.put("EA", "Ceuta a Melilla");
    namesMap.put("EC", "Ekwador");
    namesMap.put("EE", "Estiska");
    namesMap.put("EG", "Egyptowska");
    namesMap.put("EH", "Zapadna Sahara");
    namesMap.put("ER", "Eritreja");
    namesMap.put("ES", "Španiska");
    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öske kupy");
    namesMap.put("FR", "Francoska");
    namesMap.put("GA", "Gabun");
    namesMap.put("GB", "Zjednoćene kralestwo");
    namesMap.put("GE", "Georgiska");
    namesMap.put("GF", "Francoska Guyana");
    namesMap.put("GL", "Grönlandska");
    namesMap.put("GM", "Gambija");
    namesMap.put("GN", "Gineja");
    namesMap.put("GQ", "Ekwatorialna Gineja");
    namesMap.put("GR", "Grjekska");
    namesMap.put("GS", "Južna Georgiska a Južne Sandwichowe kupy");
    namesMap.put("GW", "Gineja-Bissau");
    namesMap.put("HK", "Wosebita zarjadniska cona Hongkong");
    namesMap.put("HM", "Heardowa kupa a McDonaldowe kupy");
    namesMap.put("HR", "Chorwatska");
    namesMap.put("HU", "Madźarska");
    namesMap.put("IC", "Kanariske kupy");
    namesMap.put("ID", "Indoneska");
    namesMap.put("IE", "Irska");
    namesMap.put("IM", "Man");
    namesMap.put("IN", "Indiska");
    namesMap.put("IO", "Britiski teritorij w Indiskim oceanje");
    namesMap.put("IQ", "Irak");
    namesMap.put("IS", "Islandska");
    namesMap.put("IT", "Italska");
    namesMap.put("JM", "Jamaika");
    namesMap.put("JO", "Jordaniska");
    namesMap.put("JP", "Japanska");
    namesMap.put("KE", "Kenija");
    namesMap.put("KG", "Kirgizistan");
    namesMap.put("KH", "Kambodźa");
    namesMap.put("KM", "Komory");
    namesMap.put("KN", "St. Kitts a Nevis");
    namesMap.put("KP", "Sewjerna Koreja");
    namesMap.put("KR", "Južna Koreja");
    namesMap.put("KY", "Kajmanske 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("MG", "Madagaskar");
    namesMap.put("MH", "Marshallowe kupy");
    namesMap.put("MK", "Makedonska");
    namesMap.put("MM", "Myanmar");
    namesMap.put("MN", "Mongolska");
    namesMap.put("MO", "Wosebita zarjadniska cona Macao");
    namesMap.put("MP", "Sewjerne Mariany");
    namesMap.put("MR", "Mawretanska");
    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", "Francoska Polyneziska");
    namesMap.put("PG", "Papuwa-Nowa Gineja");
    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 teritorij");
    namesMap.put("PT", "Portugalska");
    namesMap.put("QA", "Katar");
    namesMap.put("QO", "Wonkowna Oceaniska");
    namesMap.put("RO", "Rumunska");
    namesMap.put("RS", "Serbiska");
    namesMap.put("RU", "Ruska");
    namesMap.put("RW", "Ruanda");
    namesMap.put("SA", "Sawdi-Arabska");
    namesMap.put("SB", "Salomony");
    namesMap.put("SC", "Seychelle");
    namesMap.put("SE", "Šwedska");
    namesMap.put("SG", "Singapur");
    namesMap.put("SI", "Słowjenska");
    namesMap.put("SJ", "Svalbard a Jan Mayen");
    namesMap.put("SK", "Słowakska");
    namesMap.put("SO", "Somalija");
    namesMap.put("SR", "Surinam");
    namesMap.put("SS", "Južny Sudan");
    namesMap.put("ST", "São Tomé a Príncipe");
    namesMap.put("SY", "Syriska");
    namesMap.put("SZ", "Swaziska");
    namesMap.put("TC", "kupy Turks a Caicos");
    namesMap.put("TD", "Čad");
    namesMap.put("TF", "Francoski južny a antarktiski teritorij");
    namesMap.put("TH", "Thailandska");
    namesMap.put("TJ", "Tadźikistan");
    namesMap.put("TM", "Turkmeniska");
    namesMap.put("TN", "Tuneziska");
    namesMap.put("TR", "Turkowska");
    namesMap.put("TT", "Trinidad a Tobago");
    namesMap.put("TZ", "Tansanija");
    namesMap.put("UA", "Ukraina");
    namesMap.put("UM", "Ameriska Oceaniska");
    namesMap.put("US", "Zjednoćene staty Ameriki");
    namesMap.put("VA", "Vatikanske město");
    namesMap.put("VC", "St. Vincent a Grenadiny");
    namesMap.put("VG", "Britiske knježniske kupy");
    namesMap.put("VI", "Ameriske knježniske kupy");
    namesMap.put("WF", "Wallis a Futuna");
    namesMap.put("XK", "Kosowo");
    namesMap.put("YE", "Jemen");
    namesMap.put("ZA", "Južna 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": "Sewjerna Amerika",
        "005": "Južna Amerika",
        "009": "Oceaniska",
        "011": "zapadna Afrika",
        "013": "Srjedźna Amerika",
        "014": "wuchodna Afrika",
        "015": "sewjerna Afrika",
        "017": "srjedźna Afrika",
        "018": "južna Afrika",
        "019": "Amerika",
        "021": "sewjerny ameriski kontinent",
        "029": "Karibika",
        "030": "wuchodna Azija",
        "034": "južna Azija",
        "035": "juhowuchodna Azija",
        "039": "južna Europa",
        "053": "Awstralazija",
        "054": "Melaneziska",
        "057": "Mikroneziska (kupowy region)",
        "061": "Polyneziska",
        "142": "Azija",
        "143": "centralna Azija",
        "145": "zapadna Azija",
        "150": "Europa",
        "151": "wuchodna Europa",
        "154": "sewjerna Europa",
        "155": "zapadna Europa",
        "419": "Łaćonska Amerika",
        "AC": "Ascension",
        "AE": "Zjednoćene arabske emiraty",
        "AG": "Antigua a Barbuda",
        "AL": "Albanska",
        "AM": "Armenska",
        "AQ": "Antarktika",
        "AR": "Argentinska",
        "AS": "Ameriska Samoa",
        "AT": "Awstriska",
        "AU": "Awstralska",
        "AX": "Åland",
        "AZ": "Azerbajdźan",
        "BA": "Bosniska a Hercegowina",
        "BD": "Bangladeš",
        "BE": "Belgiska",
        "BG": "Bołharska",
        "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": "Hodowna kupa",
        "CY": "Cypern",
        "CZ": "Čěska republika",
        "DE": "Němska",
        "DJ": "Dźibuti",
        "DK": "Danska",
        "DM": "Dominika",
        "DO": "Dominikanska republika",
        "DZ": "Algeriska",
        "EA": "Ceuta a Melilla",
        "EC": "Ekwador",
        "EE": "Estiska",
        "EG": "Egyptowska",
        "EH": "Zapadna Sahara",
        "ER": "Eritreja",
        "ES": "Španiska",
        "ET": "Etiopiska",
        "EU": "Europska unija",
        "FI": "Finska",
        "FJ": "Fidźi",
        "FK": "Falklandske kupy",
        "FM": "Mikroneziska",
        "FO": "Färöske kupy",
        "FR": "Francoska",
        "GA": "Gabun",
        "GB": "Zjednoćene kralestwo",
        "GE": "Georgiska",
        "GF": "Francoska Guyana",
        "GL": "Grönlandska",
        "GM": "Gambija",
        "GN": "Gineja",
        "GQ": "Ekwatorialna Gineja",
        "GR": "Grjekska",
        "GS": "Južna Georgiska a Južne Sandwichowe kupy",
        "GW": "Gineja-Bissau",
        "HK": "Wosebita zarjadniska cona Hongkong",
        "HM": "Heardowa kupa a McDonaldowe kupy",
        "HR": "Chorwatska",
        "HU": "Madźarska",
        "IC": "Kanariske kupy",
        "ID": "Indoneska",
        "IE": "Irska",
        "IM": "Man",
        "IN": "Indiska",
        "IO": "Britiski teritorij w Indiskim oceanje",
        "IQ": "Irak",
        "IS": "Islandska",
        "IT": "Italska",
        "JM": "Jamaika",
        "JO": "Jordaniska",
        "JP": "Japanska",
        "KE": "Kenija",
        "KG": "Kirgizistan",
        "KH": "Kambodźa",
        "KM": "Komory",
        "KN": "St. Kitts a Nevis",
        "KP": "Sewjerna Koreja",
        "KR": "Južna Koreja",
        "KY": "Kajmanske kupy",
        "KZ": "Kazachstan",
        "LB": "Libanon",
        "LR": "Liberija",
        "LT": "Litawska",
        "LU": "Luxemburgska",
        "LV": "Letiska",
        "LY": "Libyska",
        "MA": "Marokko",
        "MD": "Moldawska",
        "MG": "Madagaskar",
        "MH": "Marshallowe kupy",
        "MK": "Makedonska",
        "MM": "Myanmar",
        "MN": "Mongolska",
        "MO": "Wosebita zarjadniska cona Macao",
        "MP": "Sewjerne Mariany",
        "MR": "Mawretanska",
        "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": "Francoska Polyneziska",
        "PG": "Papuwa-Nowa Gineja",
        "PH": "Filipiny",
        "PL": "Pólska",
        "PM": "St. Pierre a Miquelon",
        "PN": "Pitcairnowe kupy",
        "PS": "Palestinski awtonomny teritorij",
        "PT": "Portugalska",
        "QA": "Katar",
        "QO": "Wonkowna Oceaniska",
        "RO": "Rumunska",
        "RS": "Serbiska",
        "RU": "Ruska",
        "RW": "Ruanda",
        "SA": "Sawdi-Arabska",
        "SB": "Salomony",
        "SC": "Seychelle",
        "SE": "Šwedska",
        "SG": "Singapur",
        "SI": "Słowjenska",
        "SJ": "Svalbard a Jan Mayen",
        "SK": "Słowakska",
        "SO": "Somalija",
        "SR": "Surinam",
        "SS": "Južny Sudan",
        "ST": "São Tomé a Príncipe",
        "SY": "Syriska",
        "SZ": "Swaziska",
        "TC": "kupy Turks a Caicos",
        "TD": "Čad",
        "TF": "Francoski južny a antarktiski teritorij",
        "TH": "Thailandska",
        "TJ": "Tadźikistan",
        "TM": "Turkmeniska",
        "TN": "Tuneziska",
        "TR": "Turkowska",
        "TT": "Trinidad a Tobago",
        "TZ": "Tansanija",
        "UA": "Ukraina",
        "UM": "Ameriska Oceaniska",
        "US": "Zjednoćene staty Ameriki",
        "VA": "Vatikanske město",
        "VC": "St. Vincent a Grenadiny",
        "VG": "Britiske knježniske kupy",
        "VI": "Ameriske knježniske kupy",
        "WF": "Wallis a Futuna",
        "XK": "Kosowo",
        "YE": "Jemen",
        "ZA": "Južna Afrika (Republika)",
        "ZM": "Sambija",
        "ZW": "Simbabwe",
        "ZZ": "njeznaty region"
    };
  }-*/;
}
