﻿// ***************************************************************************
// *
// * 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{
    AuxExemplarCharacters{"[ă å ã ā æ ç ĕ ē ĭ ī k ñ ŏ ø ō œ q ŭ ū v x z]"}
    Ellipsis{
        final{"{0}…"}
        initial{"…{0}"}
        medial{"{0}…{1}"}
        word-final{"{0} …"}
        word-initial{"… {0}"}
        word-medial{"{0} … {1}"}
    }
    ExemplarCharacters{
        "[a á à â ä b c {ch} d {dd} e é è ê ë f {ff} g {ng} h i í ì î ï j l {ll} m n "
        "o ó ò ô ö p {ph} r {rh} s t {th} u ú ù û ü w ẃ ẁ ŵ ẅ y ý ỳ ŷ ÿ]"
    }
    ExemplarCharactersIndex{
        "[A B C {CH} D {DD} E F {FF} G {NG} H I J K L {LL} M N O P {PH} Q R {RH} S T "
        "{TH} U V W X Y Z]"
    }
    ExemplarCharactersPunctuation{
        "[\\- ‐ – — , ; \\: ! ? . … ' ‘ ’ \u0022 “ ” ( ) \\[ \\] § @ * / \\& # † ‡ ′ "
        "″]"
    }
    MoreInformation{"?"}
    NumberElements{
        default{"latn"}
        latn{
            miscPatterns{
                atLeast{"{0}+"}
                range{"{0}-{1}"}
            }
            patterns{
                currencyFormat{"¤#,##0.00"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        few{"0 mil"}
                        many{"0 mil"}
                        one{"0 fil"}
                        other{"0 mil"}
                        two{"0 fil"}
                        zero{"0 mil"}
                    }
                    10000{
                        few{"00 mil"}
                        many{"00 mil"}
                        one{"00 mil"}
                        other{"00 mil"}
                        two{"00 mil"}
                        zero{"00 mil"}
                    }
                    100000{
                        few{"000 mil"}
                        many{"000 mil"}
                        one{"000 mil"}
                        other{"000 mil"}
                        two{"000 mil"}
                        zero{"000 mil"}
                    }
                    1000000{
                        few{"0 miliwn"}
                        many{"0 miliwn"}
                        one{"0 filiwn"}
                        other{"0 miliwn"}
                        two{"0 filiwn"}
                        zero{"0 miliwn"}
                    }
                    10000000{
                        few{"00 miliwn"}
                        many{"00 miliwn"}
                        one{"00 miliwn"}
                        other{"00 miliwn"}
                        two{"00 miliwn"}
                        zero{"00 miliwn"}
                    }
                    100000000{
                        few{"000 miliwn"}
                        many{"000 miliwn"}
                        one{"000 miliwn"}
                        other{"000 miliwn"}
                        two{"000 miliwn"}
                        zero{"000 miliwn"}
                    }
                    1000000000{
                        few{"0 biliwn"}
                        many{"0 biliwn"}
                        one{"0 biliwn"}
                        other{"0 biliwn"}
                        two{"0 biliwn"}
                        zero{"0 biliwn"}
                    }
                    10000000000{
                        few{"00 biliwn"}
                        many{"00 biliwn"}
                        one{"00 biliwn"}
                        other{"00 biliwn"}
                        two{"00 biliwn"}
                        zero{"00 biliwn"}
                    }
                    100000000000{
                        few{"000 biliwn"}
                        many{"000 biliwn"}
                        one{"000 biliwn"}
                        other{"000 biliwn"}
                        two{"000 biliwn"}
                        zero{"000 biliwn"}
                    }
                    1000000000000{
                        few{"0 thriliwn"}
                        many{"0 thriliwn"}
                        one{"0 triliwn"}
                        other{"0 triliwn"}
                        two{"0 driliwn"}
                        zero{"0 triliwn"}
                    }
                    10000000000000{
                        few{"00 triliwn"}
                        many{"00 triliwn"}
                        one{"00 triliwn"}
                        other{"00 triliwn"}
                        two{"00 triliwn"}
                        zero{"00 triliwn"}
                    }
                    100000000000000{
                        few{"000 triliwn"}
                        many{"000 triliwn"}
                        one{"000 triliwn"}
                        other{"000 triliwn"}
                        two{"000 triliwn"}
                        zero{"000 triliwn"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        few{"0K"}
                        many{"0K"}
                        one{"0K"}
                        other{"0K"}
                        two{"0K"}
                        zero{"0K"}
                    }
                    10000{
                        few{"00K"}
                        many{"00K"}
                        one{"00K"}
                        other{"00K"}
                        two{"00K"}
                        zero{"00K"}
                    }
                    100000{
                        few{"000K"}
                        many{"000K"}
                        one{"000K"}
                        other{"000K"}
                        two{"000K"}
                        zero{"000K"}
                    }
                    1000000{
                        few{"0M"}
                        many{"0M"}
                        one{"0M"}
                        other{"0M"}
                        two{"0M"}
                        zero{"0M"}
                    }
                    10000000{
                        few{"00M"}
                        many{"00M"}
                        one{"00M"}
                        other{"00M"}
                        two{"00M"}
                        zero{"00M"}
                    }
                    100000000{
                        few{"000M"}
                        many{"000M"}
                        one{"000M"}
                        other{"000M"}
                        two{"000M"}
                        zero{"000M"}
                    }
                    1000000000{
                        few{"0B"}
                        many{"0B"}
                        one{"0B"}
                        other{"0B"}
                        two{"0B"}
                        zero{"0B"}
                    }
                    10000000000{
                        few{"00B"}
                        many{"00B"}
                        one{"00B"}
                        other{"00B"}
                        two{"00B"}
                        zero{"00B"}
                    }
                    100000000000{
                        few{"000B"}
                        many{"000B"}
                        one{"000B"}
                        other{"000B"}
                        two{"000B"}
                        zero{"000B"}
                    }
                    1000000000000{
                        few{"0T"}
                        many{"0T"}
                        one{"0T"}
                        other{"0T"}
                        two{"0T"}
                        zero{"0T"}
                    }
                    10000000000000{
                        few{"00T"}
                        many{"00T"}
                        one{"00T"}
                        other{"00T"}
                        two{"00T"}
                        zero{"00T"}
                    }
                    100000000000000{
                        few{"000T"}
                        many{"000T"}
                        one{"000T"}
                        other{"000T"}
                        two{"000T"}
                        zero{"000T"}
                    }
                }
            }
            symbols{
                decimal{"."}
                exponential{"E"}
                group{","}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
                superscriptingExponent{"x"}
            }
        }
        native{"latn"}
    }
    Version{"2.1.10.93"}
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d MMMM y G",
                "d MMMM y G",
                "d MMM y G",
                "dd/MM/y GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, d"}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, d MMM y G"}
                GyMMMd{"d MMM y G"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d/M"}
                MMM{"LLL"}
                MMMEd{"E, d MMM"}
                MMMd{"d MMM"}
                Md{"d/M"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yyyy{"y G"}
                yyyyM{"M/y G"}
                yyyyMEd{"E, d/M/y G"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E, d MMM y G"}
                yyyyMMMd{"d MMM y G"}
                yyyyMd{"d/M/y G"}
                yyyyQQQ{"QQQ y G"}
                yyyyQQQQ{"QQQQ y G"}
            }
            intervalFormats{
                H{
                    H{"HH–HH"}
                }
                Hm{
                    H{"HH:mm–HH:mm"}
                    m{"HH:mm–HH:mm"}
                }
                Hmv{
                    H{"HH:mm–HH:mm v"}
                    m{"HH:mm–HH:mm v"}
                }
                Hv{
                    H{"HH–HH v"}
                }
                M{
                    M{"M – M"}
                }
                MEd{
                    M{"E, d/M – E, d/M"}
                    d{"E, d/M – E, d/M"}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"E, d MMM – E, d MMM"}
                    d{"E, d MMM – E, d MMM"}
                }
                MMMM{
                    M{"LLLL–LLLL"}
                }
                MMMd{
                    M{"d MMM – d MMM"}
                    d{"d–d MMM"}
                }
                Md{
                    M{"d/M – d/M"}
                    d{"d/M – d/M"}
                }
                d{
                    d{"d – d"}
                }
                fallback{"{0} – {1}"}
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm–h:mm a"}
                    m{"h:mm–h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm–h:mm a v"}
                    m{"h:mm–h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h–h a v"}
                }
                y{
                    y{"y–y G"}
                }
                yM{
                    M{"M/y – M/y GGGGG"}
                    y{"M/y – M/y GGGGG"}
                }
                yMEd{
                    M{"E, d/M/y – E, d/M/y GGGGG"}
                    d{"E, d/M/y – E, d/M/y GGGGG"}
                    y{"E, d/M/y – E, d/M/y GGGGG"}
                }
                yMMM{
                    M{"MMM – MMM y G"}
                    y{"MMM y – MMM y G"}
                }
                yMMMEd{
                    M{"E, d MMM – E, d MMM y G"}
                    d{"E, d MMM – E, d MMM y G"}
                    y{"E, d MMM, y – E, d MMM y G"}
                }
                yMMMM{
                    M{"MMMM–MMMM y G"}
                    y{"MMMM y – MMMM y G"}
                }
                yMMMd{
                    M{"d MMM – d MMM y G"}
                    d{"d–d MMM y G"}
                    y{"d MMM y – d MMM y G"}
                }
                yMd{
                    M{"d/M/y – d/M/y GGGGG"}
                    d{"d/M/y – d/M/y GGGGG"}
                    y{"d/M/y – d/M/y GGGGG"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "AM",
                "PM",
            }
            AmPmMarkersNarrow{
                "AM",
                "PM",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d MMMM y",
                "d MMMM y",
                "d MMM y",
                "dd/MM/yy",
                "{1} {0}",
                "{1} 'am' {0}",
                "{1} 'am' {0}",
                "{1} {0}",
                "{1} {0}",
            }
            NoonMarker{"hanner dydd"}
            appendItems{
                Timezone{"{0} {1}"}
            }
            availableFormats{
                EHm{"E, HH:mm"}
                EHms{"E, HH:mm:ss"}
                Ed{"E, d"}
                Ehm{"E, h.mm a"}
                Ehms{"E, h.mm.ss a"}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, d MMM y G"}
                GyMMMd{"d MMM y G"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d/M"}
                MMM{"LLL"}
                MMMEd{"E, d MMM"}
                MMMd{"d MMM"}
                Md{"d/M"}
                d{"d"}
                h{"h a"}
                hm{"h.mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E, d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"E, d MMM y"}
                yMMMd{"d MMM y"}
                yMd{"d/M/y"}
                yQ{"Q y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Sul",
                        "Llun",
                        "Maw",
                        "Mer",
                        "Iau",
                        "Gwen",
                        "Sad",
                    }
                    narrow{
                        "S",
                        "Ll",
                        "M",
                        "M",
                        "I",
                        "G",
                        "S",
                    }
                    short{
                        "Su",
                        "Ll",
                        "Ma",
                        "Me",
                        "Ia",
                        "Gw",
                        "Sa",
                    }
                    wide{
                        "Dydd Sul",
                        "Dydd Llun",
                        "Dydd Mawrth",
                        "Dydd Mercher",
                        "Dydd Iau",
                        "Dydd Gwener",
                        "Dydd Sadwrn",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Sul",
                        "Llun",
                        "Maw",
                        "Mer",
                        "Iau",
                        "Gwe",
                        "Sad",
                    }
                    narrow{
                        "S",
                        "Ll",
                        "M",
                        "M",
                        "I",
                        "G",
                        "S",
                    }
                    short{
                        "Su",
                        "Ll",
                        "Ma",
                        "Me",
                        "Ia",
                        "Gw",
                        "Sa",
                    }
                    wide{
                        "Dydd Sul",
                        "Dydd Llun",
                        "Dydd Mawrth",
                        "Dydd Mercher",
                        "Dydd Iau",
                        "Dydd Gwener",
                        "Dydd Sadwrn",
                    }
                }
            }
            eras{
                abbreviated{
                    "CC",
                    "OC",
                }
                narrow{
                    "C",
                    "O",
                }
                wide{
                    "Cyn Crist",
                    "Oed Crist",
                }
            }
            intervalFormats{
                H{
                    H{"HH–HH"}
                }
                Hm{
                    H{"HH:mm–HH:mm"}
                    m{"HH:mm–HH:mm"}
                }
                Hmv{
                    H{"HH:mm–HH:mm v"}
                    m{"HH:mm–HH:mm v"}
                }
                Hv{
                    H{"HH–HH v"}
                }
                M{
                    M{"M–M"}
                }
                MEd{
                    M{"E, d/M – E, d/M"}
                    d{"E, d/M – E, d/M"}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"E, d MMM – E, d MMM"}
                    d{"E, d MMM – E, d MMM"}
                }
                MMMM{
                    M{"LLLL–LLLL"}
                }
                MMMd{
                    M{"d MMM – d MMM"}
                    d{"d–d MMM"}
                }
                Md{
                    M{"d/M – d/M"}
                    d{"d/M – d/M"}
                }
                d{
                    d{"d–d"}
                }
                fallback{"{0} – {1}"}
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm h:mm a"}
                    m{"h:mm – h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm – h:mm a v"}
                    m{"h:mm–h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h–h a v"}
                }
                y{
                    y{"y–y"}
                }
                yM{
                    M{"M/y – M/y"}
                    y{"M/y – M/y"}
                }
                yMEd{
                    M{"E, d/M/y – E, d/M/y"}
                    d{"E, d/M/y – E, d/M/y"}
                    y{"E, d/M/y – E, d/M/y"}
                }
                yMMM{
                    M{"MMM – MMM y"}
                    y{"MMM y – MMM y"}
                }
                yMMMEd{
                    M{"E, d MMM – E, d MMM y"}
                    d{"E, d MMM – E, d MMM y"}
                    y{"E, d MMM, y – E, d MMM y"}
                }
                yMMMM{
                    M{"MMMM–MMMM y"}
                    y{"MMMM y – MMMM y"}
                }
                yMMMd{
                    M{"d MMM – d MMM y"}
                    d{"d–d MMM y"}
                    y{"d MMM, y – d MMM y"}
                }
                yMd{
                    M{"d/M/y – d/M/y"}
                    d{"d/M/y – d/M/y"}
                    y{"d/M/y – d/M/y"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Ion",
                        "Chwef",
                        "Mawrth",
                        "Ebrill",
                        "Mai",
                        "Meh",
                        "Gorff",
                        "Awst",
                        "Medi",
                        "Hyd",
                        "Tach",
                        "Rhag",
                    }
                    narrow{
                        "I",
                        "Ch",
                        "M",
                        "E",
                        "M",
                        "M",
                        "G",
                        "A",
                        "M",
                        "H",
                        "T",
                        "Rh",
                    }
                    wide{
                        "Ionawr",
                        "Chwefror",
                        "Mawrth",
                        "Ebrill",
                        "Mai",
                        "Mehefin",
                        "Gorffennaf",
                        "Awst",
                        "Medi",
                        "Hydref",
                        "Tachwedd",
                        "Rhagfyr",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Ion",
                        "Chw",
                        "Maw",
                        "Ebr",
                        "Mai",
                        "Meh",
                        "Gor",
                        "Awst",
                        "Medi",
                        "Hyd",
                        "Tach",
                        "Rhag",
                    }
                    narrow{
                        "I",
                        "Ch",
                        "M",
                        "E",
                        "M",
                        "M",
                        "G",
                        "A",
                        "M",
                        "H",
                        "T",
                        "Rh",
                    }
                    wide{
                        "Ionawr",
                        "Chwefror",
                        "Mawrth",
                        "Ebrill",
                        "Mai",
                        "Mehefin",
                        "Gorffennaf",
                        "Awst",
                        "Medi",
                        "Hydref",
                        "Tachwedd",
                        "Rhagfyr",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "Ch1",
                        "Ch2",
                        "Ch3",
                        "Ch4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "Chwarter 1af",
                        "2il chwarter",
                        "3ydd chwarter",
                        "4ydd chwarter",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Ch1",
                        "Ch2",
                        "Ch3",
                        "Ch4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "chwarter 1af",
                        "2il chwarter",
                        "3ydd chwarter",
                        "4ydd chwarter",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"”"}
        alternateQuotationStart{"“"}
        quotationEnd{"’"}
        quotationStart{"‘"}
    }
    fields{
        day{
            dn{"Dydd"}
            relative{
                "-1"{"ddoe"}
                "-2"{"echdoe"}
                "0"{"heddiw"}
                "1"{"yfory"}
                "2"{"drennydd"}
            }
            relativeTime{
                future{
                    few{"Ymhen tridiau"}
                    many{"Ymhen {0} diwrnod"}
                    one{"Ymhen diwrnod"}
                    other{"Ymhen {0} diwrnod"}
                    two{"Ymhen deuddydd"}
                    zero{"Ymhen {0} diwrnod"}
                }
                past{
                    few{"{0} diwrnod yn ôl"}
                    many{"{0} diwrnod yn ôl"}
                    one{"{0} diwrnod yn ôl"}
                    other{"{0} diwrnod yn ôl"}
                    two{"{0} ddiwrnod yn ôl"}
                    zero{"{0} diwrnod yn ôl"}
                }
            }
        }
        day-short{
            relativeTime{
                past{
                    few{"{0} diwrnod yn ôl"}
                    many{"{0} diwrnod yn ôl"}
                    one{"{0} diwrnod yn ôl"}
                    other{"{0} diwrnod yn ôl"}
                    two{"{0} diwrnod yn ôl"}
                    zero{"{0} diwrnod yn ôl"}
                }
            }
        }
        dayperiod{
            dn{"AM/PM"}
        }
        era{
            dn{"Oes"}
        }
        fri{
            relative{
                "-1"{"dydd Gwener diwethaf"}
                "0"{"dydd Gwener yma"}
                "1"{"dydd Gwener nesaf"}
            }
        }
        hour{
            dn{"Awr"}
            relativeTime{
                future{
                    few{"Ymhen {0} awr"}
                    many{"Ymhen {0} awr"}
                    one{"Ymhen {0} awr"}
                    other{"Ymhen {0} awr"}
                    two{"Ymhen {0} awr"}
                    zero{"Ymhen {0} awr"}
                }
                past{
                    few{"{0} awr yn ôl"}
                    many{"{0} awr yn ôl"}
                    one{"awr yn ôl"}
                    other{"{0} awr yn ôl"}
                    two{"{0} awr yn ôl"}
                    zero{"{0} awr yn ôl"}
                }
            }
        }
        minute{
            dn{"Munud"}
            relativeTime{
                future{
                    few{"Ymhen {0} munud"}
                    many{"Ymhen {0} munud"}
                    one{"Ymhen munud"}
                    other{"Ymhen {0} munud"}
                    two{"Ymhen {0} funud"}
                    zero{"Ymhen {0} munud"}
                }
                past{
                    few{"{0} munud yn ôl"}
                    many{"{0} munud yn ôl"}
                    one{"{0} munud yn ôl"}
                    other{"{0} munud yn ôl"}
                    two{"{0} funud yn ôl"}
                    zero{"{0} munud yn ôl"}
                }
            }
        }
        mon{
            relative{
                "-1"{"dydd Llun diwethaf"}
                "0"{"dydd Llun yma"}
                "1"{"dydd Llun nesaf"}
            }
        }
        month{
            dn{"Mis"}
            relative{
                "-1"{"mis diwethaf"}
                "0"{"y mis hwn"}
                "1"{"mis nesaf"}
            }
            relativeTime{
                future{
                    few{"Ymhen {0} mis"}
                    many{"Ymhen {0} mis"}
                    one{"Ymhen mis"}
                    other{"Ymhen {0} mis"}
                    two{"Ymhen deufis"}
                    zero{"Ymhen {0} mis"}
                }
                past{
                    few{"{0} mis yn ôl"}
                    many{"{0} mis yn ôl"}
                    one{"{0} mis yn ôl"}
                    other{"{0} mis yn ôl"}
                    two{"{0} fis yn ôl"}
                    zero{"{0} mis yn ôl"}
                }
            }
        }
        month-narrow{
            relativeTime{
                past{
                    few{"{0} mis yn ôl"}
                    many{"{0} mis yn ôl"}
                    one{"{0} mis yn ôl"}
                    other{"{0} mis yn ôl"}
                    two{"{0} mis yn ôl"}
                    zero{"{0} mis yn ôl"}
                }
            }
        }
        month-short{
            relativeTime{
                past{
                    few{"{0} mis yn ôl"}
                    many{"{0} mis yn ôl"}
                    one{"{0} mis yn ôl"}
                    other{"{0} mis yn ôl"}
                    two{"{0} mis yn ôl"}
                    zero{"{0} mis yn ôl"}
                }
            }
        }
        sat{
            relative{
                "-1"{"dydd Sadwrn diwethaf"}
                "0"{"dydd Sadwrn yma"}
                "1"{"dydd Sadwrn nesaf"}
            }
        }
        second{
            dn{"Eiliad"}
            relative{
                "0"{"nawr"}
            }
            relativeTime{
                future{
                    few{"Ymhen {0} eiliad"}
                    many{"Ymhen {0} eiliad"}
                    one{"Ymhen eiliad"}
                    other{"Ymhen {0} eiliad"}
                    two{"Ymhen {0} eiliad"}
                    zero{"Ymhen {0} eiliad"}
                }
                past{
                    few{"{0} eiliad yn ôl"}
                    many{"{0} eiliad yn ôl"}
                    one{"eiliad yn ôl"}
                    other{"{0} eiliad yn ôl"}
                    two{"{0} eiliad yn ôl"}
                    zero{"{0} eiliad yn ôl"}
                }
            }
        }
        sun{
            relative{
                "-1"{"dydd Sul diwethaf"}
                "0"{"dydd Sul yma"}
                "1"{"dydd Sul nesaf"}
            }
        }
        thu{
            relative{
                "-1"{"dydd Iau diwethaf"}
                "0"{"dydd Iau yma"}
                "1"{"dydd Iau nesaf"}
            }
        }
        tue{
            relative{
                "-1"{"dydd Mawrth diwethaf"}
                "0"{"dydd Mawrth yma"}
                "1"{"dydd Mawrth nesaf"}
            }
        }
        wed{
            relative{
                "-1"{"dydd Mercher diwethaf"}
                "0"{"dydd Mercher yma"}
                "1"{"dydd Mercher nesaf"}
            }
        }
        week{
            dn{"Wythnos"}
            relative{
                "-1"{"wythnos ddiwethaf"}
                "0"{"yr wythnos hon"}
                "1"{"wythnos nesaf"}
            }
            relativeTime{
                future{
                    few{"Ymhen {0} wythnos"}
                    many{"Ymhen {0} wythnos"}
                    one{"Ymhen wythnos"}
                    other{"Ymhen {0} wythnos"}
                    two{"Ymhen pythefnos"}
                    zero{"Ymhen {0} wythnos"}
                }
                past{
                    few{"{0} wythnos yn ôl"}
                    many{"{0} wythnos yn ôl"}
                    one{"{0} wythnos yn ôl"}
                    other{"{0} wythnos yn ôl"}
                    two{"{0} wythnos yn ôl"}
                    zero{"{0} wythnos yn ôl"}
                }
            }
        }
        weekday{
            dn{"Dydd o’r Wythnos"}
        }
        year{
            dn{"Blwyddyn"}
            relative{
                "-1"{"llynedd"}
                "0"{"eleni"}
                "1"{"blwyddyn nesaf"}
            }
            relativeTime{
                future{
                    few{"Ymhen {0} blynedd"}
                    many{"Ymhen {0} blynedd"}
                    one{"Ymhen blwyddyn"}
                    other{"Ymhen {0} mlynedd"}
                    two{"Ymhen {0} flynedd"}
                    zero{"Ymhen {0} mlynedd"}
                }
                past{
                    few{"{0} blynedd yn ôl"}
                    many{"{0} blynedd yn ôl"}
                    one{"blwyddyn yn ôl"}
                    other{"{0} o flynyddoedd yn ôl"}
                    two{"{0} flynedd yn ôl"}
                    zero{"{0} o flynyddoedd yn ôl"}
                }
            }
        }
        zone{
            dn{"Cylchfa Amser"}
        }
    }
    listPattern{
        standard{
            2{"{0}, {1}"}
            end{"{0}, {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit{
            2{"{0}, {1}"}
            end{"{0}, {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit-short{
            2{"{0}, {1}"}
            end{"{0}, {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"DU"}
        US{"UDA"}
        metric{"Metrig"}
    }
}
