﻿// ***************************************************************************
// *
// * Copyright (C) 2010 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/pl.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/pl.xml
 */
pl{
    Countries{
        419{"Ameryka Łacińska"}
        AC{"Wyspa Wniebowstąpienia"}
        AD{"Andora"}
        AE{"Zjednoczone Emiraty Arabskie"}
        AF{"Afganistan"}
        AG{"Antigua i Barbuda"}
        AI{"Anguilla"}
        AL{"Albania"}
        AM{"Armenia"}
        AN{"Antyle Holenderskie"}
        AO{"Angola"}
        AQ{"Antarktyka"}
        AR{"Argentyna"}
        AS{"Samoa Amerykańskie"}
        AT{"Austria"}
        AU{"Australia"}
        AW{"Aruba"}
        AX{"Wyspy Alandzkie"}
        AZ{"Azerbejdżan"}
        BA{"Bośnia i Hercegowina"}
        BB{"Barbados"}
        BD{"Bangladesz"}
        BE{"Belgia"}
        BF{"Burkina Faso"}
        BG{"Bułgaria"}
        BH{"Bahrajn"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Saint Barthélemy"}
        BM{"Bermudy"}
        BN{"Brunei Darussalam"}
        BO{"Boliwia"}
        BR{"Brazylia"}
        BS{"Bahamy"}
        BT{"Bhutan"}
        BV{"Wyspa Bouveta"}
        BW{"Botswana"}
        BY{"Białoruś"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Wyspy Kokosowe"}
        CD{"Demokratyczna Republika Konga"}
        CF{"Republika Środkowoafrykańska"}
        CG{"Kongo"}
        CH{"Szwajcaria"}
        CI{"Wybrzeże Kości Słoniowej"}
        CK{"Wyspy Cooka"}
        CL{"Chile"}
        CM{"Kamerun"}
        CN{"Chiny"}
        CO{"Kolumbia"}
        CP{"Clipperton"}
        CR{"Kostaryka"}
        CS{"Serbia i Czarnogóra"}
        CU{"Kuba"}
        CV{"Republika Zielonego Przylądka"}
        CX{"Wyspa Bożego Narodzenia"}
        CY{"Cypr"}
        CZ{"Czechy"}
        DE{"Niemcy"}
        DG{"Diego Garcia"}
        DJ{"Dżibuti"}
        DK{"Dania"}
        DM{"Dominika"}
        DO{"Republika Dominikańska"}
        DZ{"Algieria"}
        EA{"Ceuta i Melilla"}
        EC{"Ekwador"}
        EE{"Estonia"}
        EG{"Egipt"}
        EH{"Sahara Zachodnia"}
        ER{"Erytrea"}
        ES{"Hiszpania"}
        ET{"Etiopia"}
        EU{"Unia Europejska"}
        FI{"Finlandia"}
        FJ{"Fidżi"}
        FK{"Falklandy"}
        FM{"Federalne Stany Mikronezji"}
        FO{"Wyspy Owcze"}
        FR{"Francja"}
        GA{"Gabon"}
        GB{"Wielka Brytania"}
        GD{"Grenada"}
        GE{"Gruzja"}
        GF{"Gujana Francuska"}
        GG{"Wyspa Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Grenlandia"}
        GM{"Gambia"}
        GN{"Gwinea"}
        GP{"Gwadelupa"}
        GQ{"Gwinea Równikowa"}
        GR{"Grecja"}
        GS{"Georgia Południowa i Sandwich Południowy"}
        GT{"Gwatemala"}
        GU{"Guam"}
        GW{"Gwinea Bissau"}
        GY{"Gujana"}
        HK{"Hongkong SAR"}
        HM{"Wyspy Heard i McDonalda"}
        HN{"Honduras"}
        HR{"Chorwacja"}
        HT{"Haiti"}
        HU{"Węgry"}
        IC{"Wyspy Kanaryjskie"}
        ID{"Indonezja"}
        IE{"Irlandia"}
        IL{"Izrael"}
        IM{"Wyspa Man"}
        IN{"Indie"}
        IO{"Terytorium Brytyjskie Oceanu Indyjskiego"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Islandia"}
        IT{"Włochy"}
        JE{"Wyspa Jersey"}
        JM{"Jamajka"}
        JO{"Jordania"}
        JP{"Japonia"}
        KE{"Kenia"}
        KG{"Kirgistan"}
        KH{"Kambodża"}
        KI{"Kiribati"}
        KM{"Komory"}
        KN{"Saint Kitts i Nevis"}
        KP{"Korea Północna"}
        KR{"Korea Południowa"}
        KW{"Kuwejt"}
        KY{"Kajmany"}
        KZ{"Kazachstan"}
        LA{"Laos"}
        LB{"Liban"}
        LC{"Saint Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesotho"}
        LT{"Litwa"}
        LU{"Luksemburg"}
        LV{"Łotwa"}
        LY{"Libia"}
        MA{"Maroko"}
        MC{"Monako"}
        MD{"Mołdawia"}
        ME{"Czarnogóra"}
        MF{"Sint Maarten"}
        MG{"Madagaskar"}
        MH{"Wyspy Marshalla"}
        MK{"Macedonia"}
        ML{"Mali"}
        MM{"Birma"}
        MN{"Mongolia"}
        MO{"Makau SAR"}
        MP{"Mariany Północne"}
        MQ{"Martynika"}
        MR{"Mauretania"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Malediwy"}
        MW{"Malawi"}
        MX{"Meksyk"}
        MY{"Malezja"}
        MZ{"Mozambik"}
        NA{"Namibia"}
        NC{"Nowa Kaledonia"}
        NE{"Niger"}
        NF{"Norfolk"}
        NG{"Nigeria"}
        NI{"Nikaragua"}
        NL{"Holandia"}
        NO{"Norwegia"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Nowa Zelandia"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Polinezja Francuska"}
        PG{"Papua Nowa Gwinea"}
        PH{"Filipiny"}
        PK{"Pakistan"}
        PL{"Polska"}
        PM{"Saint-Pierre i Miquelon"}
        PN{"Pitcairn"}
        PR{"Portoryko"}
        PS{"Terytoria Palestyńskie"}
        PT{"Portugalia"}
        PW{"Palau"}
        PY{"Paragwaj"}
        QA{"Katar"}
        QO{"Oceania inne"}
        RE{"Reunion"}
        RO{"Rumunia"}
        RS{"Serbia"}
        RU{"Rosja"}
        RW{"Rwanda"}
        SA{"Arabia Saudyjska"}
        SB{"Wyspy Salomona"}
        SC{"Seszele"}
        SD{"Sudan"}
        SE{"Szwecja"}
        SG{"Singapur"}
        SH{"Wyspa Świętej Heleny"}
        SI{"Słowenia"}
        SJ{"Svalbard i Jan Mayen"}
        SK{"Słowacja"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalia"}
        SR{"Surinam"}
        ST{"Wyspy Świętego Tomasza i Książęca"}
        SV{"Salwador"}
        SY{"Syria"}
        SZ{"Suazi"}
        TA{"Tristan da Cunha"}
        TC{"Turks i Caicos"}
        TD{"Czad"}
        TF{"Francuskie Terytoria Południowe"}
        TG{"Togo"}
        TH{"Tajlandia"}
        TJ{"Tadżykistan"}
        TK{"Tokelau"}
        TL{"Timor Wschodni"}
        TM{"Turkmenistan"}
        TN{"Tunezja"}
        TO{"Tonga"}
        TR{"Turcja"}
        TT{"Trynidad i Tobago"}
        TV{"Tuvalu"}
        TW{"Tajwan"}
        TZ{"Tanzania"}
        UA{"Ukraina"}
        UG{"Uganda"}
        UM{"Dalekie Wyspy Mniejsze Stanów Zjednoczonych"}
        US{"Stany Zjednoczone"}
        UY{"Urugwaj"}
        UZ{"Uzbekistan"}
        VA{"Watykan"}
        VC{"Saint Vincent i Grenadyny"}
        VE{"Wenezuela"}
        VG{"Brytyjskie Wyspy Dziewicze"}
        VI{"Wyspy Dziewicze Stanów Zjednoczonych"}
        VN{"Wietnam"}
        VU{"Vanuatu"}
        WF{"Wallis i Futuna"}
        WS{"Samoa"}
        YE{"Jemen"}
        YT{"Majotta"}
        ZA{"Republika Południowej Afryki"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"Nieznany lub nieprawidłowy region"}
    }
    Version{"2.0.51.52"}
}
