﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/cy.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/cy.xml
 */
cy{
    Keys{
        calendar{"Calendr"}
        collation{"Trefn"}
        currency{"Arian Breiniol"}
        numbers{"Rhifau"}
    }
    Languages{
        aa{"Affareg"}
        ab{"Abchaseg"}
        ace{"Acehneg"}
        ach{"Acoli"}
        ada{"Adangmeg"}
        ady{"Circaseg Gorllewinol"}
        ae{"Afestaneg"}
        aeb{"Arabeg Tunisia"}
        af{"Affricâneg"}
        afh{"Affrihili"}
        agq{"Aghemeg"}
        ain{"Ainŵeg"}
        ak{"Acaneg"}
        akk{"Acadeg"}
        akz{"Alabamäeg"}
        ale{"Alewteg"}
        aln{"Ghegeg Albania"}
        alt{"Altäeg Deheuol"}
        am{"Amhareg"}
        an{"Aragoneg"}
        ang{"Hen Saesneg"}
        ar{"Arabeg"}
        ar_001{"Arabeg Modern Safonol"}
        arc{"Aramaeg"}
        arn{"Arawcaneg"}
        aro{"Araonaeg"}
        arp{"Arapaho"}
        arq{"Arabeg Algeria"}
        arw{"Arawaceg"}
        ary{"Arabeg Moroco"}
        arz{"Arabeg yr Aifft"}
        as{"Asameg"}
        ase{"Iaith Arwyddion America"}
        av{"Afareg"}
        az{"Aserbaijaneg"}
        azb{"Aserbaijaneg Deheuol"}
        ba{"Bashcorteg"}
        bal{"Balwtsi"}
        ban{"Balïeg"}
        bas{"Basâeg"}
        bax{"Bamwmeg"}
        be{"Belarwseg"}
        bej{"Bejäeg"}
        bem{"Bembeg"}
        bez{"Bena"}
        bg{"Bwlgareg"}
        bi{"Bislama"}
        bkm{"Comeg"}
        bm{"Bambareg"}
        bn{"Bengaleg"}
        bo{"Tibeteg"}
        br{"Llydaweg"}
        brh{"Brahui"}
        bs{"Bosnieg"}
        bua{"Bwriateg"}
        bum{"Bwlw"}
        ca{"Catalaneg"}
        cad{"Cado"}
        car{"Caribeg"}
        cch{"Atsameg"}
        ce{"Tsietsieneg"}
        ch{"Tsiamorro"}
        chm{"Marieg"}
        cho{"Siocto"}
        chr{"Tsierocî"}
        chy{"Cheyenne"}
        ckb{"Cwrdeg Sorani"}
        co{"Corseg"}
        cop{"Copteg"}
        cr{"Cri"}
        crh{"Tyrceg y Crimea"}
        cs{"Tsieceg"}
        cu{"Hen Slafoneg"}
        cy{"Cymraeg"}
        da{"Daneg"}
        dak{"Dacotaeg"}
        dar{"Dargwa"}
        de{"Almaeneg"}
        de_AT{"Almaeneg Awstria"}
        de_CH{"Almaeneg Safonol y Swistir"}
        din{"Dinca"}
        dje{"Zarmaeg"}
        doi{"Dogri"}
        dsb{"Sorbeg Isaf"}
        dum{"Iseldireg Canol"}
        dv{"Difehi"}
        ebu{"Embw"}
        ee{"Ewe"}
        egy{"Hen Eiffteg"}
        el{"Groeg"}
        elx{"Elameg"}
        en{"Saesneg"}
        en_AU{"Saesneg Awstralia"}
        en_CA{"Saesneg Canada"}
        en_GB{"Saesneg Prydain"}
        en_US{"Saesneg America"}
        enm{"Saesneg Canol"}
        eo{"Esperanto"}
        es{"Sbaeneg"}
        es_419{"Sbaeneg America Ladin"}
        es_ES{"Sbaeneg Ewrop"}
        es_MX{"Sbaeneg Mecsico"}
        et{"Estoneg"}
        eu{"Basgeg"}
        ewo{"Ewondo"}
        ext{"Extremadureg"}
        fa{"Perseg"}
        fat{"Ffanti"}
        ff{"Ffwla"}
        fi{"Ffinneg"}
        fil{"Ffilipineg"}
        fit{"Ffinneg Tornedal"}
        fj{"Ffijïeg"}
        fo{"Ffaröeg"}
        fr{"Ffrangeg"}
        fr_CA{"Ffrangeg Canada"}
        fr_CH{"Ffrangeg y Swistir"}
        frc{"Ffrangeg Cajwn"}
        frm{"Ffrangeg Canol"}
        fro{"Hen Ffrangeg"}
        frr{"Ffriseg y Gogledd"}
        frs{"Ffriseg y Dwyrain"}
        fur{"Ffriwleg"}
        fy{"Ffriseg y Gorllewin"}
        ga{"Gwyddeleg"}
        gay{"Gaio"}
        gba{"Gbaia"}
        gbz{"Dareg y Zoroastriaid"}
        gd{"Gaeleg yr Alban"}
        gil{"Gilberteg"}
        gl{"Galisieg"}
        gmh{"Uchel Almaeneg Canol"}
        gn{"Guaraní"}
        goh{"Hen Uchel Almaeneg"}
        got{"Gotheg"}
        grc{"Hen Roeg"}
        gsw{"Almaeneg y Swistir"}
        gu{"Gwjarati"}
        gv{"Manaweg"}
        ha{"Hawsa"}
        hai{"Haida"}
        haw{"Hawäieg"}
        he{"Hebraeg"}
        hi{"Hindi"}
        hit{"Hetheg"}
        hmn{"Hmongeg"}
        hr{"Croateg"}
        hsb{"Sorbeg Uchaf"}
        ht{"Creol Haiti"}
        hu{"Hwngareg"}
        hy{"Armeneg"}
        hz{"Herero"}
        ia{"Interlingua"}
        iba{"Ibaneg"}
        ibb{"Ibibio"}
        id{"Indoneseg"}
        ie{"Interlingue"}
        ig{"Igbo"}
        ii{"Nwosw"}
        ik{"Inwpiaceg"}
        ilo{"Ilocaneg"}
        inh{"Ingwsieg"}
        is{"Islandeg"}
        it{"Eidaleg"}
        iu{"Inwctitwt"}
        ja{"Japaneeg"}
        jmc{"Matsiame"}
        jpr{"Iddew-Bersieg"}
        jrb{"Iddew-Arabeg"}
        jv{"Jafanaeg"}
        ka{"Georgeg"}
        kaa{"Cara-Calpaceg"}
        kab{"Cabileg"}
        kam{"Camba"}
        kbd{"Circaseg Dwyreiniol"}
        kde{"Macondeg"}
        kea{"Caboferdianeg"}
        kg{"Congo"}
        kha{"Càseg"}
        ki{"ki"}
        kk{"Casacheg"}
        km{"Chmereg"}
        kn{"Kannada"}
        ko{"Coreeg"}
        kok{"Concani"}
        kr{"Canwri"}
        krl{"Careleg"}
        ks{"Cashmireg"}
        ksf{"Baffia"}
        ksh{"Cwleneg"}
        ku{"Cwrdeg"}
        kum{"Cwmiceg"}
        kv{"Comi"}
        kw{"Cernyweg"}
        ky{"Cirgiseg"}
        la{"Lladin"}
        lad{"Iddew-Sbaeneg"}
        lag{"Langi"}
        lah{"Lahnda"}
        lam{"Lamba"}
        lb{"Lwcsembwrgeg"}
        lez{"Lezgheg"}
        lg{"Ganda"}
        li{"Limbwrgeg"}
        lmo{"Lombardeg"}
        ln{"Lingala"}
        lo{"Laoeg"}
        lol{"Mongo"}
        loz{"Lozi"}
        lt{"Lithwaneg"}
        ltg{"Latgalieg"}
        lun{"Lwnda"}
        luo{"Lŵo"}
        lus{"Lwshaieg"}
        luy{"Lwyia"}
        lv{"Latfieg"}
        mad{"Madwreg"}
        mag{"Magahi"}
        mai{"Maithili"}
        mak{"Macasareg"}
        man{"Mandingo"}
        mas{"Masai"}
        mdf{"Mocsia"}
        mdr{"Mandareg"}
        men{"Mendeg"}
        mer{"Mêrw"}
        mg{"Malagaseg"}
        mga{"Gwyddeleg Canol"}
        mh{"Marsialeg"}
        mi{"Maori"}
        mic{"Micmaceg"}
        mk{"Macedoneg"}
        ml{"Malayalam"}
        mn{"Mongoleg"}
        mnc{"Manshw"}
        mni{"Manipwri"}
        moh{"Mohoceg"}
        mos{"Mosi"}
        mr{"Marathi"}
        ms{"Maleieg"}
        mt{"Malteg"}
        mua{"Mas"}
        mul{"mwy nag un iaith"}
        mwl{"Mirandeg"}
        mwr{"Marwari"}
        my{"Byrmaneg"}
        na{"Nawrŵeg"}
        nap{"Naplieg"}
        nb{"Norwyeg Bokmål"}
        nd{"Ndebele Gogleddol"}
        nds{"Isel Almaeneg"}
        ne{"Nepaleg"}
        new{"Newaeg"}
        ng{"Ndonga"}
        nl{"Iseldireg"}
        nl_BE{"Fflemeg"}
        nn{"Norwyeg Nynorsk"}
        no{"Norwyeg"}
        non{"Hen Norseg"}
        nr{"Ndebele Deheuol"}
        nso{"Sotho Gogleddol"}
        nus{"Nŵereg"}
        nv{"Nafaho"}
        nwc{"Hen Newari"}
        ny{"Nianja"}
        nym{"Niamwezi"}
        nyn{"Niancole"}
        nyo{"Nioro"}
        nzi{"Nzimeg"}
        oc{"Ocsitaneg"}
        oj{"Ojibwa"}
        om{"Oromo"}
        or{"Oriya"}
        os{"Oseteg"}
        osa{"Osageg"}
        ota{"Tyrceg Otoman"}
        pa{"Pwnjabeg"}
        pag{"Pangasineg"}
        pal{"Pahlafi"}
        pam{"Pampanga"}
        pcd{"Picardeg"}
        pdc{"Almaeneg Pensylfania"}
        peo{"Hen Bersieg"}
        pfl{"Almaeneg Palatin"}
        phn{"Phoeniceg"}
        pi{"Pali"}
        pl{"Pwyleg"}
        pms{"Piedmonteg"}
        pon{"Pohnpeianeg"}
        prg{"Prwseg"}
        pro{"Hen Brofensaleg"}
        ps{"Pashto"}
        pt{"Portiwgeeg"}
        pt_BR{"Portiwgeeg Brasil"}
        pt_PT{"Portiwgeeg Ewrop"}
        qu{"Quechua"}
        quc{"K’iche’"}
        raj{"Rajasthaneg"}
        rap{"Rapanŵi"}
        rar{"Raratongeg"}
        rm{"Romaunsch"}
        rn{"Rwndi"}
        ro{"Rwmaneg"}
        ro_MD{"Moldofeg"}
        rof{"Rombo"}
        rom{"Romani"}
        root{"y Gwraidd"}
        rtm{"Rotumaneg"}
        ru{"Rwseg"}
        rup{"Aromaneg"}
        rw{"Ciniarŵandeg"}
        rwk{"Rwa"}
        sa{"Sansgrit"}
        sad{"Sandäweg"}
        sam{"Aramaeg Samaria"}
        saq{"Sambŵrw"}
        sas{"Sasaceg"}
        sat{"Santali"}
        sba{"Ngambeieg"}
        sbp{"Sangw"}
        sc{"Sardeg"}
        scn{"Sisileg"}
        sco{"Sgoteg"}
        sd{"Sindhi"}
        sdc{"Sasareseg Sardinia"}
        se{"Sami Gogleddol"}
        see{"Seneca"}
        sel{"Selcypeg"}
        sg{"Sango"}
        sga{"Hen Wyddeleg"}
        sh{"Serbo-Croateg"}
        shu{"Arabeg Chad"}
        si{"Sinhaleg"}
        sid{"Sidamo"}
        sk{"Slofaceg"}
        sl{"Slofeneg"}
        sli{"Is-silesieg"}
        sm{"Samöeg"}
        sma{"Sami Deheuol"}
        smj{"Sami Lwle"}
        smn{"Sami Inari"}
        sms{"Sami Scolt"}
        snk{"Soninceg"}
        so{"Somaleg"}
        sog{"Sogdeg"}
        sq{"Albaneg"}
        sr{"Serbeg"}
        st{"Sesotheg"}
        su{"Swndaneg"}
        suk{"Swcwma"}
        sus{"Swsŵeg"}
        sux{"Swmereg"}
        sv{"Swedeg"}
        sw{"Swahili"}
        swb{"Comoreg"}
        swc{"Swahili’r Congo"}
        syc{"Hen Syrieg"}
        syr{"Syrieg"}
        szl{"Silesieg"}
        ta{"Tamileg"}
        tcy{"Tulu"}
        te{"Telugu"}
        tem{"Timneg"}
        tet{"Tetumeg"}
        tg{"Tajiceg"}
        th{"Thai"}
        ti{"Tigrinya"}
        tk{"Twrcmeneg"}
        tl{"Tagalog"}
        tlh{"Klingon"}
        tmh{"Tamasheceg"}
        tn{"Tswana"}
        to{"Tongeg"}
        tr{"Tyrceg"}
        ts{"Tsongaeg"}
        tt{"Tatareg"}
        tvl{"Twfalweg"}
        udm{"Fotiaceg"}
        ug{"Uighur"}
        uga{"Wgariteg"}
        uk{"Wcreineg"}
        umb{"Umbundu"}
        und{"Iaith Anhysbys"}
        ur{"Wrdw"}
        uz{"Wsbeceg"}
        vai{"Faieg"}
        ve{"Fendeg"}
        vec{"Feniseg"}
        vi{"Fietnameg"}
        vls{"Fflemeg Gorllewinol"}
        wa{"Walwneg"}
        wal{"Walamo"}
        wo{"Woloff"}
        xal{"Calmyceg"}
        xh{"Xhosa"}
        ybb{"Iembaeg"}
        yi{"Iddew-Almaeneg"}
        yo{"Iorwba"}
        yue{"Cantoneeg"}
        zap{"Zapoteceg"}
        zbl{"Blisssymbols"}
        zea{"Zêlandeg"}
        zgh{"Tamazight Safonol Moroco"}
        zh{"Tsieineeg"}
        zh_Hans{"Tsieineeg Symledig"}
        zh_Hant{"Tsieineeg Traddodiadol"}
        zu{"Swlw"}
        zun{"Zuni"}
        zxx{"Dim cynnwys ieithyddol"}
        zza{"Zazäeg"}
    }
    Languages%short{
        en_GB{"Saesneg (DU)"}
        en_US{"Saesneg (UDA)"}
    }
    Scripts{
        Arab{"Arabaidd"}
        Armn{"Armenaidd"}
        Beng{"Bengalaidd"}
        Bopo{"Bopomofo"}
        Brai{"Braille"}
        Cyrl{"Cyrilig"}
        Deva{"Devanāgarī"}
        Ethi{"Ethiopig"}
        Geor{"Georgaidd"}
        Grek{"Groegaidd"}
        Gujr{"Gujarataidd"}
        Guru{"Gwrmwci"}
        Hang{"Hangul"}
        Hani{"Han"}
        Hans{"Symledig"}
        Hant{"Traddodiadol"}
        Hebr{"Hebreig"}
        Hira{"Hiragana"}
        Jpan{"Japaneaidd"}
        Kana{"Catacana"}
        Khmr{"Chmeraidd"}
        Knda{"Canaraidd"}
        Kore{"Coreaidd"}
        Laoo{"Laoaidd"}
        Latn{"Lladin"}
        Mlym{"Malayalamaidd"}
        Mong{"Mongolaidd"}
        Mymr{"Myanmaraidd"}
        Ogam{"Ogam"}
        Orya{"Orïaidd"}
        Sinh{"Sinhanaidd"}
        Taml{"Tamilaidd"}
        Telu{"Telugu"}
        Thaa{"Thaa"}
        Thai{"Thai"}
        Tibt{"Tibetaidd"}
        Zsym{"Symbolau"}
        Zxxx{"Anysgrifenedig"}
        Zyyy{"Cyffredin"}
        Zzzz{"Sgript anhysbys"}
    }
    Scripts%stand-alone{
        Hans{"Han symledig"}
        Hant{"Han traddodiadol"}
    }
    Types{
        calendar{
            buddhist{"Calendr y Bwdiaid"}
            chinese{"Calendr Tseina"}
            coptic{"Calendr y Coptiaid"}
            dangi{"Calendr Dangi"}
            ethiopic{"Calendr Ethiopia"}
            ethiopic-amete-alem{"Calendr Amete Alem Ethiopia"}
            gregorian{"Calendr Gregori"}
            hebrew{"Calendr yr Hebraed"}
            indian{"Calendr Cenedlaethol India"}
            islamic{"Calendr Islam"}
            iso8601{"Calendr ISO-8601"}
            japanese{"Calendr Japan"}
            persian{"Calendr Persia"}
        }
        collation{
            big5han{"Trefn Traddodiadol Tsieina - Big5"}
            dictionary{"Trefn Geiriadur"}
            ducet{"Trefn Rhagosodedig Unicode"}
            eor{"Rheolau trefnu Ewropeaidd"}
            gb2312han{"Trefn Symledig Tsieina - GB2312"}
            phonebook{"Trefn Llyfr Ffôn"}
            pinyin{"Trefn Pinyin"}
            reformed{"Trefn Diwygiedig"}
            search{"Chwilio at Ddibenion Cyffredinol"}
            standard{"Trefn Safonol"}
            traditional{"Trefn Traddodiadol"}
            zhuyin{"Trefn Zhuyin"}
        }
        numbers{
            arab{"Digidau Arabig-Indig"}
            arabext{"Digidau Arabig-Indig Estynedig"}
            armn{"Rhifolion Armenaidd"}
            armnlow{"Rhifolion Armenaidd mewn Llythrennau Bychain"}
            beng{"Digidau Bengalaidd"}
            deva{"Digidau Devanāgarīg"}
            ethi{"Rhifolion Ethiopig"}
            fullwide{"Digidau Lled Llawn"}
            geor{"Rhifolion Georgaidd"}
            grek{"Rhifolion Groegaidd"}
            greklow{"Rhifolion Groegaidd mewn Llythrennau Bychain"}
            gujr{"Digidau Gujarataidd"}
            guru{"Digidau Gwrmwcaidd"}
            hanidec{"Rhifolion Degol Tsieineaidd"}
            hans{"Rhifolion Tsieineaidd Symledig"}
            hansfin{"Rhifolion Ariannol Tsieineaidd Symledig"}
            hant{"Rhifolion Tsieineaidd Traddodiadol"}
            hantfin{"Rhifolion Ariannol Tsieineaidd Traddodiadol"}
            hebr{"Rhifolion Hebreig"}
            jpan{"Rhifolion Japaneaidd"}
            jpanfin{"Rhifolion Ariannol Japaneaidd"}
            khmr{"Digidau Chmeraidd"}
            knda{"Digidau Canaraidd"}
            laoo{"Digidau Laoaidd"}
            latn{"Digidau Gorllewinol"}
            mlym{"Digidau Malayalamaidd"}
            mong{"Digidau Mongolia"}
            mymr{"Digidau Myanmar"}
            orya{"Digidau Orïaidd"}
            roman{"Rhifolion Rhufeinig"}
            romanlow{"Rhifolion Rhufeinig mewn Llythrennau Bychain"}
            taml{"Rhifolion Tamilaidd Traddodiadol"}
            tamldec{"Digidau Tamilaidd"}
            telu{"Digidau Telugu"}
            thai{"Digidau Thai"}
            tibt{"Digidau Tibetaidd"}
        }
    }
    Version{"2.1.10.93"}
    codePatterns{
        language{"Iaith: {0}"}
        script{"Sgript: {0}"}
        territory{"Rhanbarth: {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
