﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/cy.xml
// *
// ***************************************************************************
cy{
    Countries{
        001{"Y Byd"}
        002{"Affrica"}
        003{"Gogledd America"}
        005{"De America"}
        009{"Oceania"}
        011{"Gorllewin Affrica"}
        013{"Canolbarth America"}
        014{"Dwyrain Affrica"}
        015{"Gogledd Affrica"}
        017{"Canol Affrica"}
        018{"Deheudir Affrica"}
        019{"Yr Amerig"}
        021{"America i’r Gogledd o Fecsico"}
        029{"Y Caribî"}
        030{"Dwyrain Asia"}
        034{"De Asia"}
        035{"De-Ddwyrain Asia"}
        039{"De Ewrop"}
        053{"Awstralasia"}
        054{"Melanesia"}
        057{"Rhanbarth Micronesia"}
        061{"Polynesia"}
        142{"Asia"}
        143{"Canol Asia"}
        145{"Gorllewin Asia"}
        150{"Ewrop"}
        151{"Dwyrain Ewrop"}
        154{"Gogledd Ewrop"}
        155{"Gorllewin Ewrop"}
        419{"America Ladin"}
        AC{"Ynys Ascension"}
        AD{"Andorra"}
        AE{"Emiradau Arabaidd Unedig"}
        AF{"Afghanistan"}
        AG{"Antigua a Barbuda"}
        AI{"Anguilla"}
        AL{"Albania"}
        AM{"Armenia"}
        AO{"Angola"}
        AQ{"Antarctica"}
        AR{"Yr Ariannin"}
        AS{"Samoa America"}
        AT{"Awstria"}
        AU{"Awstralia"}
        AW{"Aruba"}
        AX{"Ynysoedd Åland"}
        AZ{"Azerbaijan"}
        BA{"Bosnia a Hercegovina"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"Gwlad Belg"}
        BF{"Burkina Faso"}
        BG{"Bwlgaria"}
        BH{"Bahrain"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Saint Barthélemy"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Bolifia"}
        BQ{"Antilles yr Iseldiroedd"}
        BR{"Brasil"}
        BS{"Y Bahamas"}
        BT{"Bhutan"}
        BV{"Ynys Bouvet"}
        BW{"Botswana"}
        BY{"Belarws"}
        BZ{"Belize"}
        CA{"Canada"}
        CC{"Ynysoedd Cocos (Keeling)"}
        CD{"Y Congo - Kinshasa"}
        CF{"Gweriniaeth Canolbarth Affrica"}
        CG{"Y Congo - Brazzaville"}
        CH{"Y Swistir"}
        CI{"Côte d’Ivoire"}
        CK{"Ynysoedd Cook"}
        CL{"Chile"}
        CM{"Camerŵn"}
        CN{"Tsieina"}
        CO{"Colombia"}
        CP{"Ynys Clipperton"}
        CR{"Costa Rica"}
        CU{"Ciwba"}
        CV{"Cabo Verde"}
        CW{"Curaçao"}
        CX{"Ynys y Nadolig"}
        CY{"Cyprus"}
        CZ{"Gweriniaeth Tsiec"}
        DE{"Yr Almaen"}
        DG{"Diego Garcia"}
        DJ{"Djibouti"}
        DK{"Denmarc"}
        DM{"Dominica"}
        DO{"Gweriniaeth Dominica"}
        DZ{"Algeria"}
        EA{"Ceuta a Melilla"}
        EC{"Ecuador"}
        EE{"Estonia"}
        EG{"Yr Aifft"}
        EH{"Gorllewin Sahara"}
        ER{"Eritrea"}
        ES{"Sbaen"}
        ET{"Ethiopia"}
        EU{"Yr Undeb Ewropeaidd"}
        FI{"Y Ffindir"}
        FJ{"Fiji"}
        FK{"Ynysoedd y Falkland/Malvinas"}
        FM{"Micronesia"}
        FO{"Ynysoedd Ffaro"}
        FR{"Ffrainc"}
        GA{"Gabon"}
        GB{"Y Deyrnas Unedig"}
        GD{"Grenada"}
        GE{"Georgia"}
        GF{"Guyane Ffrengig"}
        GG{"Ynys y Garn"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Yr Ynys Las"}
        GM{"Gambia"}
        GN{"Guinée"}
        GP{"Guadeloupe"}
        GQ{"Guinea Gyhydeddol"}
        GR{"Gwlad Groeg"}
        GS{"De Georgia ac Ynysoedd Sandwich y De"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guiné-Bissau"}
        GY{"Guyana"}
        HK{"Hong Kong"}
        HM{"Ynys Heard ac Ynysoedd McDonald"}
        HN{"Honduras"}
        HR{"Croatia"}
        HT{"Haiti"}
        HU{"Hwngari"}
        IC{"Yr Ynysoedd Dedwydd"}
        ID{"Indonesia"}
        IE{"Iwerddon"}
        IL{"Israel"}
        IM{"Ynys Manaw"}
        IN{"India"}
        IO{"Tiriogaeth Brydeinig Cefnfor India"}
        IQ{"Irac"}
        IR{"Iran"}
        IS{"Gwlad yr Iâ"}
        IT{"Yr Eidal"}
        JE{"Jersey"}
        JM{"Jamaica"}
        JO{"Gwlad Iorddonen"}
        JP{"Japan"}
        KE{"Kenya"}
        KG{"Kyrgyzstan"}
        KH{"Cambodia"}
        KI{"Kiribati"}
        KM{"Comoros"}
        KN{"Saint Kitts a Nevis"}
        KP{"Gogledd Korea"}
        KR{"De Korea"}
        KW{"Kuwait"}
        KY{"Ynysoedd Cayman"}
        KZ{"Kazakstan"}
        LA{"Laos"}
        LB{"Libanus"}
        LC{"Saint Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesotho"}
        LT{"Lithuania"}
        LU{"Lwcsembwrg"}
        LV{"Latfia"}
        LY{"Libya"}
        MA{"Moroco"}
        MC{"Monaco"}
        MD{"Moldofa"}
        ME{"Montenegro"}
        MF{"Saint Martin"}
        MG{"Madagascar"}
        MH{"Ynysoedd Marshall"}
        MK{"Macedonia"}
        ML{"Mali"}
        MM{"Myanmar (Burma)"}
        MN{"Mongolia"}
        MO{"Macau"}
        MP{"Ynysoedd Gogledd Mariana"}
        MQ{"Martinique"}
        MR{"Mauritania"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Y Maldives"}
        MW{"Malawi"}
        MX{"Mecsico"}
        MY{"Malaysia"}
        MZ{"Mozambique"}
        NA{"Namibia"}
        NC{"Caledonia Newydd"}
        NE{"Niger"}
        NF{"Ynys Norfolk"}
        NG{"Nigeria"}
        NI{"Nicaragua"}
        NL{"Yr Iseldiroedd"}
        NO{"Norwy"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Seland Newydd"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Periw"}
        PF{"Polynesia Ffrengig"}
        PG{"Papua Guinea Newydd"}
        PH{"Y Philipinau"}
        PK{"Pakistan"}
        PL{"Gwlad Pwyl"}
        PM{"Saint-Pierre-et-Miquelon"}
        PN{"Ynysoedd Pitcairn"}
        PR{"Puerto Rico"}
        PS{"Palesteina"}
        PT{"Portiwgal"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Qatar"}
        QO{"Oceania Bellennig"}
        RE{"Réunion"}
        RO{"Rwmania"}
        RS{"Serbia"}
        RU{"Rwsia"}
        RW{"Rwanda"}
        SA{"Saudi Arabia"}
        SB{"Ynysoedd Solomon"}
        SC{"Seychelles"}
        SD{"Swdan"}
        SE{"Sweden"}
        SG{"Singapore"}
        SH{"Saint Helena"}
        SI{"Slofenia"}
        SJ{"Svalbard a Jan Mayen"}
        SK{"Slofacia"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalia"}
        SR{"Suriname"}
        SS{"De Swdan"}
        ST{"São Tomé a Príncipe"}
        SV{"El Salvador"}
        SX{"Sint Maarten"}
        SY{"Syria"}
        SZ{"Gwlad Swazi"}
        TA{"Tristan da Cunha"}
        TC{"Ynysoedd Turks a Caicos"}
        TD{"Tchad"}
        TF{"Tiroedd Deheuol ac Antarctig Ffrainc"}
        TG{"Togo"}
        TH{"Gwlad Thai"}
        TJ{"Tajikistan"}
        TK{"Tokelau"}
        TL{"Timor-Leste"}
        TM{"Turkmenistan"}
        TN{"Tunisia"}
        TO{"Tonga"}
        TR{"Twrci"}
        TT{"Trinidad a Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tanzania"}
        UA{"Wcráin"}
        UG{"Uganda"}
        UM{"Ynysoedd Pellennig UDA"}
        US{"Yr Unol Daleithiau"}
        UY{"Uruguay"}
        UZ{"Uzbekistan"}
        VA{"Y Fatican"}
        VC{"Saint Vincent a’r Grenadines"}
        VE{"Venezuela"}
        VG{"Ynysoedd Gwyryf Prydain"}
        VI{"Ynysoedd Gwyryf yr Unol Daleithiau"}
        VN{"Fietnam"}
        VU{"Vanuatu"}
        WF{"Wallis a Futuna"}
        WS{"Samoa"}
        XK{"Kosovo"}
        YE{"Yemen"}
        YT{"Mayotte"}
        ZA{"De Affrica"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"Rhanbarth Anhysbys"}
    }
    Countries%short{
        GB{"DU"}
        US{"UDA"}
    }
    Countries%variant{
        CD{"y Congo (G.Dd.C.)"}
        CG{"Y Congo (Gweriniaeth)"}
        CI{"Arfordir Ifori"}
        FK{"Ynysoedd y Falkland (Ynysoedd y Malfinas)"}
        MK{"Macedonia (CWIM)"}
        TL{"Dwyrain Timor"}
    }
    Version{"2.1.22.93"}
}
