﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/sk.xml
// *
// ***************************************************************************
sk{
    Countries{
        001{"svet"}
        002{"Afrika"}
        003{"Severná Amerika"}
        005{"Južná Amerika"}
        009{"Oceánia"}
        011{"západná Afrika"}
        013{"Stredná Amerika"}
        014{"východná Afrika"}
        015{"severná Afrika"}
        017{"stredná Afrika"}
        018{"južné územia Afriky"}
        019{"Amerika"}
        021{"severné územia Ameriky"}
        029{"Karibik"}
        030{"východná Ázia"}
        034{"južná Ázia"}
        035{"juhovýchodná Ázia"}
        039{"južná Európa"}
        053{"Australázia"}
        054{"Melanézia"}
        057{"oblasť Mikronézie"}
        061{"Polynézia"}
        142{"Ázia"}
        143{"stredná Ázia"}
        145{"západná Ázia"}
        150{"Európa"}
        151{"východná Európa"}
        154{"severná Európa"}
        155{"západná Európa"}
        419{"Latinská Amerika"}
        AC{"Ascensión"}
        AD{"Andorra"}
        AE{"Spojené arabské emiráty"}
        AF{"Afganistan"}
        AG{"Antigua a Barbuda"}
        AI{"Anguilla"}
        AL{"Albánsko"}
        AM{"Arménsko"}
        AN{"Holandské Antily"}
        AO{"Angola"}
        AQ{"Antarktída"}
        AR{"Argentína"}
        AS{"Americká Samoa"}
        AT{"Rakúsko"}
        AU{"Austrália"}
        AW{"Aruba"}
        AX{"Ålandy"}
        AZ{"Azerbajdžan"}
        BA{"Bosna a Hercegovina"}
        BB{"Barbados"}
        BD{"Bangladéš"}
        BE{"Belgicko"}
        BF{"Burkina Faso"}
        BG{"Bulharsko"}
        BH{"Bahrajn"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Svätý Bartolomej"}
        BM{"Bermudy"}
        BN{"Brunej"}
        BO{"Bolívia"}
        BQ{"Karibské Holandsko"}
        BR{"Brazília"}
        BS{"Bahamy"}
        BT{"Bhután"}
        BV{"Bouvetov ostrov"}
        BW{"Botswana"}
        BY{"Bielorusko"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Kokosové ostrovy"}
        CD{"Kongo - Kinshasa"}
        CF{"Stredoafrická republika"}
        CG{"Kongo - Brazzaville"}
        CH{"Švajčiarsko"}
        CI{"Pobrežie Slonoviny"}
        CK{"Cookove ostrovy"}
        CL{"Čile"}
        CM{"Kamerun"}
        CN{"Čína"}
        CO{"Kolumbia"}
        CP{"Clipperton"}
        CR{"Kostarika"}
        CU{"Kuba"}
        CV{"Kapverdy"}
        CW{"Curaçao"}
        CX{"Vianočný ostrov"}
        CY{"Cyprus"}
        CZ{"Česká republika"}
        DE{"Nemecko"}
        DG{"Diego García"}
        DJ{"Džibutsko"}
        DK{"Dánsko"}
        DM{"Dominika"}
        DO{"Dominikánska republika"}
        DZ{"Alžírsko"}
        EA{"Ceuta a Melilla"}
        EC{"Ekvádor"}
        EE{"Estónsko"}
        EG{"Egypt"}
        EH{"Západná Sahara"}
        ER{"Eritrea"}
        ES{"Španielsko"}
        ET{"Etiópia"}
        EU{"Európska únia"}
        FI{"Fínsko"}
        FJ{"Fidži"}
        FK{"Falklandy"}
        FM{"Mikronézia"}
        FO{"Faerské ostrovy"}
        FR{"Francúzsko"}
        GA{"Gabon"}
        GB{"Spojené kráľovstvo"}
        GD{"Grenada"}
        GE{"Gruzínsko"}
        GF{"Francúzska Guayana"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltár"}
        GL{"Grónsko"}
        GM{"Gambia"}
        GN{"Guinea"}
        GP{"Guadeloupe"}
        GQ{"Rovníková Guinea"}
        GR{"Grécko"}
        GS{"Južná Georgia a Južné Sandwichove ostrovy"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Guayana"}
        HK{"Hongkong"}
        HM{"Heardov ostrov a McDonaldove ostrovy"}
        HN{"Honduras"}
        HR{"Chorvátsko"}
        HT{"Haiti"}
        HU{"Maďarsko"}
        IC{"Kanárske ostrovy"}
        ID{"Indonézia"}
        IE{"Írsko"}
        IL{"Izrael"}
        IM{"Ostrov Man"}
        IN{"India"}
        IO{"Britské indickooceánske územie"}
        IQ{"Irak"}
        IR{"Irán"}
        IS{"Island"}
        IT{"Taliansko"}
        JE{"Jersey"}
        JM{"Jamajka"}
        JO{"Jordánsko"}
        JP{"Japonsko"}
        KE{"Keňa"}
        KG{"Kirgizsko"}
        KH{"Kambodža"}
        KI{"Kiribati"}
        KM{"Komory"}
        KN{"Svätý Krištof a Nevis"}
        KP{"Severná Kórea"}
        KR{"Južná Kórea"}
        KW{"Kuvajt"}
        KY{"Kajmanie ostrovy"}
        KZ{"Kazachstan"}
        LA{"Laos"}
        LB{"Libanon"}
        LC{"Svätá Lucia"}
        LI{"Lichtenštajnsko"}
        LK{"Srí Lanka"}
        LR{"Libéria"}
        LS{"Lesotho"}
        LT{"Litva"}
        LU{"Luxembursko"}
        LV{"Lotyšsko"}
        LY{"Líbya"}
        MA{"Maroko"}
        MC{"Monako"}
        MD{"Moldavsko"}
        ME{"Čierna Hora"}
        MF{"Svätý Martin"}
        MG{"Madagaskar"}
        MH{"Marshallove ostrovy"}
        MK{"Macedónsko"}
        ML{"Mali"}
        MM{"Mjanmarsko"}
        MN{"Mongolsko"}
        MO{"Macao"}
        MP{"Severné Mariány"}
        MQ{"Martinik"}
        MR{"Mauritánia"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Maurícius"}
        MV{"Maldivy"}
        MW{"Malawi"}
        MX{"Mexiko"}
        MY{"Malajzia"}
        MZ{"Mozambik"}
        NA{"Namíbia"}
        NC{"Nová Kaledónia"}
        NE{"Niger"}
        NF{"Norfolk"}
        NG{"Nigéria"}
        NI{"Nikaragua"}
        NL{"Holandsko"}
        NO{"Nórsko"}
        NP{"Nepál"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Nový Zéland"}
        OM{"Omán"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Francúzska Polynézia"}
        PG{"Papua Nová Guinea"}
        PH{"Filipíny"}
        PK{"Pakistan"}
        PL{"Poľsko"}
        PM{"Saint Pierre a Miquelon"}
        PN{"Pitcairnove ostrovy"}
        PR{"Portoriko"}
        PS{"Palestína"}
        PT{"Portugalsko"}
        PW{"Palau"}
        PY{"Paraguaj"}
        QA{"Katar"}
        QO{"ostatné Tichomorie"}
        RE{"Réunion"}
        RO{"Rumunsko"}
        RS{"Srbsko"}
        RU{"Rusko"}
        RW{"Rwanda"}
        SA{"Saudská Arábia"}
        SB{"Šalamúnove ostrovy"}
        SC{"Seychely"}
        SD{"Sudán"}
        SE{"Švédsko"}
        SG{"Singapur"}
        SH{"Svätá Helena"}
        SI{"Slovinsko"}
        SJ{"Svalbard a Jan Mayen"}
        SK{"Slovensko"}
        SL{"Sierra Leone"}
        SM{"San Maríno"}
        SN{"Senegal"}
        SO{"Somálsko"}
        SR{"Surinam"}
        SS{"Južný Sudán"}
        ST{"Svätý Tomáš a Princov ostrov"}
        SV{"Salvádor"}
        SX{"Sint Maarten"}
        SY{"Sýria"}
        SZ{"Svazijsko"}
        TA{"Tristan da Cunha"}
        TC{"Turks a Caicos"}
        TD{"Čad"}
        TF{"Francúzske južné a antarktické územia"}
        TG{"Togo"}
        TH{"Thajsko"}
        TJ{"Tadžikistan"}
        TK{"Tokelau"}
        TL{"Východný Timor"}
        TM{"Turkménsko"}
        TN{"Tunisko"}
        TO{"Tonga"}
        TR{"Turecko"}
        TT{"Trinidad a Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tanzánia"}
        UA{"Ukrajina"}
        UG{"Uganda"}
        UM{"Menšie odľahlé ostrovy USA"}
        US{"Spojené štáty"}
        UY{"Uruguaj"}
        UZ{"Uzbekistan"}
        VA{"Vatikán"}
        VC{"Svätý Vincent a Grenadíny"}
        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{"Južná Afrika"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"neznámy región"}
    }
    Countries%short{
        GB{"UK"}
        US{"USA"}
    }
    Countries%variant{
        CD{"Konžská demokratická republika"}
        CG{"Konžská republika"}
        FK{"Falklandy (Malvíny)"}
        MK{"Macedónsko (BJRM)"}
    }
    Version{"2.1.19.14"}
}
