# 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 = м.э.ө, м.э.
eraNames = манай эриний өмнөх, манай эриний
narrowMonths = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
months = Хулгана, Үхэр, Бар, Туулай, Луу, Могой, Морь, Хонь, Бич, Тахиа, Нохой, Гахай
shortMonths = хул, үхэ, бар, туу, луу, мог, мор, хон, бич, тах, нох, гах
standaloneNarrowMonths = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
standaloneMonths = Хулгана, Үхэр, Бар, Туулай, Луу, Могой, Морь, Хонь, Бич, Тахиа, Нохой, Гахай
standaloneShortMonths = хул, үхэ, бар, туу, луу, мог, мор, хон, бич, тах, нох, гах
weekdays = ням, даваа, мягмар, лхагва, пүрэв, баасан, бямба
shortWeekdays = Ня, Да, Мя, Лх, Пү, Ба, Бя
narrowWeekdays = 1, 2, 3, 4, 5, 6, 7
standaloneWeekdays = ням, даваа, мягмар, лхагва, пүрэв, баасан, бямба
standaloneShortWeekdays = Ня, Да, Мя, Лх, Пү, Ба, Бя
standaloneNarrowWeekdays = 1, 2, 3, 4, 5, 6, 7
shortQuarters = 1/4, 2/4, 3/4, 4/4
quarters = дөрөвний нэг, дөрөвний хоёр, дөрөвний гурав, дөрөвний дөрөв
ampms = AM, PM
dateFormats = EEEE\\, y MMMM dd, y MMMM d, y MMM d, yy/MM/dd
timeFormats = HH:mm:ss zzzz, HH:mm:ss z, HH:mm:ss, HH:mm
firstDayOfTheWeek = 1
weekendRange = 7, 1
