# 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 = hY, Yŋ
eraNames = Hafi Yesu Va Do ŋgɔ, Yesu Ŋɔli
narrowMonths = d, d, t, a, d, m, s, d, a, k, a, d
months = dzove, dzodze, tedoxe, afɔfĩe, dama, masa, siamlɔm, deasiamime, anyɔnyɔ, kele, adeɛmekpɔxe, dzome
shortMonths = dzv, dzd, ted, afɔ, dam, mas, sia, dea, any, kel, ade, dzm
standaloneNarrowMonths = d, d, t, a, d, m, s, d, a, k, a, d
standaloneMonths = dzove, dzodze, tedoxe, afɔfĩe, dama, masa, siamlɔm, deasiamime, anyɔnyɔ, kele, adeɛmekpɔxe, dzome
standaloneShortMonths = dzv, dzd, ted, afɔ, dam, mas, sia, dea, any, kel, ade, dzm
weekdays = kɔsiɖa, dzoɖa, blaɖa, kuɖa, yawoɖa, fiɖa, memleɖa
shortWeekdays = kɔs, dzo, bla, kuɖ, yaw, fiɖ, mem
narrowWeekdays = k, d, b, k, y, f, m
standaloneWeekdays = kɔsiɖa, dzoɖa, blaɖa, kuɖa, yawoɖa, fiɖa, memleɖa
standaloneShortWeekdays = kɔs, dzo, bla, kuɖ, yaw, fiɖ, mem
standaloneNarrowWeekdays = k, d, b, k, y, f, m
shortQuarters = k1, k2, k3, k4
quarters = kɔta gbãtɔ, kɔta evelia, kɔta etɔ̃lia, kɔta enelia
ampms = ŋdi, ɣetrɔ
dateFormats = EEEE\\, MMMM d 'lia' y, MMMM d 'lia' y, MMM d 'lia'\\, y, M/d/yy
timeFormats = a h:mm:ss zzzz, a 'ga' h:mm:ss z, a 'ga' h:mm:ss, a 'ga' h:mm
dateTimeFormats = {0} {1}, {0} {1}, {0} {1}, {0} {1}
firstDayOfTheWeek = 2
weekendRange = 7, 1
