﻿// ***************************************************************************
// *
// * Copyright (C) 2014 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"}
    }
    LanguagesShort{
        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.7.80"}
    codePatterns{
        language{"Iaith: {0}"}
        script{"Sgript: {0}"}
        territory{"Rhanbarth: {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
