# 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 = б.з. ч., б.з.
eraNames = б.з. чейин, б.з.
narrowMonths = Я, Ф, М, А, М, И, И, А, С, О, Н, Д
months = январь, февраль, март, апрель, май, июнь, июль, август, сентябрь, октябрь, ноябрь, декабрь
shortMonths = янв., фев., мар., апр., май, июн., июл., авг., сен., окт., ноя., дек.
standaloneNarrowMonths = Я, Ф, М, А, М, И, И, А, С, О, Н, Д
standaloneMonths = январь, февраль, март, апрель, май, июнь, июль, август, сентябрь, октябрь, ноябрь, декабрь
standaloneShortMonths = янв., фев., мар., апр., май, июн., июл., авг., сен., окт., ноя., дек.
weekdays = Жек, Дүй, Шей, Шар, Бей, Жум, Ишм
shortWeekdays = Жк, Дш, Ше, Ша, Бш, Жм, Иш
narrowWeekdays = Ж, Д, Ш, Ш, Б, Ж, И
standaloneWeekdays = Жекшемби, Дүйшөмбү, Шейшемби, Шаршемби, Бейшемби, Жума, Ишемби
standaloneShortWeekdays = Жек, Дүй, Шей, Шар, Бей, Жум, Ишм
standaloneNarrowWeekdays = Ж, Д, Ш, Ш, Б, Ж, И
shortQuarters = 1-чей., 2-чей., 3-чей., 4-чей.
quarters = 1-чейрек, 2-чейрек, 3-чейрек, 4-чейрек
ampms = түшкө чейинки, түштөн кийинки
dateFormats = EEEE\\, d-MMMM\\, y-'ж'., d-MMMM\\, y-'ж'., dd.MM.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
