﻿// ***************************************************************************
// *
// * Copyright (C) 2011 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{
    Keys{
        calendar{"Calendar"}
        collation{"ordine de sortare"}
        currency{"monedă"}
        numbers{"Numere"}
        x{"Utilizare privată"}
    }
    Languages{
        ab{"abhază"}
        af{"afrikaans"}
        afa{"limbă afro-asiatică"}
        ain{"ainu"}
        akk{"akkadiană"}
        ale{"aleută"}
        alt{"altaică meridională"}
        am{"amharică"}
        an{"aragoneză"}
        ang{"engleză veche"}
        apa{"limbă apașă"}
        ar{"arabă"}
        arc{"aramaică"}
        art{"limbă artificială"}
        as{"asameză"}
        ast{"asturiană"}
        aus{"limbă australiană"}
        av{"avară"}
        ay{"aymara"}
        az{"azeră"}
        ba{"bașkiră"}
        bat{"limbă baltică"}
        be{"bielorusă"}
        ber{"berberă"}
        bg{"bulgară"}
        bh{"bihari"}
        bn{"bengaleză"}
        bnt{"bantu"}
        bo{"tibetană"}
        br{"bretonă"}
        bs{"bosniacă"}
        ca{"catalană"}
        cai{"limbă central-amerindiană"}
        cau{"limbă caucaziană"}
        ce{"cecenă"}
        cel{"limbă celtică"}
        co{"corsicană"}
        cop{"coptă"}
        cs{"cehă"}
        cu{"slavonă"}
        cv{"ciuvașă"}
        cy{"velșă"}
        da{"daneză"}
        de{"germană"}
        de_AT{"germană austriacă"}
        de_CH{"germană standard elvețiană"}
        dra{"limbă dravidiană"}
        dv{"divehi"}
        dz{"dzongkha"}
        efi{"efik"}
        egy{"egipteană veche"}
        el{"greacă"}
        elx{"elamită"}
        en{"engleză"}
        en_AU{"engleză australiană"}
        en_CA{"engleză canadiană"}
        en_GB{"engleză britanică"}
        en_US{"engleză americană"}
        eo{"esperanto"}
        es{"spaniolă"}
        es_419{"spaniolă latino-americană"}
        es_ES{"spaniolă iberică"}
        et{"estoniană"}
        eu{"bască"}
        fa{"persană"}
        fi{"finlandeză"}
        fil{"filipineză"}
        fiu{"limbă fino-ugrică"}
        fj{"fijiană"}
        fo{"faroeză"}
        fr{"franceză"}
        fr_CA{"franceză canadiană"}
        fr_CH{"franceză elvețiană"}
        fro{"franceză veche"}
        frs{"frizonă orientală"}
        fy{"frizonă occidentală"}
        ga{"irlandeză"}
        gd{"gaelică scoțiană"}
        gem{"limbă germanică"}
        gl{"galiciană"}
        gn{"guarani"}
        got{"gotică"}
        grc{"greacă veche"}
        gsw{"germană elvețiană"}
        gu{"gujarati"}
        ha{"hausa"}
        haw{"hawaiană"}
        he{"ebraică"}
        hi{"hindi"}
        hit{"hitită"}
        hr{"croată"}
        ht{"haitiană"}
        hu{"maghiară"}
        hy{"armeană"}
        ia{"interlingua"}
        id{"indoneziană"}
        ie{"interlingue"}
        ig{"igbo"}
        ik{"inupiak"}
        inc{"limbă indiană"}
        ine{"limbă indo-europeană"}
        ira{"limbă iraniană"}
        is{"islandeză"}
        it{"italiană"}
        ja{"japoneză"}
        jpr{"iudeo-persană"}
        jrb{"iudeo-arabă"}
        jv{"javaneză"}
        ka{"georgiană"}
        kg{"congoleză"}
        kk{"kazahă"}
        kl{"kalaallisut"}
        km{"khmeră"}
        kn{"kannada"}
        ko{"coreeană"}
        ks{"cașmireză"}
        ku{"kurdă"}
        ky{"kîrgîză"}
        la{"latină"}
        lb{"luxemburgheză"}
        ln{"lingala"}
        lo{"laoțiană"}
        lt{"lituaniană"}
        lv{"letonă"}
        map{"austroneziană"}
        mg{"malgașă"}
        mi{"maori"}
        mis{"limbi diverse"}
        mk{"macedoneană"}
        ml{"malayalam"}
        mn{"mongolă"}
        mnc{"manciuriană"}
        mo{"moldovenească"}
        mr{"marathi"}
        ms{"malay"}
        mt{"malteză"}
        mul{"limbi multiple"}
        mun{"limbă munda"}
        mwl{"mirandeză"}
        my{"birmaneză"}
        myn{"limbă mayașă"}
        nai{"limbă nord-amerindiană"}
        nap{"napolitană"}
        nb{"norvegiana bokmål"}
        nd{"ndebele de nord"}
        ne{"nepaleză"}
        nl{"olandeză"}
        nl_BE{"flamandă"}
        nn{"norvegiană nynorsk"}
        no{"norvegiană"}
        nso{"sotho de nord"}
        nub{"limbă nubiană"}
        nv{"navajo"}
        ny{"nyanja"}
        oc{"occitană"}
        om{"oromo"}
        or{"oriya"}
        os{"osetă"}
        ota{"turcă otomană"}
        oto{"limbă otomi"}
        pa{"punjabi"}
        paa{"limbă papuașă"}
        peo{"persană veche"}
        phi{"limbă filipineză"}
        phn{"feniciană"}
        pi{"pali"}
        pl{"poloneză"}
        pro{"provensală veche"}
        ps{"pașto"}
        pt{"portugheză"}
        pt_BR{"portugheză braziliană"}
        pt_PT{"portugheză iberică"}
        qu{"quechua"}
        rm{"retoromană"}
        rn{"kirundi"}
        ro{"română"}
        roa{"limbă romanică"}
        ru{"rusă"}
        rup{"aromână"}
        rw{"kinyarwanda"}
        sa{"sanscrită"}
        sah{"sakha"}
        sai{"limbă sud-amerindiană"}
        sam{"aramaică samariteană"}
        sc{"sardiniană"}
        scn{"siciliană"}
        sco{"scots"}
        sd{"sindhi"}
        se{"sami de nord"}
        sem{"limbă semitică"}
        sg{"sango"}
        sga{"irlandeză veche"}
        sgn{"limbaj mimico-gestual"}
        sh{"sârbo-croată"}
        si{"singaleză"}
        sit{"limbă sino-tibetană"}
        sk{"slovacă"}
        sl{"slovenă"}
        sla{"limbă slavă"}
        sm{"samoană"}
        sn{"shona"}
        so{"somaleză"}
        sq{"albaneză"}
        sr{"sârbă"}
        ss{"swati"}
        st{"sesotho"}
        su{"sundaneză"}
        sux{"sumeriană"}
        sv{"suedeză"}
        sw{"swahili"}
        swb{"comoreză"}
        syr{"siriacă"}
        ta{"tamilă"}
        tai{"limbă thai"}
        te{"telugu"}
        tet{"tetum"}
        tg{"tadjică"}
        th{"thailandeză"}
        ti{"tigrinya"}
        tk{"turkmenă"}
        tl{"tagalog"}
        tlh{"klingoniană"}
        tn{"setswana"}
        to{"tonga"}
        tpi{"tok pisin"}
        tr{"turcă"}
        ts{"tsonga"}
        tt{"tătară"}
        tut{"limbă altaică"}
        tw{"twi"}
        ty{"tahitiană"}
        ug{"uigură"}
        uk{"ucraineană"}
        und{"limbă necunoscută sau nevalidă"}
        ur{"urdu"}
        uz{"uzbecă"}
        ve{"venda"}
        vi{"vietnameză"}
        vo{"volapuk"}
        wa{"valonă"}
        wo{"wolof"}
        xal{"calmucă"}
        xh{"xhosa"}
        yi{"idiș"}
        yo{"yoruba"}
        yue{"cantoneză"}
        zap{"zapotecă"}
        zh{"chineză"}
        zh_Hans{"chineză simplificată"}
        zh_Hant{"chineză tradițională"}
        zu{"zulu"}
        zxx{"fară conținut lingvistic"}
    }
    Scripts{
        Arab{"arabă"}
        Armn{"armeană"}
        Bali{"balineză"}
        Beng{"bengali"}
        Bopo{"bopomofo"}
        Brai{"braille"}
        Cans{"silabică aborigenă canadiană unificată"}
        Copt{"coptă"}
        Cprt{"cipriotă"}
        Cyrl{"chirilică"}
        Cyrs{"chirilică slavonă bisericească veche"}
        Deva{"devanagari"}
        Dsrt{"mormonă"}
        Egyd{"demotică egipteană"}
        Egyh{"hieratică egipteană"}
        Egyp{"hieroglife egiptene"}
        Ethi{"etiopiană"}
        Geok{"georgiană bisericească"}
        Geor{"georgiană"}
        Glag{"glagolitică"}
        Goth{"gotică"}
        Grek{"greacă"}
        Gujr{"gujarati"}
        Guru{"gurmukhi"}
        Hang{"hangul"}
        Hani{"ideografică"}
        Hans{"ideografică simplificată"}
        Hant{"ideografică tradițională"}
        Hebr{"ebraică"}
        Hira{"hiragana"}
        Hrkt{"katakana sau hiragana"}
        Hung{"maghiară veche"}
        Inds{"indus"}
        Ital{"italică veche"}
        Java{"javaneză"}
        Jpan{"japoneză"}
        Kana{"katakana"}
        Khmr{"khmeră"}
        Knda{"kannada"}
        Kore{"coreeană"}
        Laoo{"laoțiană"}
        Latf{"latină Fraktur"}
        Latg{"latină gaelică"}
        Latn{"latină"}
        Lina{"lineară A"}
        Linb{"lineară B"}
        Lydi{"lidiană"}
        Maya{"hieroglife maya"}
        Mlym{"malayalam"}
        Mong{"mongolă"}
        Mymr{"birmană"}
        Orya{"oriya"}
        Phnx{"feniciană"}
        Runr{"runică"}
        Sinh{"singaleză"}
        Syrc{"siriacă"}
        Syrj{"siriacă occidentală"}
        Syrn{"siriacă orientală"}
        Taml{"tamilă"}
        Telu{"telugu"}
        Tfng{"berberă"}
        Thaa{"thaana"}
        Thai{"thai"}
        Tibt{"tibetană"}
        Xpeo{"persană veche"}
        Xsux{"cuneiformă sumero-akkadiană"}
        Zinh{"moștenită"}
        Zsym{"simboluri"}
        Zxxx{"nescrisă"}
        Zyyy{"comună"}
        Zzzz{"scriere necunoscută sau nevalidă"}
    }
    Types{
        calendar{
            buddhist{"calendar budist"}
            chinese{"calendar chinezesc"}
            coptic{"calendar copt"}
            ethiopic{"calendar etiopian"}
            ethiopic-amete-alem{"Calendarul etiopian amete alem"}
            gregorian{"calendar gregorian"}
            hebrew{"calendar ebraic"}
            indian{"calendar național indian"}
            islamic{"calendar islamic"}
            islamic-civil{"calendar islamic civil"}
            japanese{"calendar japonez"}
            persian{"calendar persan"}
            roc{"calendar al Republicii Chineze"}
        }
        collation{
            big5han{"sortare pentru chineza tradițională - Big5"}
            dictionary{"Ordine de sortare a dicţionarului"}
            direct{"sortare directă"}
            ducet{"Ordine de sortare Unicode implicită"}
            gb2312han{"sortare pentru chineza simplificată - GB2312"}
            phonebook{"sortare după cartea de telefon"}
            pinyin{"sortare pinyin"}
            reformed{"Ordine de sortare reformată"}
            search{"Căutare cu scop general"}
            stroke{"ordine de sortare după trasare"}
            traditional{"sortare tradițională"}
            unihan{"Ordine de sortare a liniilor ideogramelor"}
        }
        numbers{
            arab{"Cifre indo-arabe"}
            arabext{"Cifre indo-arabe extinse"}
            armn{"Numerale armeneşti"}
            armnlow{"Numerale armeneşti cu minuscule"}
            beng{"Cifre bengaleze"}
            deva{"Cifre devanagari"}
            ethi{"Numerale etiopiene"}
            fullwide{"Cifre cu lăţimea întreagă"}
            geor{"Numerale georgiene"}
            grek{"Numerale greceşti"}
            greklow{"Numerale greceşti cu minuscule"}
            gujr{"Cifre gujarati"}
            guru{"Cifre gurmukhi"}
            hanidec{"Numerale zecimale chinezeşti"}
            hans{"Numerale chinezeşti simplificate"}
            hansfin{"Numerale financiare chinezeşti simplificate"}
            hant{"Numerale chinezeşti tradiţionale"}
            hantfin{"Numerale financiare chinezeşti tradiţionale"}
            hebr{"Numerale ebraice"}
            jpan{"Numerale japoneze"}
            jpanfin{"Numerale financiare japoneze"}
            khmr{"Cifre khmeră"}
            knda{"Cifre kannada"}
            laoo{"Cifre laoţiene"}
            latn{"Cifre occidentale"}
            mlym{"Cifre malayalam"}
            mong{"Cifre mongole"}
            mymr{"Cifre birmaneze"}
            orya{"Cifre oriya"}
            roman{"Numerale romane"}
            romanlow{"Numerale romane cu minuscule"}
            taml{"Numerale tamilă"}
            telu{"Cifre telugu"}
            thai{"Cifre thailandeze"}
            tibt{"Cifre tibetane"}
        }
    }
    Variants{
        PINYIN{"pinyin"}
        WADEGILE{"Wade-Giles"}
    }
    Version{"2.0.59.53"}
    codePatterns{
        language{"Limbă: {0}"}
        script{"Scriere: {0}"}
        territory{"Regiune: {0}"}
    }
    localeDisplayPattern{
        pattern{"{0} ({1})"}
        separator{", "}
    }
}
