# Day names

weekday-0-long = Nedeľa
weekday-1-long = Pondelok
weekday-2-long = Utorok
weekday-3-long = Streda
weekday-4-long = Štvrtok
weekday-5-long = Piatok
weekday-6-long = Sobota

weekday-0-short = Ne
weekday-1-short = Po
weekday-2-short = Ut
weekday-3-short = St
weekday-4-short = Št
weekday-5-short = Pi
weekday-6-short = So

# Month names

month-0-long  = Január
month-1-long  = Február
month-2-long  = Marec
month-3-long  = Apríl
month-4-long  = Máj
month-5-long  = Jún
month-6-long  = Júl
month-7-long  = August
month-8-long  = September
month-9-long  = Október
month-10-long = November
month-11-long = December

month-0-genitive  = januára
month-1-genitive  = februára
month-2-genitive  = marca
month-3-genitive  = apríla
month-4-genitive  = mája
month-5-genitive  = júna
month-6-genitive  = júla
month-7-genitive  = augusta
month-8-genitive  = septembra
month-9-genitive  = októbra
month-10-genitive = novembra
month-11-genitive = decembra

month-0-short  = jan
month-1-short  = feb
month-2-short  = mar
month-3-short  = apr
month-4-short  = máj
month-5-short  = jún
month-6-short  = júl
month-7-short  = aug
month-8-short  = sep
month-9-short  = okt
month-10-short = nov
month-11-short = dec

# Relative time ("pretty dates"), normal/long variant

minutes-ago-long={[ plural(value) ]}
minutes-ago-long[zero]  = teraz
minutes-ago-long[one]   = pred minútou
minutes-ago-long[two]   = pred {{value}} minútami
minutes-ago-long[few]   = pred {{value}} minútami
minutes-ago-long[many]  = pred {{value}} minútami
minutes-ago-long[other] = pred {{value}} minútami

hours-ago-long={[ plural(value) ]}
hours-ago-long[zero]  = teraz
hours-ago-long[one]   = pred hodinou
hours-ago-long[two]   = pred {{value}} hodinami
hours-ago-long[few]   = pred {{value}} hodinami
hours-ago-long[many]  = pred {{value}} hodinami
hours-ago-long[other] = pred {{value}} hodinami

days-ago-long={[ plural(value) ]}
days-ago-long[zero]  = dnes
days-ago-long[one]   = včera
days-ago-long[two]   = pred {{value}} dňami
days-ago-long[few]   = pred {{value}} dňami
days-ago-long[many]  = pred {{value}} dňami
days-ago-long[other] = pred {{value}} dňami

weeks-ago-long={[ plural(value) ]}
weeks-ago-long[zero]  = tento týždeň
weeks-ago-long[one]   = minulý týždeň
weeks-ago-long[two]   = pred {{value}} týždňami
weeks-ago-long[few]   = pred {{value}} týždňami
weeks-ago-long[many]  = pred {{value}} týždňami
weeks-ago-long[other] = pred {{value}} týždňami

months-ago-long={[ plural(value) ]}
months-ago-long[zero]  = tento mesiac
months-ago-long[one]   = minulý mesiac
months-ago-long[two]   = pred {{value}} mesiacmi
months-ago-long[few]   = pred {{value}} mesiacmi
months-ago-long[many]  = pred {{value}} mesiacmi
months-ago-long[other] = pred {{value}} mesiacmi

years-ago-long={[ plural(value) ]}
years-ago-long[zero]  = tento rok
years-ago-long[one]   = minulý rok
years-ago-long[two]   = pred {{value}} rokmi
years-ago-long[few]   = pred {{value}} rokmi
years-ago-long[many]  = pred {{value}} rokmi
years-ago-long[other] = pred {{value}} rokmi

minutes-until-long={[ plural(value) ]}
minutes-until-long[zero]  = teraz
minutes-until-long[one]   = o minútu
minutes-until-long[two]   = o {{value}} minúty
minutes-until-long[few]   = o {{value}} minúty
minutes-until-long[many]  = o {{value}} minút
minutes-until-long[other] = o {{value}} minút

hours-until-long={[ plural(value) ]}
hours-until-long[zero]  = teraz
hours-until-long[one]   = o hodinu
hours-until-long[two]   = o {{value}} hodiny
hours-until-long[few]   = o {{value}} hodiny
hours-until-long[many]  = o {{value}} hodín
hours-until-long[other] = o {{value}} hodín

days-until-long={[ plural(value) ]}
days-until-long[zero]  = dnes
days-until-long[one]   = zajtra
days-until-long[two]   = o {{value}} dni
days-until-long[few]   = o {{value}} dni
days-until-long[many]  = o {{value}} dní
days-until-long[other] = o {{value}} dní

weeks-until-long={[ plural(value) ]}
weeks-until-long[zero]  = tento týždeň
weeks-until-long[one]   = budúci týždeň
weeks-until-long[two]   = o {{value}} týždne
weeks-until-long[few]   = o {{value}} týždne
weeks-until-long[many]  = o {{value}} týždňov
weeks-until-long[other] = o {{value}} týždňov

months-until-long={[ plural(value) ]}
months-until-long[zero]  = tento mesiac
months-until-long[one]   = budúci mesiac
months-until-long[two]   = o {{value}} mesiace
months-until-long[few]   = o {{value}} mesiace
months-until-long[many]  = o {{value}} mesiacov
months-until-long[other] = o {{value}} mesiacov

years-until-long={[ plural(value) ]}
years-until-long[zero]  = tento rok
years-until-long[one]   = budúci rok
years-until-long[two]   = o {{value}} roky
years-until-long[few]   = o {{value}} roky
years-until-long[many]  = o {{value}} rokov
years-until-long[other] = o {{value}} rokov

# Relative time ("pretty dates"), short variant
# LOCALIZATION NOTE: the time unit should be as short as possible,
# and the whole string should not exceed a length of ~10 latin characters.
# LOCALIZATION NOTE: the prime (’) can be used to represent minutes for most
# locales, but we use “m” instead for the English locale to prevent a possible
# confusion (35’ ago ≠ 35 feet ago).

minutes-ago-short={[ plural(value) ]}
minutes-ago-short[zero]  = teraz
minutes-ago-short[other] = pred {{value}}m

hours-ago-short={[ plural(value) ]}
hours-ago-short[zero]  = teraz
hours-ago-short[other] = pred {{value}}h

days-ago-short={[ plural(value) ]}
days-ago-short[zero]  = dnes
days-ago-short[other] = pred {{value}}d

minutes-until-short={[ plural(value) ]}
minutes-until-short[zero]  = teraz
minutes-until-short[other] = o {{value}}m

hours-until-short={[ plural(value) ]}
hours-until-short[zero]  = teraz
hours-until-short[other] = o {{value}}h

days-until-short={[ plural(value) ]}
days-until-short[zero]  = dnes
days-until-short[other] = o {{value}}d

# Relative time ("pretty dates"), unexpected error

incorrectDate = (neplatný dátum)

# Date/Time format
# see http://pubs.opengroup.org/onlinepubs/007908799/xsh/strftime.html

dateTimeFormat_%c = %a, %e. %b %Y %H:%M:%S
dateTimeFormat_%x = %d.%m.%Y
dateTimeFormat_%X = %H:%M:%S

shortTimeFormat = %H:%M
shortDateTimeFormat = %x %H:%M

# Boolean to indicate if weekStarts on Monday (1) or Sunday (0).
weekStartsOnMonday = 1

# Localize “AM" and "PM" used in %p format for time
time_am = AM
time_pm = PM
