# 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 = pdC, ddC
eraNames = pdC, ddC
narrowMonths = Z, F, M, A, M, J, L, A, S, O, N, D
months = Zenâr, Fevrâr, Març, Avrîl, Mai, Jugn, Lui, Avost, Setembar, Otubar, Novembar, Dicembar
shortMonths = Zen, Fev, Mar, Avr, Mai, Jug, Lui, Avo, Set, Otu, Nov, Dic
standaloneNarrowMonths = Z, F, M, A, M, J, L, A, S, O, N, D
standaloneMonths = Zenâr, Fevrâr, Març, Avrîl, Mai, Jugn, Lui, Avost, Setembar, Otubar, Novembar, Dicembar
standaloneShortMonths = Zen, Fev, Mar, Avr, Mai, Jug, Lui, Avo, Set, Otu, Nov, Dic
weekdays = domenie, lunis, martars, miercus, joibe, vinars, sabide
shortWeekdays = dom, lun, mar, mie, joi, vin, sab
narrowWeekdays = D, L, M, M, J, V, S
standaloneWeekdays = domenie, lunis, martars, miercus, joibe, vinars, sabide
standaloneShortWeekdays = dom, lun, mar, mie, joi, vin, sab
standaloneNarrowWeekdays = D, L, M, M, J, V, S
shortQuarters = T1, T2, T3, T4
quarters = Prin trimestri, Secont trimestri, Tierç trimestri, Cuart trimestri
ampms = a., p.
dateFormats = EEEE d 'di' MMMM 'dal' y, d 'di' MMMM 'dal' y, dd/MM/yyyy, dd/MM/yy
timeFormats = HH:mm:ss zzzz, HH:mm:ss z, HH:mm:ss, HH:mm
firstDayOfTheWeek = 2
weekendRange = 7, 1
