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

  @Override
  public String[] loadLikelyRegionCodes() {
    return new String[] {
        "SK",
    };
  }

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "svet");
    namesMap.put("002", "Afrika");
    namesMap.put("003", "Severná Amerika");
    namesMap.put("005", "Južná Amerika");
    namesMap.put("009", "Oceánia");
    namesMap.put("011", "západná Afrika");
    namesMap.put("013", "Stredná Amerika");
    namesMap.put("014", "východná Afrika");
    namesMap.put("015", "severná Afrika");
    namesMap.put("017", "stredná Afrika");
    namesMap.put("018", "južné územia Afriky");
    namesMap.put("019", "Amerika");
    namesMap.put("021", "severné územia Ameriky");
    namesMap.put("029", "Karibik");
    namesMap.put("030", "východná Ázia");
    namesMap.put("034", "južná Ázia");
    namesMap.put("035", "juhovýchodná Ázia");
    namesMap.put("039", "južná Európa");
    namesMap.put("053", "Australázia");
    namesMap.put("054", "Melanézia");
    namesMap.put("057", "oblasť Mikronézie");
    namesMap.put("061", "Polynézia");
    namesMap.put("142", "Ázia");
    namesMap.put("143", "stredná Ázia");
    namesMap.put("145", "západná Ázia");
    namesMap.put("150", "Európa");
    namesMap.put("151", "východná Európa");
    namesMap.put("154", "severná Európa");
    namesMap.put("155", "západná Európa");
    namesMap.put("202", "subsaharská Afrika");
    namesMap.put("419", "Latinská Amerika");
    namesMap.put("AC", "Ascension");
    namesMap.put("AE", "Spojené arabské emiráty");
    namesMap.put("AF", "Afganistan");
    namesMap.put("AG", "Antigua a Barbuda");
    namesMap.put("AL", "Albánsko");
    namesMap.put("AM", "Arménsko");
    namesMap.put("AQ", "Antarktída");
    namesMap.put("AR", "Argentína");
    namesMap.put("AS", "Americká Samoa");
    namesMap.put("AT", "Rakúsko");
    namesMap.put("AU", "Austrália");
    namesMap.put("AX", "Alandy");
    namesMap.put("AZ", "Azerbajdžan");
    namesMap.put("BA", "Bosna a Hercegovina");
    namesMap.put("BD", "Bangladéš");
    namesMap.put("BE", "Belgicko");
    namesMap.put("BG", "Bulharsko");
    namesMap.put("BH", "Bahrajn");
    namesMap.put("BL", "Svätý Bartolomej");
    namesMap.put("BM", "Bermudy");
    namesMap.put("BN", "Brunej");
    namesMap.put("BO", "Bolívia");
    namesMap.put("BQ", "Karibské Holandsko");
    namesMap.put("BR", "Brazília");
    namesMap.put("BS", "Bahamy");
    namesMap.put("BT", "Bhután");
    namesMap.put("BV", "Bouvetov ostrov");
    namesMap.put("BY", "Bielorusko");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Kokosové ostrovy");
    namesMap.put("CD", "Konžská demokratická republika");
    namesMap.put("CF", "Stredoafrická republika");
    namesMap.put("CG", "Konžská republika");
    namesMap.put("CH", "Švajčiarsko");
    namesMap.put("CI", "Pobrežie Slonoviny");
    namesMap.put("CK", "Cookove ostrovy");
    namesMap.put("CL", "Čile");
    namesMap.put("CM", "Kamerun");
    namesMap.put("CN", "Čína");
    namesMap.put("CO", "Kolumbia");
    namesMap.put("CP", "Clipperton");
    namesMap.put("CR", "Kostarika");
    namesMap.put("CU", "Kuba");
    namesMap.put("CV", "Kapverdy");
    namesMap.put("CX", "Vianočný ostrov");
    namesMap.put("CZ", "Česko");
    namesMap.put("DE", "Nemecko");
    namesMap.put("DJ", "Džibutsko");
    namesMap.put("DK", "Dánsko");
    namesMap.put("DM", "Dominika");
    namesMap.put("DO", "Dominikánska republika");
    namesMap.put("DZ", "Alžírsko");
    namesMap.put("EA", "Ceuta a Melilla");
    namesMap.put("EC", "Ekvádor");
    namesMap.put("EE", "Estónsko");
    namesMap.put("EH", "Západná Sahara");
    namesMap.put("ES", "Španielsko");
    namesMap.put("ET", "Etiópia");
    namesMap.put("EU", "Európska únia");
    namesMap.put("EZ", "eurozóna");
    namesMap.put("FI", "Fínsko");
    namesMap.put("FJ", "Fidži");
    namesMap.put("FK", "Falklandy");
    namesMap.put("FM", "Mikronézia");
    namesMap.put("FO", "Faerské ostrovy");
    namesMap.put("FR", "Francúzsko");
    namesMap.put("GB", "Spojené kráľovstvo");
    namesMap.put("GE", "Gruzínsko");
    namesMap.put("GF", "Francúzska Guyana");
    namesMap.put("GI", "Gibraltár");
    namesMap.put("GL", "Grónsko");
    namesMap.put("GQ", "Rovníková Guinea");
    namesMap.put("GR", "Grécko");
    namesMap.put("GS", "Južná Georgia a Južné Sandwichove ostrovy");
    namesMap.put("HK", "Hongkong – OAO Číny");
    namesMap.put("HM", "Heardov ostrov a Macdonaldove ostrovy");
    namesMap.put("HR", "Chorvátsko");
    namesMap.put("HU", "Maďarsko");
    namesMap.put("IC", "Kanárske ostrovy");
    namesMap.put("ID", "Indonézia");
    namesMap.put("IE", "Írsko");
    namesMap.put("IL", "Izrael");
    namesMap.put("IM", "Ostrov Man");
    namesMap.put("IO", "Britské indickooceánske územie");
    namesMap.put("IQ", "Irak");
    namesMap.put("IR", "Irán");
    namesMap.put("IS", "Island");
    namesMap.put("IT", "Taliansko");
    namesMap.put("JM", "Jamajka");
    namesMap.put("JO", "Jordánsko");
    namesMap.put("JP", "Japonsko");
    namesMap.put("KE", "Keňa");
    namesMap.put("KG", "Kirgizsko");
    namesMap.put("KH", "Kambodža");
    namesMap.put("KM", "Komory");
    namesMap.put("KN", "Svätý Krištof a Nevis");
    namesMap.put("KP", "Severná Kórea");
    namesMap.put("KR", "Južná Kórea");
    namesMap.put("KW", "Kuvajt");
    namesMap.put("KY", "Kajmanie ostrovy");
    namesMap.put("KZ", "Kazachstan");
    namesMap.put("LB", "Libanon");
    namesMap.put("LC", "Svätá Lucia");
    namesMap.put("LI", "Lichtenštajnsko");
    namesMap.put("LK", "Srí Lanka");
    namesMap.put("LR", "Libéria");
    namesMap.put("LT", "Litva");
    namesMap.put("LU", "Luxembursko");
    namesMap.put("LV", "Lotyšsko");
    namesMap.put("LY", "Líbya");
    namesMap.put("MA", "Maroko");
    namesMap.put("MC", "Monako");
    namesMap.put("MD", "Moldavsko");
    namesMap.put("ME", "Čierna Hora");
    namesMap.put("MF", "Svätý Martin (fr.)");
    namesMap.put("MG", "Madagaskar");
    namesMap.put("MH", "Marshallove ostrovy");
    namesMap.put("MK", "Macedónsko");
    namesMap.put("MM", "Mjanmarsko");
    namesMap.put("MN", "Mongolsko");
    namesMap.put("MO", "Macao – OAO Číny");
    namesMap.put("MP", "Severné Mariány");
    namesMap.put("MQ", "Martinik");
    namesMap.put("MR", "Mauritánia");
    namesMap.put("MU", "Maurícius");
    namesMap.put("MV", "Maldivy");
    namesMap.put("MX", "Mexiko");
    namesMap.put("MY", "Malajzia");
    namesMap.put("MZ", "Mozambik");
    namesMap.put("NA", "Namíbia");
    namesMap.put("NC", "Nová Kaledónia");
    namesMap.put("NF", "Norfolk");
    namesMap.put("NG", "Nigéria");
    namesMap.put("NI", "Nikaragua");
    namesMap.put("NL", "Holandsko");
    namesMap.put("NO", "Nórsko");
    namesMap.put("NP", "Nepál");
    namesMap.put("NZ", "Nový Zéland");
    namesMap.put("OM", "Omán");
    namesMap.put("PF", "Francúzska Polynézia");
    namesMap.put("PG", "Papua-Nová Guinea");
    namesMap.put("PH", "Filipíny");
    namesMap.put("PL", "Poľsko");
    namesMap.put("PM", "Saint Pierre a Miquelon");
    namesMap.put("PN", "Pitcairnove ostrovy");
    namesMap.put("PR", "Portoriko");
    namesMap.put("PS", "Palestínske územia");
    namesMap.put("PT", "Portugalsko");
    namesMap.put("PY", "Paraguaj");
    namesMap.put("QA", "Katar");
    namesMap.put("QO", "ostatné Tichomorie");
    namesMap.put("RO", "Rumunsko");
    namesMap.put("RS", "Srbsko");
    namesMap.put("RU", "Rusko");
    namesMap.put("SA", "Saudská Arábia");
    namesMap.put("SB", "Šalamúnove ostrovy");
    namesMap.put("SC", "Seychely");
    namesMap.put("SD", "Sudán");
    namesMap.put("SE", "Švédsko");
    namesMap.put("SG", "Singapur");
    namesMap.put("SH", "Svätá Helena");
    namesMap.put("SI", "Slovinsko");
    namesMap.put("SJ", "Svalbard a Jan Mayen");
    namesMap.put("SK", "Slovensko");
    namesMap.put("SM", "San Maríno");
    namesMap.put("SO", "Somálsko");
    namesMap.put("SR", "Surinam");
    namesMap.put("SS", "Južný Sudán");
    namesMap.put("ST", "Svätý Tomáš a Princov ostrov");
    namesMap.put("SV", "Salvádor");
    namesMap.put("SX", "Svätý Martin (hol.)");
    namesMap.put("SY", "Sýria");
    namesMap.put("SZ", "Svazijsko");
    namesMap.put("TC", "Turks a Caicos");
    namesMap.put("TD", "Čad");
    namesMap.put("TF", "Francúzske južné a antarktické územia");
    namesMap.put("TH", "Thajsko");
    namesMap.put("TJ", "Tadžikistan");
    namesMap.put("TL", "Východný Timor");
    namesMap.put("TM", "Turkménsko");
    namesMap.put("TN", "Tunisko");
    namesMap.put("TR", "Turecko");
    namesMap.put("TT", "Trinidad a Tobago");
    namesMap.put("TZ", "Tanzánia");
    namesMap.put("UA", "Ukrajina");
    namesMap.put("UM", "Menšie odľahlé ostrovy USA");
    namesMap.put("UN", "Organizácia Spojených národov");
    namesMap.put("US", "Spojené štáty");
    namesMap.put("UY", "Uruguaj");
    namesMap.put("VA", "Vatikán");
    namesMap.put("VC", "Svätý Vincent a Grenadíny");
    namesMap.put("VG", "Britské Panenské ostrovy");
    namesMap.put("VI", "Americké Panenské ostrovy");
    namesMap.put("WF", "Wallis a Futuna");
    namesMap.put("YE", "Jemen");
    namesMap.put("ZA", "Južná Afrika");
    namesMap.put("ZZ", "neznámy región");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "svet",
        "002": "Afrika",
        "003": "Severná Amerika",
        "005": "Južná Amerika",
        "009": "Oceánia",
        "011": "západná Afrika",
        "013": "Stredná Amerika",
        "014": "východná Afrika",
        "015": "severná Afrika",
        "017": "stredná Afrika",
        "018": "južné územia Afriky",
        "019": "Amerika",
        "021": "severné územia Ameriky",
        "029": "Karibik",
        "030": "východná Ázia",
        "034": "južná Ázia",
        "035": "juhovýchodná Ázia",
        "039": "južná Európa",
        "053": "Australázia",
        "054": "Melanézia",
        "057": "oblasť Mikronézie",
        "061": "Polynézia",
        "142": "Ázia",
        "143": "stredná Ázia",
        "145": "západná Ázia",
        "150": "Európa",
        "151": "východná Európa",
        "154": "severná Európa",
        "155": "západná Európa",
        "202": "subsaharská Afrika",
        "419": "Latinská Amerika",
        "AC": "Ascension",
        "AE": "Spojené arabské emiráty",
        "AF": "Afganistan",
        "AG": "Antigua a Barbuda",
        "AL": "Albánsko",
        "AM": "Arménsko",
        "AQ": "Antarktída",
        "AR": "Argentína",
        "AS": "Americká Samoa",
        "AT": "Rakúsko",
        "AU": "Austrália",
        "AX": "Alandy",
        "AZ": "Azerbajdžan",
        "BA": "Bosna a Hercegovina",
        "BD": "Bangladéš",
        "BE": "Belgicko",
        "BG": "Bulharsko",
        "BH": "Bahrajn",
        "BL": "Svätý Bartolomej",
        "BM": "Bermudy",
        "BN": "Brunej",
        "BO": "Bolívia",
        "BQ": "Karibské Holandsko",
        "BR": "Brazília",
        "BS": "Bahamy",
        "BT": "Bhután",
        "BV": "Bouvetov ostrov",
        "BY": "Bielorusko",
        "CA": "Kanada",
        "CC": "Kokosové ostrovy",
        "CD": "Konžská demokratická republika",
        "CF": "Stredoafrická republika",
        "CG": "Konžská republika",
        "CH": "Švajčiarsko",
        "CI": "Pobrežie Slonoviny",
        "CK": "Cookove ostrovy",
        "CL": "Čile",
        "CM": "Kamerun",
        "CN": "Čína",
        "CO": "Kolumbia",
        "CP": "Clipperton",
        "CR": "Kostarika",
        "CU": "Kuba",
        "CV": "Kapverdy",
        "CX": "Vianočný ostrov",
        "CZ": "Česko",
        "DE": "Nemecko",
        "DJ": "Džibutsko",
        "DK": "Dánsko",
        "DM": "Dominika",
        "DO": "Dominikánska republika",
        "DZ": "Alžírsko",
        "EA": "Ceuta a Melilla",
        "EC": "Ekvádor",
        "EE": "Estónsko",
        "EH": "Západná Sahara",
        "ES": "Španielsko",
        "ET": "Etiópia",
        "EU": "Európska únia",
        "EZ": "eurozóna",
        "FI": "Fínsko",
        "FJ": "Fidži",
        "FK": "Falklandy",
        "FM": "Mikronézia",
        "FO": "Faerské ostrovy",
        "FR": "Francúzsko",
        "GB": "Spojené kráľovstvo",
        "GE": "Gruzínsko",
        "GF": "Francúzska Guyana",
        "GI": "Gibraltár",
        "GL": "Grónsko",
        "GQ": "Rovníková Guinea",
        "GR": "Grécko",
        "GS": "Južná Georgia a Južné Sandwichove ostrovy",
        "HK": "Hongkong – OAO Číny",
        "HM": "Heardov ostrov a Macdonaldove ostrovy",
        "HR": "Chorvátsko",
        "HU": "Maďarsko",
        "IC": "Kanárske ostrovy",
        "ID": "Indonézia",
        "IE": "Írsko",
        "IL": "Izrael",
        "IM": "Ostrov Man",
        "IO": "Britské indickooceánske územie",
        "IQ": "Irak",
        "IR": "Irán",
        "IS": "Island",
        "IT": "Taliansko",
        "JM": "Jamajka",
        "JO": "Jordánsko",
        "JP": "Japonsko",
        "KE": "Keňa",
        "KG": "Kirgizsko",
        "KH": "Kambodža",
        "KM": "Komory",
        "KN": "Svätý Krištof a Nevis",
        "KP": "Severná Kórea",
        "KR": "Južná Kórea",
        "KW": "Kuvajt",
        "KY": "Kajmanie ostrovy",
        "KZ": "Kazachstan",
        "LB": "Libanon",
        "LC": "Svätá Lucia",
        "LI": "Lichtenštajnsko",
        "LK": "Srí Lanka",
        "LR": "Libéria",
        "LT": "Litva",
        "LU": "Luxembursko",
        "LV": "Lotyšsko",
        "LY": "Líbya",
        "MA": "Maroko",
        "MC": "Monako",
        "MD": "Moldavsko",
        "ME": "Čierna Hora",
        "MF": "Svätý Martin (fr.)",
        "MG": "Madagaskar",
        "MH": "Marshallove ostrovy",
        "MK": "Macedónsko",
        "MM": "Mjanmarsko",
        "MN": "Mongolsko",
        "MO": "Macao – OAO Číny",
        "MP": "Severné Mariány",
        "MQ": "Martinik",
        "MR": "Mauritánia",
        "MU": "Maurícius",
        "MV": "Maldivy",
        "MX": "Mexiko",
        "MY": "Malajzia",
        "MZ": "Mozambik",
        "NA": "Namíbia",
        "NC": "Nová Kaledónia",
        "NF": "Norfolk",
        "NG": "Nigéria",
        "NI": "Nikaragua",
        "NL": "Holandsko",
        "NO": "Nórsko",
        "NP": "Nepál",
        "NZ": "Nový Zéland",
        "OM": "Omán",
        "PF": "Francúzska Polynézia",
        "PG": "Papua-Nová Guinea",
        "PH": "Filipíny",
        "PL": "Poľsko",
        "PM": "Saint Pierre a Miquelon",
        "PN": "Pitcairnove ostrovy",
        "PR": "Portoriko",
        "PS": "Palestínske územia",
        "PT": "Portugalsko",
        "PY": "Paraguaj",
        "QA": "Katar",
        "QO": "ostatné Tichomorie",
        "RO": "Rumunsko",
        "RS": "Srbsko",
        "RU": "Rusko",
        "SA": "Saudská Arábia",
        "SB": "Šalamúnove ostrovy",
        "SC": "Seychely",
        "SD": "Sudán",
        "SE": "Švédsko",
        "SG": "Singapur",
        "SH": "Svätá Helena",
        "SI": "Slovinsko",
        "SJ": "Svalbard a Jan Mayen",
        "SK": "Slovensko",
        "SM": "San Maríno",
        "SO": "Somálsko",
        "SR": "Surinam",
        "SS": "Južný Sudán",
        "ST": "Svätý Tomáš a Princov ostrov",
        "SV": "Salvádor",
        "SX": "Svätý Martin (hol.)",
        "SY": "Sýria",
        "SZ": "Svazijsko",
        "TC": "Turks a Caicos",
        "TD": "Čad",
        "TF": "Francúzske južné a antarktické územia",
        "TH": "Thajsko",
        "TJ": "Tadžikistan",
        "TL": "Východný Timor",
        "TM": "Turkménsko",
        "TN": "Tunisko",
        "TR": "Turecko",
        "TT": "Trinidad a Tobago",
        "TZ": "Tanzánia",
        "UA": "Ukrajina",
        "UM": "Menšie odľahlé ostrovy USA",
        "UN": "Organizácia Spojených národov",
        "US": "Spojené štáty",
        "UY": "Uruguaj",
        "VA": "Vatikán",
        "VC": "Svätý Vincent a Grenadíny",
        "VG": "Britské Panenské ostrovy",
        "VI": "Americké Panenské ostrovy",
        "WF": "Wallis a Futuna",
        "YE": "Jemen",
        "ZA": "Južná Afrika",
        "ZZ": "neznámy región"
    };
  }-*/;
}
