﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/pl.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/pl.xml
 */
pl{
    Countries{
        001{"świat"}
        002{"Afryka"}
        003{"Ameryka Północna"}
        005{"Ameryka Południowa"}
        009{"Oceania"}
        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"}
        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"}
        BQ{"Niderlandy Karaibskie"}
        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{"Côte d’Ivoire"}
        CK{"Wyspy Cooka"}
        CL{"Chile"}
        CM{"Kamerun"}
        CN{"Chiny"}
        CO{"Kolumbia"}
        CP{"Clipperton"}
        CR{"Kostaryka"}
        CU{"Kuba"}
        CV{"Republika Zielonego Przylądka"}
        CW{"Curaçao"}
        CX{"Wyspa Bożego Narodzenia"}
        CY{"Cypr"}
        CZ{"Czechy"}
        DE{"Niemcy"}
        DG{"Diego Garcia"}
        DJ{"Dżibuti"}
        DK{"Dania"}
        DM{"Dominika"}
        DO{"Dominikana"}
        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{"Mikronezja"}
        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{"Brytyjskie Terytorium 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{"Saint-Martin"}
        MG{"Madagaskar"}
        MH{"Wyspy Marshalla"}
        MK{"Macedonia"}
        ML{"Mali"}
        MM{"Mjanma (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"}
        SS{"Sudan Południowy"}
        ST{"Wyspy Świętego Tomasza i Książęca"}
        SV{"Salwador"}
        SX{"Sint Maarten"}
        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"}
        XK{"Kosowo"}
        YE{"Jemen"}
        YT{"Majotta"}
        ZA{"Republika Południowej Afryki"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"Nieznany region"}
    }
    CountriesShort{
        GB{"GB"}
        HK{"Hongkong"}
        MO{"Makau"}
        PS{"Palestyna"}
        US{"USA"}
    }
    Version{"2.0.95.37"}
}
