# 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 = p. n. e., n. e
eraNames = Pre nove ere, Nove ere
narrowMonths = j, f, m, a, m, j, j, a, s, o, n, d
months = januar, februar, mart, april, maj, jun, jul, avgust, septembar, oktobar, novembar, decembar
shortMonths = jan, feb, mar, apr, maj, jun, jul, avg, sep, okt, nov, dec
standaloneNarrowMonths = j, f, m, a, m, j, j, a, s, o, n, d
standaloneMonths = januar, februar, mart, april, maj, jun, jul, avgust, septembar, oktobar, novembar, decembar
standaloneShortMonths = jan, feb, mar, apr, maj, jun, jul, avg, sep, okt, nov, dec
weekdays = nedelja, ponedeljak, utorak, sreda, četvrtak, petak, subota
shortWeekdays = ned, pon, uto, sre, čet, pet, sub
narrowWeekdays = n, p, u, s, č, p, s
standaloneWeekdays = nedelja, ponedeljak, utorak, sreda, četvrtak, petak, subota
standaloneShortWeekdays = ned, pon, uto, sre, čet, pet, sub
standaloneNarrowWeekdays = n, p, u, s, č, p, s
shortQuarters = Q1, Q2, Q3, Q4
quarters = 1. kvartal, 2. kvartal, 3. kvartal, 4. kvartal
ampms = pre podne, popodne
dateFormats = EEEE\\, dd. MMMM y., d.MM.yyyy., dd.MM.y., d.M.yy.
timeFormats = HH.mm.ss zzzz, HH.mm.ss z, HH.mm.ss, HH.mm
firstDayOfTheWeek = 2
weekendRange = 7, 1
