﻿// ***************************************************************************
// *
// * Copyright (C) 2014 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>/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 – 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ý 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 – 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{"Saint-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{"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%variant{
        CD{"Kongo (DRK)"}
        CG{"Kongo (republika)"}
        FK{"Falklandské ostrovy (Malvíny)"}
        MK{"Makedonie (FYROM)"}
    }
    CountriesShort{
        GB{"VB"}
        HK{"Hongkong"}
        MO{"Macao"}
        PS{"Palestina"}
        US{"USA"}
    }
    Version{"2.1.8.9"}
}
