﻿// ***************************************************************************
// *
// * 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/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{"Australia și Noua Zeelandă"}
        054{"Melanezia"}
        057{"Regiunea Micronezia"}
        061{"Polinezia"}
        062{"Asia Centrală de Sud"}
        142{"Asia"}
        143{"Asia Centrală"}
        145{"Asia Occidentală"}
        150{"Europa"}
        151{"Europa Orientală"}
        154{"Europa Septentrională"}
        155{"Europa Occidentală"}
        172{"Comunitatea Statelor Independente"}
        419{"America Latină și Caraibe"}
        830{"Insulele Anglo-Normande"}
        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"}
        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{"Eleveția"}
        CI{"Coasta de Fildeș"}
        CK{"Insulele Cook"}
        CL{"Chile"}
        CM{"Camerun"}
        CN{"China"}
        CO{"Columbia"}
        CR{"Costa Rica"}
        CS{"Serbia și Muntenegru"}
        CU{"Cuba"}
        CV{"Capul Verde"}
        CX{"Insula Christmas"}
        CY{"Cipru"}
        CZ{"Republica Cehă"}
        DE{"Germania"}
        DJ{"Djibouti"}
        DK{"Danemarca"}
        DM{"Dominica"}
        DO{"Republica Dominicană"}
        DZ{"Algeria"}
        EC{"Ecuador"}
        EE{"Estonia"}
        EG{"Egipt"}
        EH{"Sahara Occidentală"}
        ER{"Eritreea"}
        ES{"Spania"}
        ET{"Etiopia"}
        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{"Insulele Georgia de Sud și 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"}
        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ă"}
        QU{"Uniunea Europeană"}
        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"}
        ST{"Sao Tome și Principe"}
        SV{"El Salvador"}
        SY{"Siria"}
        SZ{"Swaziland"}
        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 mici î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ă sau nevalidă"}
    }
    Version{"2.0.42.82"}
}
