﻿// ***************************************************************************
// *
// * Copyright (C) 2007 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/cy.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/cy.xml
 */
cy{
    AuxExemplarCharacters{"[j k q v x z]"}
    Countries{
        GB{"Prydain Fawr"}
    }
    Currencies{
        BRL{
            "R$",
            "Real Brasil",
        }
        CNY{
            "CNY",
            "Yuan Renminbi Tseina",
        }
        EUR{
            "EUR",
            "Ewro",
        }
        GBP{
            "UK£",
            "Punt Sterling Prydain",
        }
        INR{
            "=0#Rs.|1#Re.|1<Rs." /** (choice)  */,
            "Rwpî India",
        }
        JPY{
            "JP¥",
            "Yen Siapan",
        }
        RUB{
            "RUB",
            "Rwbl Rwsia",
        }
        USD{
            "US$",
            "Doler yr UDA",
        }
    }
    ExemplarCharacters{
        "[a á à â ä b c {ch} d {dd} e é è ê ë f {ff} g-i í ì î ï l {ll} m n {ng} o ó "
        "ò ô ö p {ph} r {rh} s t {th} u ú ù û ü w ẃ ẁ ŵ ẅ y ý ỳ ŷ ÿ]"
    }
    Languages{
        ar{"Arabeg"}
        cy{"Cymraeg"}
        de{"Almaeneg"}
        en{"Saesneg"}
        es{"Sbaeneg"}
        fr{"Ffrangeg"}
        hi{"Hindi"}
        it{"Eidaleg"}
        ja{"Siapaneeg"}
        pt{"Portiwgaleg"}
        ru{"Rwsieg"}
        zh{"Tseineeg"}
    }
    LocaleScript{
        "Latn",
    }
    Scripts{
        Latn{"Lladin"}
    }
    Version{"1.52"}
    calendar{
        gregorian{
            dayNames{
                format{
                    abbreviated{
                        "Sul",
                        "Llun",
                        "Maw",
                        "Mer",
                        "Iau",
                        "Gwen",
                        "Sad",
                    }
                    wide{
                        "Dydd Sul",
                        "Dydd Llun",
                        "Dydd Mawrth",
                        "Dydd Mercher",
                        "Dydd Iau",
                        "Dydd Gwener",
                        "Dydd Sadwrn",
                    }
                }
                stand-alone{
                    narrow{
                        "S",
                        "L",
                        "M",
                        "M",
                        "I",
                        "G",
                        "S",
                    }
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Ion",
                        "Chwef",
                        "Mawrth",
                        "Ebrill",
                        "Mai",
                        "Meh",
                        "Gorff",
                        "Awst",
                        "Medi",
                        "Hyd",
                        "Tach",
                        "Rhag",
                    }
                    wide{
                        "Ionawr",
                        "Chwefror",
                        "Mawrth",
                        "Ebrill",
                        "Mai",
                        "Mehefin",
                        "Gorffenaf",
                        "Awst",
                        "Medi",
                        "Hydref",
                        "Tachwedd",
                        "Rhagfyr",
                    }
                }
                stand-alone{
                    narrow{
                        "I",
                        "C",
                        "M",
                        "E",
                        "M",
                        "M",
                        "G",
                        "A",
                        "M",
                        "H",
                        "T",
                        "R",
                    }
                }
            }
        }
    }
    zoneStrings{
        hourFormat{"+HHmm;-HHmm"}
    }
}
