﻿// ***************************************************************************
// *
// * Copyright (C) 2009 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/et.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/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{"Austraalia ja Uus-Meremaa"}
        054{"Melaneesia"}
        057{"Mikroneesia"}
        061{"Polüneesia"}
        062{"Kesk-Aasia lõunaosa"}
        142{"Aasia"}
        143{"Kesk-Aasia"}
        145{"Lääne-Aasia"}
        150{"Euroopa"}
        151{"Ida-Euroopa"}
        154{"Põhja-Euroopa"}
        155{"Lääne-Euroopa"}
        172{"Sõltumatute Riikide Ühendus"}
        419{"Ladina-Ameerika ja Kariibi meri"}
        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"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Boliivia"}
        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 Vabariik"}
        CH{"Šveits"}
        CI{"Côte d'Ivoire"}
        CK{"Cooki saared"}
        CL{"Tšiili"}
        CM{"Kamerun"}
        CN{"Hiina"}
        CO{"Colombia"}
        CR{"Costa Rica"}
        CS{"Serbia ja Montenegro"}
        CU{"Kuuba"}
        CV{"Roheneemesaared"}
        CX{"Jõulusaar"}
        CY{"Küpros"}
        CZ{"Tšehhi"}
        DE{"Saksamaa"}
        DJ{"Djibouti"}
        DK{"Taani"}
        DM{"Dominica"}
        DO{"Dominikaani Vabariik"}
        DZ{"Alžeeria"}
        EC{"Ecuador"}
        EE{"Eesti"}
        EG{"Egiptus"}
        EH{"Lääne-Sahara"}
        ER{"Eritrea"}
        ES{"Hispaania"}
        ET{"Etioopia"}
        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{"Heard ja McDonald"}
        HN{"Honduras"}
        HR{"Horvaatia"}
        HT{"Haiti"}
        HU{"Ungari"}
        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"}
        MG{"Madagaskar"}
        MH{"Marshalli Saared"}
        MK{"Makedoonia"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Mongoolia"}
        MO{"Aomen - 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{"Pitcairn"}
        PR{"Puerto Rico"}
        PS{"Palestiina ala"}
        PT{"Portugal"}
        PW{"Belau"}
        PY{"Paraguay"}
        QA{"Katar"}
        QO{"Okeaania hajasaared"}
        QU{"Euroopa Liit"}
        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"}
        ST{"São Tomé ja Príncipe"}
        SV{"El Salvador"}
        SY{"Süüria"}
        SZ{"Svaasimaa"}
        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"}
        YE{"Jeemen"}
        YT{"Mayotte"}
        ZA{"Lõuna-Aafrika Vabariik"}
        ZM{"Sambia"}
        ZW{"Zimbabwe"}
        ZZ{"määramata"}
    }
    Version{"2.0.42.82"}
}
