﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/et.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/et.xml
 */
et{
    Countries{
        001{"maailm"}
        002{"Aafrika"}
        003{"Põhja-Ameerika"}
        005{"Lõuna-Ameerika"}
        009{"Okeaania"}
        011{"Lääne-Aafrika"}
        013{"Kesk-Ameerika"}
        014{"Ida-Aafrika"}
        015{"Põhja-Aafrika"}
        017{"Kesk-Aafrika"}
        018{"Lõuna-Aafrika"}
        019{"Ameerika maailmajagu"}
        021{"Ameerika põhjaosa"}
        029{"Kariibi meri"}
        030{"Ida-Aasia"}
        034{"Lõuna-Aasia"}
        035{"Kagu-Aasia"}
        039{"Lõuna-Euroopa"}
        053{"Australaasia"}
        054{"Melaneesia"}
        057{"Mikroneesia"}
        061{"Polüneesia"}
        142{"Aasia"}
        143{"Kesk-Aasia"}
        145{"Lääne-Aasia"}
        150{"Euroopa"}
        151{"Ida-Euroopa"}
        154{"Põhja-Euroopa"}
        155{"Lääne-Euroopa"}
        419{"Ladina-Ameerika"}
        AC{"Ascensioni saar"}
        AD{"Andorra"}
        AE{"Araabia Ühendemiraadid"}
        AF{"Afganistan"}
        AG{"Antigua ja Barbuda"}
        AI{"Anguilla"}
        AL{"Albaania"}
        AM{"Armeenia"}
        AN{"Hollandi Antillid"}
        AO{"Angola"}
        AQ{"Antarktis"}
        AR{"Argentina"}
        AS{"Ameerika Samoa"}
        AT{"Austria"}
        AU{"Austraalia"}
        AW{"Aruba"}
        AX{"Ahvenamaa"}
        AZ{"Aserbaidžaan"}
        BA{"Bosnia ja Hertsegoviina"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"Belgia"}
        BF{"Burkina Faso"}
        BG{"Bulgaaria"}
        BH{"Bahrein"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Saint Barthélemy"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Boliivia"}
        BQ{"Hollandi Kariibi mere saared"}
        BR{"Brasiilia"}
        BS{"Bahama"}
        BT{"Bhutan"}
        BV{"Bouvet’ saar"}
        BW{"Botswana"}
        BY{"Valgevene"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Kookossaared"}
        CD{"Kongo DV"}
        CF{"Kesk-Aafrika Vabariik"}
        CG{"Kongo-Brazzaville"}
        CH{"Šveits"}
        CI{"Côte d’Ivoire"}
        CK{"Cooki saared"}
        CL{"Tšiili"}
        CM{"Kamerun"}
        CN{"Hiina"}
        CO{"Colombia"}
        CP{"Clippertoni saar"}
        CR{"Costa Rica"}
        CU{"Kuuba"}
        CV{"Roheneemesaared"}
        CW{"Curaçao"}
        CX{"Jõulusaar"}
        CY{"Küpros"}
        CZ{"Tšehhi"}
        DE{"Saksamaa"}
        DG{"Diego Garcia"}
        DJ{"Djibouti"}
        DK{"Taani"}
        DM{"Dominica"}
        DO{"Dominikaani Vabariik"}
        DZ{"Alžeeria"}
        EA{"Ceuta ja Melilla"}
        EC{"Ecuador"}
        EE{"Eesti"}
        EG{"Egiptus"}
        EH{"Lääne-Sahara"}
        ER{"Eritrea"}
        ES{"Hispaania"}
        ET{"Etioopia"}
        EU{"Euroopa Liit"}
        FI{"Soome"}
        FJ{"Fidži"}
        FK{"Falklandi saared"}
        FM{"Mikroneesia Liiduriigid"}
        FO{"Fääri saared"}
        FR{"Prantsusmaa"}
        GA{"Gabon"}
        GB{"Suurbritannia"}
        GD{"Grenada"}
        GE{"Gruusia"}
        GF{"Prantsuse Guajaana"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Gröönimaa"}
        GM{"Gambia"}
        GN{"Guinea"}
        GP{"Guadeloupe"}
        GQ{"Ekvatoriaal-Guinea"}
        GR{"Kreeka"}
        GS{"Lõuna-Georgia ja Lõuna-Sandwichi saared"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Guyana"}
        HK{"Hongkong - Hiina erihalduspiirkond"}
        HM{"Heardi ja McDonaldi saared"}
        HN{"Honduras"}
        HR{"Horvaatia"}
        HT{"Haiti"}
        HU{"Ungari"}
        IC{"Kanaari saared"}
        ID{"Indoneesia"}
        IE{"Iirimaa"}
        IL{"Iisrael"}
        IM{"Mani saar"}
        IN{"India"}
        IO{"Briti India ookeani ala"}
        IQ{"Iraak"}
        IR{"Iraan"}
        IS{"Island"}
        IT{"Itaalia"}
        JE{"Jersey"}
        JM{"Jamaica"}
        JO{"Jordaania"}
        JP{"Jaapan"}
        KE{"Kenya"}
        KG{"Kõrgõzstan"}
        KH{"Kambodža"}
        KI{"Kiribati"}
        KM{"Komoorid"}
        KN{"Saint Kitts ja Nevis"}
        KP{"Põhja-Korea"}
        KR{"Lõuna-Korea"}
        KW{"Kuveit"}
        KY{"Kaimanisaared"}
        KZ{"Kasahstan"}
        LA{"Laos"}
        LB{"Liibanon"}
        LC{"Saint Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Libeeria"}
        LS{"Lesotho"}
        LT{"Leedu"}
        LU{"Luksemburg"}
        LV{"Läti"}
        LY{"Liibüa"}
        MA{"Maroko"}
        MC{"Monaco"}
        MD{"Moldova"}
        ME{"Montenegro"}
        MF{"Saint Martin"}
        MG{"Madagaskar"}
        MH{"Marshalli saared"}
        MK{"Makedoonia"}
        ML{"Mali"}
        MM{"Myanmar (Birma)"}
        MN{"Mongoolia"}
        MO{"Macau - Hiina erihalduspiirkond"}
        MP{"Põhja-Mariaanid"}
        MQ{"Martinique"}
        MR{"Mauritaania"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Maldiivid"}
        MW{"Malawi"}
        MX{"Mehhiko"}
        MY{"Malaisia"}
        MZ{"Mosambiik"}
        NA{"Namiibia"}
        NC{"Uus-Kaledoonia"}
        NE{"Niger"}
        NF{"Norfolk"}
        NG{"Nigeeria"}
        NI{"Nicaragua"}
        NL{"Holland"}
        NO{"Norra"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Uus-Meremaa"}
        OM{"Omaan"}
        PA{"Panama"}
        PE{"Peruu"}
        PF{"Prantsuse Polüneesia"}
        PG{"Paapua Uus-Guinea"}
        PH{"Filipiinid"}
        PK{"Pakistan"}
        PL{"Poola"}
        PM{"Saint Pierre ja Miquelon"}
        PN{"Pitcairni saared"}
        PR{"Puerto Rico"}
        PS{"Palestiina alad"}
        PT{"Portugal"}
        PW{"Belau"}
        PY{"Paraguay"}
        QA{"Katar"}
        QO{"Okeaania hajasaared"}
        RE{"Réunion"}
        RO{"Rumeenia"}
        RS{"Serbia"}
        RU{"Venemaa"}
        RW{"Rwanda"}
        SA{"Saudi Araabia"}
        SB{"Saalomoni Saared"}
        SC{"Seišellid"}
        SD{"Sudaan"}
        SE{"Rootsi"}
        SG{"Singapur"}
        SH{"Saint Helena"}
        SI{"Sloveenia"}
        SJ{"Svalbard ja Jan Mayen"}
        SK{"Slovakkia"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somaalia"}
        SR{"Suriname"}
        SS{"Lõuna-Sudaan"}
        ST{"São Tomé ja Príncipe"}
        SV{"El Salvador"}
        SX{"Sint Maarten"}
        SY{"Süüria"}
        SZ{"Svaasimaa"}
        TA{"Tristan da Cunha"}
        TC{"Turks ja Caicos"}
        TD{"Tšaad"}
        TF{"Prantsuse Lõunaalad"}
        TG{"Togo"}
        TH{"Tai"}
        TJ{"Tadžikistan"}
        TK{"Tokelau"}
        TL{"Ida-Timor"}
        TM{"Türkmenistan"}
        TN{"Tuneesia"}
        TO{"Tonga"}
        TR{"Türgi"}
        TT{"Trinidad ja Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tansaania"}
        UA{"Ukraina"}
        UG{"Uganda"}
        UM{"Ühendriikide hajasaared"}
        US{"Ameerika Ühendriigid"}
        UY{"Uruguay"}
        UZ{"Usbekistan"}
        VA{"Vatikan"}
        VC{"Saint Vincent ja Grenadiinid"}
        VE{"Venezuela"}
        VG{"Briti Neitsisaared"}
        VI{"USA Neitsisaared"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis ja Futuna"}
        WS{"Samoa"}
        XK{"Kosovo"}
        YE{"Jeemen"}
        YT{"Mayotte"}
        ZA{"Lõuna-Aafrika Vabariik"}
        ZM{"Sambia"}
        ZW{"Zimbabwe"}
        ZZ{"Tundmatu piirkond"}
    }
    Countries%short{
        GB{"Suurbritannia"}
        HK{"Hongkong"}
        MO{"Macau"}
        PS{"Palestiina"}
        US{"USA"}
    }
    Countries%variant{
        CD{"Kongo-Kinshasa"}
        CG{"Kongo (Vabariik)"}
        CI{"Elevandiluurannik"}
        FK{"Falklandi saared (Malviini saared)"}
    }
    Version{"2.1.12.94"}
}
