/*
 * Copyright 2014 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:
//  cldrVersion=25
//  date=$Date: 2014-03-01 06:57:43 +0100 (Sat, 01 Mar 2014) $
//  number=$Revision: 9852 $
//  type=root

/**
 * Localized names for the "pl" locale.
 */
public class LocalizedNamesImpl_pl extends LocalizedNamesImpl {

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

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "świat");
    namesMap.put("002", "Afryka");
    namesMap.put("003", "Ameryka Północna");
    namesMap.put("005", "Ameryka Południowa");
    namesMap.put("011", "Afryka Zachodnia");
    namesMap.put("013", "Ameryka Środkowa");
    namesMap.put("014", "Afryka Wschodnia");
    namesMap.put("015", "Afryka Północna");
    namesMap.put("017", "Afryka Środkowa");
    namesMap.put("018", "Afryka Południowa");
    namesMap.put("019", "Ameryka");
    namesMap.put("021", "Ameryka Północna (USA, Kanada)");
    namesMap.put("029", "Karaiby");
    namesMap.put("030", "Azja Wschodnia");
    namesMap.put("034", "Azja Południowa");
    namesMap.put("035", "Azja Południowo-Wschodnia");
    namesMap.put("039", "Europa Południowa");
    namesMap.put("053", "Australazja");
    namesMap.put("054", "Melanezja");
    namesMap.put("057", "Region Mikronezji");
    namesMap.put("061", "Polinezja");
    namesMap.put("142", "Azja");
    namesMap.put("143", "Azja Środkowa");
    namesMap.put("145", "Azja Zachodnia");
    namesMap.put("150", "Europa");
    namesMap.put("151", "Europa Wschodnia");
    namesMap.put("154", "Europa Północna");
    namesMap.put("155", "Europa Zachodnia");
    namesMap.put("419", "Ameryka Łacińska");
    namesMap.put("AC", "Wyspa Wniebowstąpienia");
    namesMap.put("AD", "Andora");
    namesMap.put("AE", "Zjednoczone Emiraty Arabskie");
    namesMap.put("AF", "Afganistan");
    namesMap.put("AG", "Antigua i Barbuda");
    namesMap.put("AN", "Antyle Holenderskie");
    namesMap.put("AQ", "Antarktyka");
    namesMap.put("AR", "Argentyna");
    namesMap.put("AS", "Samoa Amerykańskie");
    namesMap.put("AX", "Wyspy Alandzkie");
    namesMap.put("AZ", "Azerbejdżan");
    namesMap.put("BA", "Bośnia i Hercegowina");
    namesMap.put("BD", "Bangladesz");
    namesMap.put("BE", "Belgia");
    namesMap.put("BG", "Bułgaria");
    namesMap.put("BH", "Bahrajn");
    namesMap.put("BL", "Saint-Barthélemy");
    namesMap.put("BM", "Bermudy");
    namesMap.put("BN", "Brunei Darussalam");
    namesMap.put("BO", "Boliwia");
    namesMap.put("BQ", "Niderlandy Karaibskie");
    namesMap.put("BR", "Brazylia");
    namesMap.put("BS", "Bahamy");
    namesMap.put("BV", "Wyspa Bouveta");
    namesMap.put("BY", "Białoruś");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Wyspy Kokosowe");
    namesMap.put("CD", "Demokratyczna Republika Konga");
    namesMap.put("CF", "Republika Środkowoafrykańska");
    namesMap.put("CG", "Kongo");
    namesMap.put("CH", "Szwajcaria");
    namesMap.put("CK", "Wyspy Cooka");
    namesMap.put("CM", "Kamerun");
    namesMap.put("CN", "Chiny");
    namesMap.put("CO", "Kolumbia");
    namesMap.put("CP", "Clipperton");
    namesMap.put("CR", "Kostaryka");
    namesMap.put("CU", "Kuba");
    namesMap.put("CV", "Republika Zielonego Przylądka");
    namesMap.put("CX", "Wyspa Bożego Narodzenia");
    namesMap.put("CY", "Cypr");
    namesMap.put("CZ", "Czechy");
    namesMap.put("DE", "Niemcy");
    namesMap.put("DJ", "Dżibuti");
    namesMap.put("DK", "Dania");
    namesMap.put("DM", "Dominika");
    namesMap.put("DO", "Dominikana");
    namesMap.put("DZ", "Algieria");
    namesMap.put("EA", "Ceuta i Melilla");
    namesMap.put("EC", "Ekwador");
    namesMap.put("EG", "Egipt");
    namesMap.put("EH", "Sahara Zachodnia");
    namesMap.put("ER", "Erytrea");
    namesMap.put("ES", "Hiszpania");
    namesMap.put("ET", "Etiopia");
    namesMap.put("EU", "Unia Europejska");
    namesMap.put("FI", "Finlandia");
    namesMap.put("FJ", "Fidżi");
    namesMap.put("FK", "Falklandy");
    namesMap.put("FM", "Mikronezja");
    namesMap.put("FO", "Wyspy Owcze");
    namesMap.put("FR", "Francja");
    namesMap.put("GB", "Wielka Brytania");
    namesMap.put("GE", "Gruzja");
    namesMap.put("GF", "Gujana Francuska");
    namesMap.put("GG", "Wyspa Guernsey");
    namesMap.put("GL", "Grenlandia");
    namesMap.put("GN", "Gwinea");
    namesMap.put("GP", "Gwadelupa");
    namesMap.put("GQ", "Gwinea Równikowa");
    namesMap.put("GR", "Grecja");
    namesMap.put("GS", "Georgia Południowa i Sandwich Południowy");
    namesMap.put("GT", "Gwatemala");
    namesMap.put("GW", "Gwinea Bissau");
    namesMap.put("GY", "Gujana");
    namesMap.put("HK", "Hongkong SAR");
    namesMap.put("HM", "Wyspy Heard i McDonalda");
    namesMap.put("HR", "Chorwacja");
    namesMap.put("HU", "Węgry");
    namesMap.put("IC", "Wyspy Kanaryjskie");
    namesMap.put("ID", "Indonezja");
    namesMap.put("IE", "Irlandia");
    namesMap.put("IL", "Izrael");
    namesMap.put("IM", "Wyspa Man");
    namesMap.put("IN", "Indie");
    namesMap.put("IO", "Brytyjskie Terytorium Oceanu Indyjskiego");
    namesMap.put("IQ", "Irak");
    namesMap.put("IS", "Islandia");
    namesMap.put("IT", "Włochy");
    namesMap.put("JE", "Wyspa Jersey");
    namesMap.put("JM", "Jamajka");
    namesMap.put("JO", "Jordania");
    namesMap.put("JP", "Japonia");
    namesMap.put("KE", "Kenia");
    namesMap.put("KG", "Kirgistan");
    namesMap.put("KH", "Kambodża");
    namesMap.put("KM", "Komory");
    namesMap.put("KN", "Saint Kitts i Nevis");
    namesMap.put("KP", "Korea Północna");
    namesMap.put("KR", "Korea Południowa");
    namesMap.put("KW", "Kuwejt");
    namesMap.put("KY", "Kajmany");
    namesMap.put("KZ", "Kazachstan");
    namesMap.put("LB", "Liban");
    namesMap.put("LT", "Litwa");
    namesMap.put("LU", "Luksemburg");
    namesMap.put("LV", "Łotwa");
    namesMap.put("LY", "Libia");
    namesMap.put("MA", "Maroko");
    namesMap.put("MC", "Monako");
    namesMap.put("MD", "Mołdawia");
    namesMap.put("ME", "Czarnogóra");
    namesMap.put("MF", "Saint-Martin");
    namesMap.put("MG", "Madagaskar");
    namesMap.put("MH", "Wyspy Marshalla");
    namesMap.put("MK", "Macedonia");
    namesMap.put("MM", "Mjanma (Birma)");
    namesMap.put("MO", "Makau SAR");
    namesMap.put("MP", "Mariany Północne");
    namesMap.put("MQ", "Martynika");
    namesMap.put("MR", "Mauretania");
    namesMap.put("MV", "Malediwy");
    namesMap.put("MX", "Meksyk");
    namesMap.put("MY", "Malezja");
    namesMap.put("MZ", "Mozambik");
    namesMap.put("NC", "Nowa Kaledonia");
    namesMap.put("NF", "Norfolk");
    namesMap.put("NI", "Nikaragua");
    namesMap.put("NL", "Holandia");
    namesMap.put("NO", "Norwegia");
    namesMap.put("NZ", "Nowa Zelandia");
    namesMap.put("PF", "Polinezja Francuska");
    namesMap.put("PG", "Papua-Nowa Gwinea");
    namesMap.put("PH", "Filipiny");
    namesMap.put("PL", "Polska");
    namesMap.put("PM", "Saint-Pierre i Miquelon");
    namesMap.put("PN", "Pitcairn");
    namesMap.put("PR", "Portoryko");
    namesMap.put("PS", "Terytoria Palestyńskie");
    namesMap.put("PT", "Portugalia");
    namesMap.put("PY", "Paragwaj");
    namesMap.put("QA", "Katar");
    namesMap.put("QO", "Oceania inne");
    namesMap.put("RE", "Reunion");
    namesMap.put("RO", "Rumunia");
    namesMap.put("RU", "Rosja");
    namesMap.put("SA", "Arabia Saudyjska");
    namesMap.put("SB", "Wyspy Salomona");
    namesMap.put("SC", "Seszele");
    namesMap.put("SE", "Szwecja");
    namesMap.put("SG", "Singapur");
    namesMap.put("SH", "Wyspa Świętej Heleny");
    namesMap.put("SI", "Słowenia");
    namesMap.put("SJ", "Svalbard i Jan Mayen");
    namesMap.put("SK", "Słowacja");
    namesMap.put("SR", "Surinam");
    namesMap.put("SS", "Sudan Południowy");
    namesMap.put("ST", "Wyspy Świętego Tomasza i Książęca");
    namesMap.put("SV", "Salwador");
    namesMap.put("SZ", "Suazi");
    namesMap.put("TC", "Turks i Caicos");
    namesMap.put("TD", "Czad");
    namesMap.put("TF", "Francuskie Terytoria Południowe");
    namesMap.put("TH", "Tajlandia");
    namesMap.put("TJ", "Tadżykistan");
    namesMap.put("TL", "Timor Wschodni");
    namesMap.put("TN", "Tunezja");
    namesMap.put("TR", "Turcja");
    namesMap.put("TT", "Trynidad i Tobago");
    namesMap.put("TW", "Tajwan");
    namesMap.put("UA", "Ukraina");
    namesMap.put("UM", "Dalekie Wyspy Mniejsze Stanów Zjednoczonych");
    namesMap.put("US", "Stany Zjednoczone");
    namesMap.put("UY", "Urugwaj");
    namesMap.put("VA", "Watykan");
    namesMap.put("VC", "Saint Vincent i Grenadyny");
    namesMap.put("VE", "Wenezuela");
    namesMap.put("VG", "Brytyjskie Wyspy Dziewicze");
    namesMap.put("VI", "Wyspy Dziewicze Stanów Zjednoczonych");
    namesMap.put("VN", "Wietnam");
    namesMap.put("WF", "Wallis i Futuna");
    namesMap.put("XK", "Kosowo");
    namesMap.put("YE", "Jemen");
    namesMap.put("YT", "Majotta");
    namesMap.put("ZA", "Republika Południowej Afryki");
    namesMap.put("ZZ", "Nieznany region");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "świat",
        "002": "Afryka",
        "003": "Ameryka Północna",
        "005": "Ameryka Południowa",
        "011": "Afryka Zachodnia",
        "013": "Ameryka Środkowa",
        "014": "Afryka Wschodnia",
        "015": "Afryka Północna",
        "017": "Afryka Środkowa",
        "018": "Afryka Południowa",
        "019": "Ameryka",
        "021": "Ameryka Północna (USA, Kanada)",
        "029": "Karaiby",
        "030": "Azja Wschodnia",
        "034": "Azja Południowa",
        "035": "Azja Południowo-Wschodnia",
        "039": "Europa Południowa",
        "053": "Australazja",
        "054": "Melanezja",
        "057": "Region Mikronezji",
        "061": "Polinezja",
        "142": "Azja",
        "143": "Azja Środkowa",
        "145": "Azja Zachodnia",
        "150": "Europa",
        "151": "Europa Wschodnia",
        "154": "Europa Północna",
        "155": "Europa Zachodnia",
        "419": "Ameryka Łacińska",
        "AC": "Wyspa Wniebowstąpienia",
        "AD": "Andora",
        "AE": "Zjednoczone Emiraty Arabskie",
        "AF": "Afganistan",
        "AG": "Antigua i Barbuda",
        "AN": "Antyle Holenderskie",
        "AQ": "Antarktyka",
        "AR": "Argentyna",
        "AS": "Samoa Amerykańskie",
        "AX": "Wyspy Alandzkie",
        "AZ": "Azerbejdżan",
        "BA": "Bośnia i Hercegowina",
        "BD": "Bangladesz",
        "BE": "Belgia",
        "BG": "Bułgaria",
        "BH": "Bahrajn",
        "BL": "Saint-Barthélemy",
        "BM": "Bermudy",
        "BN": "Brunei Darussalam",
        "BO": "Boliwia",
        "BQ": "Niderlandy Karaibskie",
        "BR": "Brazylia",
        "BS": "Bahamy",
        "BV": "Wyspa Bouveta",
        "BY": "Białoruś",
        "CA": "Kanada",
        "CC": "Wyspy Kokosowe",
        "CD": "Demokratyczna Republika Konga",
        "CF": "Republika Środkowoafrykańska",
        "CG": "Kongo",
        "CH": "Szwajcaria",
        "CK": "Wyspy Cooka",
        "CM": "Kamerun",
        "CN": "Chiny",
        "CO": "Kolumbia",
        "CP": "Clipperton",
        "CR": "Kostaryka",
        "CU": "Kuba",
        "CV": "Republika Zielonego Przylądka",
        "CX": "Wyspa Bożego Narodzenia",
        "CY": "Cypr",
        "CZ": "Czechy",
        "DE": "Niemcy",
        "DJ": "Dżibuti",
        "DK": "Dania",
        "DM": "Dominika",
        "DO": "Dominikana",
        "DZ": "Algieria",
        "EA": "Ceuta i Melilla",
        "EC": "Ekwador",
        "EG": "Egipt",
        "EH": "Sahara Zachodnia",
        "ER": "Erytrea",
        "ES": "Hiszpania",
        "ET": "Etiopia",
        "EU": "Unia Europejska",
        "FI": "Finlandia",
        "FJ": "Fidżi",
        "FK": "Falklandy",
        "FM": "Mikronezja",
        "FO": "Wyspy Owcze",
        "FR": "Francja",
        "GB": "Wielka Brytania",
        "GE": "Gruzja",
        "GF": "Gujana Francuska",
        "GG": "Wyspa Guernsey",
        "GL": "Grenlandia",
        "GN": "Gwinea",
        "GP": "Gwadelupa",
        "GQ": "Gwinea Równikowa",
        "GR": "Grecja",
        "GS": "Georgia Południowa i Sandwich Południowy",
        "GT": "Gwatemala",
        "GW": "Gwinea Bissau",
        "GY": "Gujana",
        "HK": "Hongkong SAR",
        "HM": "Wyspy Heard i McDonalda",
        "HR": "Chorwacja",
        "HU": "Węgry",
        "IC": "Wyspy Kanaryjskie",
        "ID": "Indonezja",
        "IE": "Irlandia",
        "IL": "Izrael",
        "IM": "Wyspa Man",
        "IN": "Indie",
        "IO": "Brytyjskie Terytorium Oceanu Indyjskiego",
        "IQ": "Irak",
        "IS": "Islandia",
        "IT": "Włochy",
        "JE": "Wyspa Jersey",
        "JM": "Jamajka",
        "JO": "Jordania",
        "JP": "Japonia",
        "KE": "Kenia",
        "KG": "Kirgistan",
        "KH": "Kambodża",
        "KM": "Komory",
        "KN": "Saint Kitts i Nevis",
        "KP": "Korea Północna",
        "KR": "Korea Południowa",
        "KW": "Kuwejt",
        "KY": "Kajmany",
        "KZ": "Kazachstan",
        "LB": "Liban",
        "LT": "Litwa",
        "LU": "Luksemburg",
        "LV": "Łotwa",
        "LY": "Libia",
        "MA": "Maroko",
        "MC": "Monako",
        "MD": "Mołdawia",
        "ME": "Czarnogóra",
        "MF": "Saint-Martin",
        "MG": "Madagaskar",
        "MH": "Wyspy Marshalla",
        "MK": "Macedonia",
        "MM": "Mjanma (Birma)",
        "MO": "Makau SAR",
        "MP": "Mariany Północne",
        "MQ": "Martynika",
        "MR": "Mauretania",
        "MV": "Malediwy",
        "MX": "Meksyk",
        "MY": "Malezja",
        "MZ": "Mozambik",
        "NC": "Nowa Kaledonia",
        "NF": "Norfolk",
        "NI": "Nikaragua",
        "NL": "Holandia",
        "NO": "Norwegia",
        "NZ": "Nowa Zelandia",
        "PF": "Polinezja Francuska",
        "PG": "Papua-Nowa Gwinea",
        "PH": "Filipiny",
        "PL": "Polska",
        "PM": "Saint-Pierre i Miquelon",
        "PN": "Pitcairn",
        "PR": "Portoryko",
        "PS": "Terytoria Palestyńskie",
        "PT": "Portugalia",
        "PY": "Paragwaj",
        "QA": "Katar",
        "QO": "Oceania inne",
        "RE": "Reunion",
        "RO": "Rumunia",
        "RU": "Rosja",
        "SA": "Arabia Saudyjska",
        "SB": "Wyspy Salomona",
        "SC": "Seszele",
        "SE": "Szwecja",
        "SG": "Singapur",
        "SH": "Wyspa Świętej Heleny",
        "SI": "Słowenia",
        "SJ": "Svalbard i Jan Mayen",
        "SK": "Słowacja",
        "SR": "Surinam",
        "SS": "Sudan Południowy",
        "ST": "Wyspy Świętego Tomasza i Książęca",
        "SV": "Salwador",
        "SZ": "Suazi",
        "TC": "Turks i Caicos",
        "TD": "Czad",
        "TF": "Francuskie Terytoria Południowe",
        "TH": "Tajlandia",
        "TJ": "Tadżykistan",
        "TL": "Timor Wschodni",
        "TN": "Tunezja",
        "TR": "Turcja",
        "TT": "Trynidad i Tobago",
        "TW": "Tajwan",
        "UA": "Ukraina",
        "UM": "Dalekie Wyspy Mniejsze Stanów Zjednoczonych",
        "US": "Stany Zjednoczone",
        "UY": "Urugwaj",
        "VA": "Watykan",
        "VC": "Saint Vincent i Grenadyny",
        "VE": "Wenezuela",
        "VG": "Brytyjskie Wyspy Dziewicze",
        "VI": "Wyspy Dziewicze Stanów Zjednoczonych",
        "VN": "Wietnam",
        "WF": "Wallis i Futuna",
        "XK": "Kosowo",
        "YE": "Jemen",
        "YT": "Majotta",
        "ZA": "Republika Południowej Afryki",
        "ZZ": "Nieznany region"
    };
  }-*/;
}
