# 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 = I кв., II кв., III кв., IV кв.
quarters = I квартал, II квартал, III квартал, IV квартал
ampms = дп, пп
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
