# 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 = pred n.l., n.l.
eraNames = pred n.l., n.l.
narrowMonths = j, f, m, a, m, j, j, a, s, o, n, d
months = januára, februára, marca, apríla, mája, júna, júla, augusta, septembra, októbra, novembra, decembra
shortMonths = jan, feb, mar, apr, máj, jún, júl, aug, sep, okt, nov, dec
standaloneNarrowMonths = j, f, m, a, m, j, j, a, s, o, n, d
standaloneMonths = január, február, marec, apríl, máj, jún, júl, august, september, október, november, december
standaloneShortMonths = jan, feb, mar, apr, máj, jún, júl, aug, sep, okt, nov, dec
weekdays = nedeľa, pondelok, utorok, streda, štvrtok, piatok, sobota
shortWeekdays = ne, po, ut, st, št, pi, so
narrowWeekdays = N, P, U, S, Š, P, S
standaloneWeekdays = nedeľa, pondelok, utorok, streda, štvrtok, piatok, sobota
standaloneShortWeekdays = ne, po, ut, st, št, pi, so
standaloneNarrowWeekdays = N, P, U, S, Š, P, S
shortQuarters = Q1, Q2, Q3, Q4
quarters = 1. štvrťrok, 2. štvrťrok, 3. štvrťrok, 4. štvrťrok
ampms = dopoludnia, popoludní
dateFormats = EEEE\\, d. MMMM y, d. MMMM y, d.M.yyyy, d.M.yyyy
timeFormats = H:mm:ss zzzz, H:mm:ss z, H:mm:ss, H:mm
firstDayOfTheWeek = 2
weekendRange = 7, 1
