﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/cs.xml
// *
// ***************************************************************************
cs{
    Countries{
        001{"Svět"}
        002{"Afrika"}
        003{"Severní Amerika"}
        005{"Jižní Amerika"}
        009{"Oceánie"}
        011{"Západní Afrika"}
        013{"Střední Amerika"}
        014{"Východní Afrika"}
        015{"Severní Afrika"}
        017{"Střední Afrika"}
        018{"Jižní Afrika"}
        019{"Amerika"}
        021{"Severní Amerika (oblast)"}
        029{"Karibik"}
        030{"Východní Asie"}
        034{"Jižní Asie"}
        035{"Jihovýchodní Asie"}
        039{"Jižní Evropa"}
        053{"Australasie"}
        054{"Melanésie"}
        057{"Mikronésie (region)"}
        061{"Polynésie"}
        142{"Asie"}
        143{"Střední Asie"}
        145{"Západní Asie"}
        150{"Evropa"}
        151{"Východní Evropa"}
        154{"Severní Evropa"}
        155{"Západní Evropa"}
        419{"Latinská Amerika"}
        AC{"Ascension"}
        AD{"Andorra"}
        AE{"Spojené arabské emiráty"}
        AF{"Afghánistán"}
        AG{"Antigua a Barbuda"}
        AI{"Anguilla"}
        AL{"Albánie"}
        AM{"Arménie"}
        AN{"Nizozemské Antily"}
        AO{"Angola"}
        AQ{"Antarktida"}
        AR{"Argentina"}
        AS{"Americká Samoa"}
        AT{"Rakousko"}
        AU{"Austrálie"}
        AW{"Aruba"}
        AX{"Ålandy"}
        AZ{"Ázerbájdžán"}
        BA{"Bosna a Hercegovina"}
        BB{"Barbados"}
        BD{"Bangladéš"}
        BE{"Belgie"}
        BF{"Burkina Faso"}
        BG{"Bulharsko"}
        BH{"Bahrajn"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Svatý Bartoloměj"}
        BM{"Bermudy"}
        BN{"Brunej"}
        BO{"Bolívie"}
        BQ{"Karibské Nizozemsko"}
        BR{"Brazílie"}
        BS{"Bahamy"}
        BT{"Bhútán"}
        BV{"Bouvetův ostrov"}
        BW{"Botswana"}
        BY{"Bělorusko"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Kokosové ostrovy"}
        CD{"Kongo – Kinshasa"}
        CF{"Středoafrická republika"}
        CG{"Kongo – Brazzaville"}
        CH{"Švýcarsko"}
        CI{"Pobřeží slonoviny"}
        CK{"Cookovy ostrovy"}
        CL{"Chile"}
        CM{"Kamerun"}
        CN{"Čína"}
        CO{"Kolumbie"}
        CP{"Clippertonův ostrov"}
        CR{"Kostarika"}
        CU{"Kuba"}
        CV{"Kapverdy"}
        CW{"Curaçao"}
        CX{"Vánoční ostrov"}
        CY{"Kypr"}
        CZ{"Česká republika"}
        DE{"Německo"}
        DG{"Diego García"}
        DJ{"Džibutsko"}
        DK{"Dánsko"}
        DM{"Dominika"}
        DO{"Dominikánská republika"}
        DZ{"Alžírsko"}
        EA{"Ceuta a Melilla"}
        EC{"Ekvádor"}
        EE{"Estonsko"}
        EG{"Egypt"}
        EH{"Západní Sahara"}
        ER{"Eritrea"}
        ES{"Španělsko"}
        ET{"Etiopie"}
        EU{"Evropská unie"}
        FI{"Finsko"}
        FJ{"Fidži"}
        FK{"Falklandské ostrovy"}
        FM{"Mikronésie"}
        FO{"Faerské ostrovy"}
        FR{"Francie"}
        GA{"Gabon"}
        GB{"Velká Británie"}
        GD{"Grenada"}
        GE{"Gruzie"}
        GF{"Francouzská Guyana"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Grónsko"}
        GM{"Gambie"}
        GN{"Guinea"}
        GP{"Guadeloupe"}
        GQ{"Rovníková Guinea"}
        GR{"Řecko"}
        GS{"Jižní Georgie a Jižní Sandwichovy ostrovy"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Guyana"}
        HK{"Hongkong"}
        HM{"Heardův ostrov a McDonaldovy ostrovy"}
        HN{"Honduras"}
        HR{"Chorvatsko"}
        HT{"Haiti"}
        HU{"Maďarsko"}
        IC{"Kanárské ostrovy"}
        ID{"Indonésie"}
        IE{"Irsko"}
        IL{"Izrael"}
        IM{"Ostrov Man"}
        IN{"Indie"}
        IO{"Britské indickooceánské území"}
        IQ{"Irák"}
        IR{"Írán"}
        IS{"Island"}
        IT{"Itálie"}
        JE{"Jersey"}
        JM{"Jamajka"}
        JO{"Jordánsko"}
        JP{"Japonsko"}
        KE{"Keňa"}
        KG{"Kyrgyzstán"}
        KH{"Kambodža"}
        KI{"Kiribati"}
        KM{"Komory"}
        KN{"Svatý Kryštof a Nevis"}
        KP{"Severní Korea"}
        KR{"Jižní Korea"}
        KW{"Kuvajt"}
        KY{"Kajmanské ostrovy"}
        KZ{"Kazachstán"}
        LA{"Laos"}
        LB{"Libanon"}
        LC{"Svatá Lucie"}
        LI{"Lichtenštejnsko"}
        LK{"Srí Lanka"}
        LR{"Libérie"}
        LS{"Lesotho"}
        LT{"Litva"}
        LU{"Lucembursko"}
        LV{"Lotyšsko"}
        LY{"Libye"}
        MA{"Maroko"}
        MC{"Monako"}
        MD{"Moldavsko"}
        ME{"Černá Hora"}
        MF{"Svatý Martin (Francie)"}
        MG{"Madagaskar"}
        MH{"Marshallovy ostrovy"}
        MK{"Makedonie"}
        ML{"Mali"}
        MM{"Myanmar (Barma)"}
        MN{"Mongolsko"}
        MO{"Macao"}
        MP{"Severní Mariany"}
        MQ{"Martinik"}
        MR{"Mauritánie"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauricius"}
        MV{"Maledivy"}
        MW{"Malawi"}
        MX{"Mexiko"}
        MY{"Malajsie"}
        MZ{"Mosambik"}
        NA{"Namibie"}
        NC{"Nová Kaledonie"}
        NE{"Niger"}
        NF{"Norfolk"}
        NG{"Nigérie"}
        NI{"Nikaragua"}
        NL{"Nizozemsko"}
        NO{"Norsko"}
        NP{"Nepál"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Nový Zéland"}
        OM{"Omán"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Francouzská Polynésie"}
        PG{"Papua-Nová Guinea"}
        PH{"Filipíny"}
        PK{"Pákistán"}
        PL{"Polsko"}
        PM{"Saint-Pierre a Miquelon"}
        PN{"Pitcairnovy ostrovy"}
        PR{"Portoriko"}
        PS{"Palestina"}
        PT{"Portugalsko"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Katar"}
        QO{"Vnější Oceánie"}
        RE{"Réunion"}
        RO{"Rumunsko"}
        RS{"Srbsko"}
        RU{"Rusko"}
        RW{"Rwanda"}
        SA{"Saúdská Arábie"}
        SB{"Šalamounovy ostrovy"}
        SC{"Seychely"}
        SD{"Súdán"}
        SE{"Švédsko"}
        SG{"Singapur"}
        SH{"Svatá Helena"}
        SI{"Slovinsko"}
        SJ{"Špicberky a Jan Mayen"}
        SK{"Slovensko"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somálsko"}
        SR{"Surinam"}
        SS{"Jižní Súdán"}
        ST{"Svatý Tomáš a Princův ostrov"}
        SV{"Salvador"}
        SX{"Svatý Martin (Nizozemsko)"}
        SY{"Sýrie"}
        SZ{"Svazijsko"}
        TA{"Tristan da Cunha"}
        TC{"Turks a Caicos"}
        TD{"Čad"}
        TF{"Francouzská jižní území"}
        TG{"Togo"}
        TH{"Thajsko"}
        TJ{"Tádžikistán"}
        TK{"Tokelau"}
        TL{"Východní Timor"}
        TM{"Turkmenistán"}
        TN{"Tunisko"}
        TO{"Tonga"}
        TR{"Turecko"}
        TT{"Trinidad a Tobago"}
        TV{"Tuvalu"}
        TW{"Tchaj-wan"}
        TZ{"Tanzanie"}
        UA{"Ukrajina"}
        UG{"Uganda"}
        UM{"Menší odlehlé ostrovy USA"}
        US{"Spojené státy"}
        UY{"Uruguay"}
        UZ{"Uzbekistán"}
        VA{"Vatikán"}
        VC{"Svatý Vincenc a Grenadiny"}
        VE{"Venezuela"}
        VG{"Britské Panenské ostrovy"}
        VI{"Americké Panenské ostrovy"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis a Futuna"}
        WS{"Samoa"}
        XK{"Kosovo"}
        YE{"Jemen"}
        YT{"Mayotte"}
        ZA{"Jihoafrická republika"}
        ZM{"Zambie"}
        ZW{"Zimbabwe"}
        ZZ{"Neznámá oblast"}
    }
    Countries%short{
        GB{"VB"}
        US{"USA"}
    }
    Countries%variant{
        CD{"Kongo (DRK)"}
        CG{"Kongo (republika)"}
        CI{"Côte d’Ivoire"}
        FK{"Falklandské ostrovy (Malvíny)"}
        MK{"Makedonie (FYROM)"}
    }
    Version{"2.1.20.4"}
}
