# 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 = f.Kr., e.Kr.
eraNames = f.Kr., e.Kr.
narrowMonths = J, F, M, A, M, J, J, A, S, O, N, D
months = januar, februar, marts, april, maj, juni, juli, august, september, oktober, november, december
shortMonths = jan., feb., mar., apr., maj, jun., jul., aug., sep., okt., nov., dec.
standaloneNarrowMonths = J, F, M, A, M, J, J, A, S, O, N, D
standaloneMonths = januar, februar, marts, april, maj, juni, juli, august, september, oktober, november, december
standaloneShortMonths = jan, feb, mar, apr, maj, jun, jul, aug, sep, okt, nov, dec
weekdays = søndag, mandag, tirsdag, onsdag, torsdag, fredag, lørdag
shortWeekdays = søn, man, tir, ons, tor, fre, lør
narrowWeekdays = S, M, T, O, T, F, L
standaloneWeekdays = søndag, mandag, tirsdag, onsdag, torsdag, fredag, lørdag
standaloneShortWeekdays = søn, man, tir, ons, tor, fre, lør
standaloneNarrowWeekdays = S, M, T, O, T, F, L
shortQuarters = K1, K2, K3, K4
quarters = 1. kvartal, 2. kvartal, 3. kvartal, 4. kvartal
ampms = f.m., e.m.
dateFormats = EEEE 'den' d. MMMM y, d. MMM y, dd/MM/yyyy, dd/MM/yy
timeFormats = HH.mm.ss zzzz, HH:mm:ss z, HH.mm.ss, HH.mm
firstDayOfTheWeek = 2
weekendRange = 7, 1
