# 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.

# CLDR version 1.7.1 is used in this generation.

eras = BC, AD
eraNames = Before Christ, Anno Domini
narrowMonths = J, F, M, A, M, J, J, A, S, O, N, D
months = January, February, March, April, May, June, July, August, September, October, November, December
shortMonths = Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
standaloneNarrowMonths = J, F, M, A, M, J, J, A, S, O, N, D
standaloneMonths = January, February, March, April, May, June, July, August, September, October, November, December
standaloneShortMonths = Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
weekdays = Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
shortWeekdays = Sun, Mon, Tue, Wed, Thu, Fri, Sat
narrowWeekdays = S, M, T, W, T, F, S
standaloneWeekdays = Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
standaloneShortWeekdays = Sun, Mon, Tue, Wed, Thu, Fri, Sat
standaloneNarrowWeekdays = S, M, T, W, T, F, S
shortQuarters = Q1, Q2, Q3, Q4
quarters = 1st quarter, 2nd quarter, 3rd quarter, 4th quarter
ampms = AM, PM
dateFormats = EEEE\\, d MMMM y, d MMMM y, d MMM y, dd/MM/yyyy
timeFormats = HH:mm:ss zzzz, HH:mm:ss z, HH:mm:ss, HH:mm
firstDayOfTheWeek = 2
weekendRange = 7, 1
