# 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 = aC, dC
eraNames = a.C., d.C.
narrowMonths = G, F, M, A, M, G, L, A, S, O, N, D
months = gennaio, febbraio, marzo, aprile, maggio, giugno, luglio, agosto, settembre, ottobre, novembre, dicembre
shortMonths = gen, feb, mar, apr, mag, giu, lug, ago, set, ott, nov, dic
standaloneNarrowMonths = G, F, M, A, M, G, L, A, S, O, N, D
standaloneMonths = Gennaio, Febbraio, Marzo, Aprile, Maggio, Giugno, Luglio, Agosto, Settembre, Ottobre, Novembre, Dicembre
standaloneShortMonths = gen, feb, mar, apr, mag, giu, lug, ago, set, ott, nov, dic
weekdays = domenica, lunedì, martedì, mercoledì, giovedì, venerdì, sabato
shortWeekdays = dom, lun, mar, mer, gio, ven, sab
narrowWeekdays = D, L, M, M, G, V, S
standaloneWeekdays = Domenica, Lunedì, Martedì, Mercoledì, Giovedì, Venerdì, Sabato
standaloneShortWeekdays = dom, lun, mar, mer, gio, ven, sab
standaloneNarrowWeekdays = D, L, M, M, G, V, S
shortQuarters = T1, T2, T3, T4
quarters = 1º trimestre, 2º trimestre, 3º trimestre, 4º trimestre
ampms = AM, PM
dateFormats = EEEE d MMMM y, dd MMMM y, dd/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
