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

eras = aC, dC
eraNames = aC, dC
narrowMonths = g, f, m, a, m, j, j, a, s, o, n, d
months = gener, febrer, març, abril, maig, juny, juliol, agost, setembre, octubre, novembre, desembre
shortMonths = gen., febr., març, abr., maig, juny, jul., ag., set., oct., nov., des.
standaloneNarrowMonths = g, f, m, a, m, j, j, a, s, o, n, d
standaloneMonths = gener, febrer, març, abril, maig, juny, juliol, agost, setembre, octubre, novembre, desembre
standaloneShortMonths = gen., febr., març, abr., maig, juny, jul., ag., set., oct., nov., des.
weekdays = diumenge, dilluns, dimarts, dimecres, dijous, divendres, dissabte
shortWeekdays = dg., dl., dt., dc., dj., dv., ds.
narrowWeekdays = g, l, t, c, j, v, s
standaloneWeekdays = diumenge, dilluns, dimarts, dimecres, dijous, divendres, dissabte
standaloneShortWeekdays = dg, dl, dt, dc, dj, dv, ds
standaloneNarrowWeekdays = g, l, t, c, j, v, s
shortQuarters = 1T, 2T, 3T, 4T
quarters = 1r trimestre, 2n trimestre, 3r trimestre, 4t trimestre
ampms = AM, PM
dateFormats = EEEE d 'de' MMMM 'de' yyyy, d 'de' MMMM 'de' yyyy, dd/MM/yyyy, dd/MM/yy
timeFormats = H:mm:ss v, H:mm:ss z, H:mm:ss, H:mm
firstDayOfTheWeek = 2
weekendRange = 7, 1
