﻿// ***************************************************************************
// *
// * 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
// *
// ***************************************************************************
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"}
        AN{"Ynysoedd Caribî yr Iseldiroedd"}
        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 RhGA Tsieina"}
        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 RhGA Tsieina"}
        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{"Tiriogaethau Palesteinaidd"}
        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"}
        HK{"Hong Kong"}
        MO{"Macau"}
        PS{"Palesteina"}
        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.20.4"}
}
