﻿// ***************************************************************************
// *
// * Copyright (C) 2014 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>/common/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 Åland"}
        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{"Belarus"}
        BZ{"Belize"}
        CA{"Canada"}
        CC{"Insulele Cocos (Keeling)"}
        CD{"Republica Democrată Congo"}
        CF{"Republica Centrafricană"}
        CG{"Congo"}
        CH{"Elveția"}
        CI{"Côte d’Ivoire"}
        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{"Regatul Unit"}
        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{"Hong Kong"}
        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{"Saint 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 (Birmania)"}
        MN{"Mongolia"}
        MO{"Macao"}
        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{"Țările de Jos"}
        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{"Saint-Pierre și Miquelon"}
        PN{"Insulele Pitcairn"}
        PR{"Puerto Rico"}
        PS{"Palestina"}
        PT{"Portugalia"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Qatar"}
        QO{"Oceania Periferică"}
        RE{"Réunion"}
        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 și 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{"Statul Cetății Vaticanului"}
        VC{"Saint 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"}
        XK{"Kosovo"}
        YE{"Yemen"}
        YT{"Mayotte"}
        ZA{"Africa de Sud"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"Regiune necunoscută"}
    }
    CountriesShort{
        GB{"Regatul Unit"}
        US{"S.U.A."}
    }
    Version{"2.0.98.52"}
}
