# 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 = a.C., d.C.
eraNames = antes de Cristo, despois de Cristo
narrowMonths = X, F, M, A, M, X, X, A, S, O, N, D
months = xaneiro, febreiro, marzo, abril, maio, xuño, xullo, agosto, setembro, outubro, novembro, decembro
shortMonths = xan, feb, mar, abr, mai, xuñ, xul, ago, set, out, nov, dec
standaloneNarrowMonths = X, F, M, A, M, X, X, A, S, O, N, D
standaloneMonths = Xaneiro, Febreiro, Marzo, Abril, Maio, Xuño, Xullo, Agosto, Setembro, Outubro, Novembro, Decembro
standaloneShortMonths = Xan, Feb, Mar, Abr, Mai, Xuñ, Xul, Ago, Set, Out, Nov, Dec
weekdays = domingo, luns, martes, mércores, xoves, venres, sábado
shortWeekdays = dom, lun, mar, mér, xov, ven, sáb
narrowWeekdays = D, L, M, M, X, V, S
standaloneWeekdays = Domingo, Luns, Martes, Mércores, Xoves, Venres, Sábado
standaloneShortWeekdays = Dom, Lun, Mar, Mér, Xov, Ven, Sáb
standaloneNarrowWeekdays = D, L, M, M, X, V, S
shortQuarters = T1, T2, T3, T4
quarters = 1o trimestre, 2o trimestre, 3o trimestre, 4o trimestre
ampms = a.m., p.m.
dateFormats = EEEE dd MMMM y, dd MMMM y, d MMM\\, y, dd/MM/yy
timeFormats = HH:mm:ss zzzz, HH:mm:ss z, HH:mm:ss, HH:mm
dateTimeFormats = {1} {0}, {1} {0}, {1} {0}, {1} {0}
firstDayOfTheWeek = 2
weekendRange = 7, 1
