﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ro.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/ro.xml
 */
ro{
    Countries{
        001{"Lume"}
        002{"Africa"}
        003{"America de Nord"}
        005{"America de Sud"}
        009{"Oceania"}
        011{"Africa Occidentală"}
        013{"America Centrală"}
        014{"Africa Orientală"}
        015{"Africa Septentrională"}
        017{"Africa Centrală"}
        018{"Africa Meridională"}
        019{"Americi"}
        021{"America Septentrională"}
        029{"Caraibe"}
        030{"Asia Orientală"}
        034{"Asia Meridională"}
        035{"Asia de Sud-Est"}
        039{"Europa Meridională"}
        053{"Australasia"}
        054{"Melanezia"}
        057{"Regiunea Micronezia"}
        061{"Polinezia"}
        142{"Asia"}
        143{"Asia Centrală"}
        145{"Asia Occidentală"}
        150{"Europa"}
        151{"Europa Orientală"}
        154{"Europa Septentrională"}
        155{"Europa Occidentală"}
        419{"America Latină"}
        AC{"Insula Ascension"}
        AD{"Andorra"}
        AE{"Emiratele Arabe Unite"}
        AF{"Afganistan"}
        AG{"Antigua și Barbuda"}
        AI{"Anguilla"}
        AL{"Albania"}
        AM{"Armenia"}
        AN{"Antilele Olandeze"}
        AO{"Angola"}
        AQ{"Antarctica"}
        AR{"Argentina"}
        AS{"Samoa Americană"}
        AT{"Austria"}
        AU{"Australia"}
        AW{"Aruba"}
        AX{"Insulele Aland"}
        AZ{"Azerbaidjan"}
        BA{"Bosnia și Herțegovina"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"Belgia"}
        BF{"Burkina Faso"}
        BG{"Bulgaria"}
        BH{"Bahrain"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Sfântul Bartolomeu"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Bolivia"}
        BQ{"Insulele Caraibe Olandeze"}
        BR{"Brazilia"}
        BS{"Bahamas"}
        BT{"Bhutan"}
        BV{"Insula Bouvet"}
        BW{"Botswana"}
        BY{"Bielorusia"}
        BZ{"Belize"}
        CA{"Canada"}
        CC{"Insulele Cocos"}
        CD{"Republica Democrată Congo"}
        CF{"Republica Centrafricană"}
        CG{"Congo"}
        CH{"Elveția"}
        CI{"Coasta de Fildeș"}
        CK{"Insulele Cook"}
        CL{"Chile"}
        CM{"Camerun"}
        CN{"China"}
        CO{"Columbia"}
        CP{"Insula Clipperton"}
        CR{"Costa Rica"}
        CU{"Cuba"}
        CV{"Capul Verde"}
        CW{"Curaçao"}
        CX{"Insula Christmas"}
        CY{"Cipru"}
        CZ{"Republica Cehă"}
        DE{"Germania"}
        DG{"Diego Garcia"}
        DJ{"Djibouti"}
        DK{"Danemarca"}
        DM{"Dominica"}
        DO{"Republica Dominicană"}
        DZ{"Algeria"}
        EA{"Ceuta şi Melilla"}
        EC{"Ecuador"}
        EE{"Estonia"}
        EG{"Egipt"}
        EH{"Sahara Occidentală"}
        ER{"Eritreea"}
        ES{"Spania"}
        ET{"Etiopia"}
        EU{"Uniunea Europeană"}
        FI{"Finlanda"}
        FJ{"Fiji"}
        FK{"Insulele Falkland"}
        FM{"Micronezia"}
        FO{"Insulele Feroe"}
        FR{"Franța"}
        GA{"Gabon"}
        GB{"Marea Britanie"}
        GD{"Grenada"}
        GE{"Georgia"}
        GF{"Guyana Franceză"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Groenlanda"}
        GM{"Gambia"}
        GN{"Guineea"}
        GP{"Guadelupa"}
        GQ{"Guineea Ecuatorială"}
        GR{"Grecia"}
        GS{"Georgia de Sud şi Insulele Sandwich de Sud"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guineea-Bissau"}
        GY{"Guyana"}
        HK{"R.A.S. Hong Kong a Chinei"}
        HM{"Insula Heard și Insulele McDonald"}
        HN{"Honduras"}
        HR{"Croația"}
        HT{"Haiti"}
        HU{"Ungaria"}
        IC{"Insulele Canare"}
        ID{"Indonezia"}
        IE{"Irlanda"}
        IL{"Israel"}
        IM{"Insula Man"}
        IN{"India"}
        IO{"Teritoriul Britanic din Oceanul Indian"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Islanda"}
        IT{"Italia"}
        JE{"Jersey"}
        JM{"Jamaica"}
        JO{"Iordania"}
        JP{"Japonia"}
        KE{"Kenya"}
        KG{"Kârgâzstan"}
        KH{"Cambodgia"}
        KI{"Kiribati"}
        KM{"Comore"}
        KN{"Sfântul Kitts și Nevis"}
        KP{"Coreea de Nord"}
        KR{"Coreea de Sud"}
        KW{"Kuweit"}
        KY{"Insulele Cayman"}
        KZ{"Kazahstan"}
        LA{"Laos"}
        LB{"Liban"}
        LC{"Sfânta Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesotho"}
        LT{"Lituania"}
        LU{"Luxemburg"}
        LV{"Letonia"}
        LY{"Libia"}
        MA{"Maroc"}
        MC{"Monaco"}
        MD{"Republica Moldova"}
        ME{"Muntenegru"}
        MF{"Sfântul Martin"}
        MG{"Madagascar"}
        MH{"Insulele Marshall"}
        MK{"Macedonia"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Mongolia"}
        MO{"R.A.S. Macao a Chinei"}
        MP{"Insulele Mariane de Nord"}
        MQ{"Martinica"}
        MR{"Mauritania"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Maldive"}
        MW{"Malawi"}
        MX{"Mexic"}
        MY{"Malaezia"}
        MZ{"Mozambic"}
        NA{"Namibia"}
        NC{"Noua Caledonie"}
        NE{"Niger"}
        NF{"Insulele Norfolk"}
        NG{"Nigeria"}
        NI{"Nicaragua"}
        NL{"Olanda"}
        NO{"Norvegia"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Noua Zeelandă"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Polinezia Franceză"}
        PG{"Papua Noua Guinee"}
        PH{"Filipine"}
        PK{"Pakistan"}
        PL{"Polonia"}
        PM{"Sfântul Pierre și Miquelon"}
        PN{"Pitcairn"}
        PR{"Porto Rico"}
        PS{"Teritoriul Palestinian"}
        PT{"Portugalia"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Qatar"}
        QO{"Oceania Periferică"}
        RE{"Reunion"}
        RO{"România"}
        RS{"Serbia"}
        RU{"Rusia"}
        RW{"Rwanda"}
        SA{"Arabia Saudită"}
        SB{"Insulele Solomon"}
        SC{"Seychelles"}
        SD{"Sudan"}
        SE{"Suedia"}
        SG{"Singapore"}
        SH{"Sfânta Elena"}
        SI{"Slovenia"}
        SJ{"Svalbard și Jan Mayen"}
        SK{"Slovacia"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalia"}
        SR{"Surinam"}
        SS{"Sudanul de Sud"}
        ST{"Sao Tome și Principe"}
        SV{"El Salvador"}
        SX{"Sint Maarten"}
        SY{"Siria"}
        SZ{"Swaziland"}
        TA{"Tristan da Cunha"}
        TC{"Insulele Turks și Caicos"}
        TD{"Ciad"}
        TF{"Teritoriile Australe și Antarctice Franceze"}
        TG{"Togo"}
        TH{"Thailanda"}
        TJ{"Tadjikistan"}
        TK{"Tokelau"}
        TL{"Timorul de Est"}
        TM{"Turkmenistan"}
        TN{"Tunisia"}
        TO{"Tonga"}
        TR{"Turcia"}
        TT{"Trinidad-Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tanzania"}
        UA{"Ucraina"}
        UG{"Uganda"}
        UM{"Insulele Minore Îndepărtate ale Statelor Unite ale Americii"}
        US{"Statele Unite ale Americii"}
        UY{"Uruguay"}
        UZ{"Uzbekistan"}
        VA{"Vatican"}
        VC{"Sfântul Vincent și Grenadine"}
        VE{"Venezuela"}
        VG{"Insulele Virgine Britanice"}
        VI{"Insulele Virgine S.U.A."}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis și Futuna"}
        WS{"Samoa"}
        YE{"Yemen"}
        YT{"Mayotte"}
        ZA{"Africa de Sud"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"Regiune necunoscută"}
    }
    Version{"2.0.75.99"}
}
