# Following code is generated from CLDR data by script. You can do
# emergency fix here, but you fix will be lost unless it is also
# fixed in CLDR. The data generation scripts exists outside GWT and
# will be run manually after each major CLDR updates. Each update
# will be manually checked before check in to make sure undesired
# changes in CLDR will not break existing applications as possible.
# File generated from CLDR ver. 25

eras = CC, OC
eraNames = Cyn Crist, Oed Crist
narrowMonths = I, Ch, M, E, M, M, G, A, M, H, T, Rh
months = Ionawr, Chwefror, Mawrth, Ebrill, Mai, Mehefin, Gorffennaf, Awst, Medi, Hydref, Tachwedd, Rhagfyr
shortMonths = Ion, Chwef, Mawrth, Ebrill, Mai, Meh, Gorff, Awst, Medi, Hyd, Tach, Rhag
standaloneNarrowMonths = I, Ch, M, E, M, M, G, A, M, H, T, Rh
standaloneMonths = Ionawr, Chwefror, Mawrth, Ebrill, Mai, Mehefin, Gorffennaf, Awst, Medi, Hydref, Tachwedd, Rhagfyr
standaloneShortMonths = Ion, Chw, Maw, Ebr, Mai, Meh, Gor, Awst, Medi, Hyd, Tach, Rhag
weekdays = Dydd Sul, Dydd Llun, Dydd Mawrth, Dydd Mercher, Dydd Iau, Dydd Gwener, Dydd Sadwrn
shortWeekdays = Sul, Llun, Maw, Mer, Iau, Gwen, Sad
narrowWeekdays = S, Ll, M, M, I, G, S
standaloneWeekdays = Dydd Sul, Dydd Llun, Dydd Mawrth, Dydd Mercher, Dydd Iau, Dydd Gwener, Dydd Sadwrn
standaloneShortWeekdays = Sul, Llun, Maw, Mer, Iau, Gwe, Sad
standaloneNarrowWeekdays = S, Ll, M, M, I, G, S
shortQuarters = Ch1, Ch2, Ch3, Ch4
quarters = Chwarter 1af, 2il chwarter, 3ydd chwarter, 4ydd chwarter
ampms = AM, PM
dateFormats = EEEE\\, d MMMM y, d MMMM y, d MMM y, dd/MM/y
timeFormats = HH:mm:ss zzzz, HH:mm:ss z, HH:mm:ss, HH:mm
dateTimeFormats = {1} 'am' {0}, {1} 'am' {0}, {1} {0}, {1} {0}
firstDayOfTheWeek = 2
weekendRange = 7, 1
