﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <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"}
        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{"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{"SRA Hongkong (Chiny)"}
        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{"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{"SRA Makau (Chiny)"}
        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 i Antarktyczne"}
        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"}
    }
    Countries%short{
        GB{"GB"}
        HK{"Hongkong"}
        MO{"Makau"}
        PS{"Palestyna"}
        US{"USA"}
    }
    Countries%variant{
        CG{"Republika Konga"}
        CI{"Wybrzeże Kości Słoniowej"}
        FK{"Falklandy (Malwiny)"}
        TL{"Timor-Leste"}
    }
    Version{"2.1.22.93"}
}
