# 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 = e.ə., b.e.
eraNames = eramızdan əvvəl, bizim eramızın
narrowMonths = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
months = јанвар, феврал, март, апрел, май, ијун, ијул, август, сентјабр, октјабр, нојабр, декабр
shortMonths = yan, fev, mar, apr, may, iyn, iyl, avq, sen, okt, noy, dek
standaloneNarrowMonths = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
standaloneMonths = Yanvar, Fevral, Mart, Aprel, May, İyun, İyul, Avqust, Sentyabr, Oktyabr, Noyabr, Dekabr
standaloneShortMonths = yan, fev, mar, apr, may, iyn, iyl, avq, sen, okt, noy, dek
weekdays = базар, базар ертәси, чәршәнбә ахшамы, чәршәнбә, ҹүмә ахшамы, ҹүмә, шәнбә
shortWeekdays = B., B.E., Ç.A., Ç., C.A., C, Ş.
narrowWeekdays = 7, 1, 2, 3, 4, 5, 6
standaloneWeekdays = bazar, bazar ertəsi, çərşənbə axşamı, çərşənbə, cümə axşamı, cümə, şənbə
standaloneShortWeekdays = B., B.E., Ç.A., Ç., C.A., C, Ş.
standaloneNarrowWeekdays = 7, 1, 2, 3, 4, 5, 6
shortQuarters = 1-ci kv., 2-ci kv., 3-cü kv., 4-cü kv.
quarters = 1-ci kvartal, 2-ci kvartal, 3-cü kvartal, 4-cü kvartal
ampms = AM, PM
dateFormats = EEEE\\, d\\, MMMM\\, y, d MMMM\\, y, d MMM\\, y, dd.MM.yy
timeFormats = HH:mm:ss zzzz, HH:mm:ss z, HH:mm:ss, HH:mm
dateTimeFormats = {1} {0}, {1} {0}, {1} {0}, {1} {0}
firstDayOfTheWeek = 2
weekendRange = 7, 1
