# 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 = î.Hr., d.Hr.
eraNames = înainte de Hristos, după Hristos
narrowMonths = I, F, M, A, M, I, I, A, S, O, N, D
months = ianuarie, februarie, martie, aprilie, mai, iunie, iulie, august, septembrie, octombrie, noiembrie, decembrie
shortMonths = ian., feb., mar., apr., mai, iun., iul., aug., sept., oct., nov., dec.
standaloneNarrowMonths = I, F, M, A, M, I, I, A, S, O, N, D
standaloneMonths = ianuarie, februarie, martie, aprilie, mai, iunie, iulie, august, septembrie, octombrie, noiembrie, decembrie
standaloneShortMonths = ian., feb., mar., apr., mai, iun., iul., aug., sept., oct., nov., dec.
weekdays = duminică, luni, marți, miercuri, joi, vineri, sâmbătă
shortWeekdays = Du, Lu, Ma, Mi, Jo, Vi, Sâ
narrowWeekdays = D, L, M, M, J, V, S
standaloneWeekdays = duminică, luni, marți, miercuri, joi, vineri, sâmbătă
standaloneShortWeekdays = Du, Lu, Ma, Mi, Jo, Vi, Sâ
standaloneNarrowWeekdays = D, L, M, M, J, V, S
shortQuarters = trim. I, trim. II, trim. III, trim. IV
quarters = trimestrul I, trimestrul al II-lea, trimestrul al III-lea, trimestrul al IV-lea
ampms = AM, PM
dateFormats = EEEE\\, d MMMM y, d MMMM y, dd.MM.yyyy, dd.MM.yyyy
timeFormats = HH:mm:ss zzzz, HH:mm:ss z, HH:mm:ss, HH:mm
firstDayOfTheWeek = 2
weekendRange = 7, 1
