# 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 = BCE, CE
eraNames = BCE, CE
narrowMonths = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
months = januari, februari, martsi, aprili, maji, juni, juli, augustusi, septemberi, oktoberi, novemberi, decemberi
shortMonths = jan, feb, mar, apr, maj, jun, jul, aug, sep, okt, nov, dec
standaloneNarrowMonths = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
standaloneMonths = januari, februari, martsi, aprili, maji, juni, juli, augustusi, septemberi, oktoberi, novemberi, decemberi
standaloneShortMonths = jan, feb, mar, apr, maj, jun, jul, aug, sep, okt, nov, dec
weekdays = sabaat, ataasinngorneq, marlunngorneq, pingasunngorneq, sisamanngorneq, tallimanngorneq, arfininngorneq
shortWeekdays = sab, ata, mar, pin, sis, tal, arf
narrowWeekdays = 1, 2, 3, 4, 5, 6, 7
standaloneWeekdays = sabaat, ataasinngorneq, marlunngorneq, pingasunngorneq, sisamanngorneq, tallimanngorneq, arfininngorneq
standaloneShortWeekdays = sab, ata, mar, pin, sis, tal, arf
standaloneNarrowWeekdays = 1, 2, 3, 4, 5, 6, 7
shortQuarters = Q1, Q2, Q3, Q4
quarters = Q1, Q2, Q3, Q4
ampms = AM, PM
dateFormats = EEEE dd MMMM y, dd MMMM y, MMM dd\\, y, dd/MM/yy
timeFormats = h:mm:ss a zzzz, h:mm:ss a z, h:mm:ss a, h:mm a
firstDayOfTheWeek = 1
weekendRange = 7, 1
