# 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 = kmp. Y.K., kny. Y. K.
eraNames = Kumpala kwa Yezu Kli, Kunyima kwa Yezu Kli
narrowMonths = C, L, L, M, L, L, K, L, L, L, K, C
months = Ciongo, Lùishi, Lusòlo, Mùuyà, Lumùngùlù, Lufuimi, Kabàlàshìpù, Lùshìkà, Lutongolo, Lungùdi, Kaswèkèsè, Ciswà
shortMonths = Cio, Lui, Lus, Muu, Lum, Luf, Kab, Lush, Lut, Lun, Kas, Cis
standaloneNarrowMonths = C, L, L, M, L, L, K, L, L, L, K, C
standaloneMonths = Ciongo, Lùishi, Lusòlo, Mùuyà, Lumùngùlù, Lufuimi, Kabàlàshìpù, Lùshìkà, Lutongolo, Lungùdi, Kaswèkèsè, Ciswà
standaloneShortMonths = Cio, Lui, Lus, Muu, Lum, Luf, Kab, Lush, Lut, Lun, Kas, Cis
weekdays = Lumingu, Nkodya, Ndàayà, Ndangù, Njòwa, Ngòvya, Lubingu
shortWeekdays = Lum, Nko, Ndy, Ndg, Njw, Ngv, Lub
narrowWeekdays = L, N, N, N, N, N, L
standaloneWeekdays = Lumingu, Nkodya, Ndàayà, Ndangù, Njòwa, Ngòvya, Lubingu
standaloneShortWeekdays = Lum, Nko, Ndy, Ndg, Njw, Ngv, Lub
standaloneNarrowWeekdays = L, N, N, N, N, N, L
shortQuarters = M1, M2, M3, M4
quarters = Mueji 1, Mueji 2, Mueji 3, Mueji 4
ampms = Dinda, Dilolo
dateFormats = EEEE d MMMM y, d MMMM y, d MMM y, d/M/y
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
