# 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.
# File generated from CLDR ver. 25

eras = f.Kr., e.Kr.
eraNames = fyrir Krist, eftir Krist
narrowMonths = J, F, M, A, M, J, J, Á, S, O, N, D
months = janúar, febrúar, mars, apríl, maí, júní, júlí, ágúst, september, október, nóvember, desember
shortMonths = jan., feb., mar., apr., maí, jún., júl., ágú., sep., okt., nóv., des.
standaloneNarrowMonths = J, F, M, A, M, J, J, Á, S, O, N, D
standaloneMonths = janúar, febrúar, mars, apríl, maí, júní, júlí, ágúst, september, október, nóvember, desember
standaloneShortMonths = jan., feb., mar., apr., maí, jún., júl., ágú., sep., okt., nóv., des.
weekdays = sunnudagur, mánudagur, þriðjudagur, miðvikudagur, fimmtudagur, föstudagur, laugardagur
shortWeekdays = sun., mán., þri., mið., fim., fös., lau.
narrowWeekdays = S, M, Þ, M, F, F, L
standaloneWeekdays = sunnudagur, mánudagur, þriðjudagur, miðvikudagur, fimmtudagur, föstudagur, laugardagur
standaloneShortWeekdays = sun., mán., þri., mið., fim., fös., lau.
standaloneNarrowWeekdays = S, M, Þ, M, F, F, L
shortQuarters = F1, F2, F3, F4
quarters = 1. fjórðungur, 2. fjórðungur, 3. fjórðungur, 4. fjórðungur
ampms = f.h., e.h.
dateFormats = EEEE\\, d. MMMM y, d. MMMM y, d. MMM y, d.M.y
timeFormats = HH:mm:ss zzzz, HH:mm:ss z, HH:mm:ss, HH:mm
dateTimeFormats = {1} 'kl.' {0}, {1} 'kl.' {0}, {1}\\, {0}, {1}\\, {0}
firstDayOfTheWeek = 2
weekendRange = 7, 1
