/*
 * 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 "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",
        "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",
        "GG",
        "GY",
        "GF",
        "GP",
        "GT",
        "GN",
        "GW",
        "GQ",
        "HT",
        "ES",
        "NL",
        "HN",
        "IN",
        "ID",
        "IQ",
        "IR",
        "IE",
        "IS",
        "IL",
        "JM",
        "JP",
        "YE",
        "JE",
        "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",
        "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",
        "UN",
        "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",
        "HK",
        "MO",
        "LK",
        "US",
        "EZ",
        "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",
        "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("AQ", "Antarktyda");
    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("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("EZ", "strefa euro");
    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("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", "SRA Hongkong (Chiny)");
    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("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("LC", "Saint Lucia");
    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("MM", "Mjanma (Birma)");
    namesMap.put("MO", "SRA Makau (Chiny)");
    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 — wyspy dalekie");
    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 i Antarktyczne");
    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("UN", "Organizacja Narodó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",
        "AQ": "Antarktyda",
        "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",
        "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",
        "EZ": "strefa euro",
        "FI": "Finlandia",
        "FJ": "Fidżi",
        "FK": "Falklandy",
        "FM": "Mikronezja",
        "FO": "Wyspy Owcze",
        "FR": "Francja",
        "GB": "Wielka Brytania",
        "GE": "Gruzja",
        "GF": "Gujana Francuska",
        "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": "SRA Hongkong (Chiny)",
        "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",
        "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",
        "LC": "Saint Lucia",
        "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",
        "MM": "Mjanma (Birma)",
        "MO": "SRA Makau (Chiny)",
        "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 — wyspy dalekie",
        "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 i Antarktyczne",
        "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",
        "UN": "Organizacja Narodó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"
    };
  }-*/;
}
