﻿// ***************************************************************************
// *
// * Copyright (C) 2015 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"}
        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{"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.12.94"}
}
