# 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 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
