﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * 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{"Australasie"}
        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"}
        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í ostrovy"}
        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 - ZAO Čí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 - ZAO Čí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"}
        SS{"Jižní Súdán"}
        ST{"Svatý Tomáš a Princův ostrov"}
        SV{"Salvador"}
        SX{"Sint Maarten"}
        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á oblast"}
    }
    Version{"2.0.78.38"}
}
