﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/cs.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/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{"Austrálie a Nový Zéland"}
        054{"Melanésie"}
        057{"Mikronésie oblast"}
        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{"Ostrov 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{"Alandy"}
        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"}
        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"}
        CS{"Srbsko a Černá Hora"}
        CU{"Kuba"}
        CV{"Kapverdy"}
        CX{"Vánoční ostrovy"}
        CY{"Kypr"}
        CZ{"Česká republika"}
        DE{"Německo"}
        DG{"Diego Garcia"}
        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 - zvláštní administrativní oblast Číny"}
        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ý Kitts 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"}
        MG{"Madagaskar"}
        MH{"Marshallovy ostrovy"}
        MK{"Makedonie"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Mongolsko"}
        MO{"Macao - zvláštní administrativní oblast Číny"}
        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{"Svatý Pierre a Miquelon"}
        PN{"Pitcairnovy ostrovy"}
        PR{"Portoriko"}
        PS{"Palestinská území"}
        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"}
        ST{"Svatý Tomáš"}
        SV{"Salvador"}
        SY{"Sýrie"}
        SZ{"Svazijsko"}
        TA{"Tristan da Cunha"}
        TC{"Ostrovy Turks a Caicos"}
        TD{"Čad"}
        TF{"Francouzská jižní teritoria"}
        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"}
        YE{"Jemen"}
        YT{"Mayotte"}
        ZA{"Jihoafrická republika"}
        ZM{"Zambie"}
        ZW{"Zimbabwe"}
        ZZ{"Neznámá nebo neplatná oblast"}
    }
    Version{"2.0.64.72"}
}
