# 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 = KM, BM
eraNames = Kabla yakwe Yethu, Baada yakwe Yethu
narrowMonths = J, F, M, A, M, J, J, A, S, O, N, D
months = Januari, Februari, Machi, Aprili, Mei, Juni, Julai, Agosti, Septemba, Oktoba, Novemba, Desemba
shortMonths = Jan, Feb, Mac, Apr, Mei, Jun, Jul, Ago, Sep, Okt, Nov, Dec
standaloneNarrowMonths = J, F, M, A, M, J, J, A, S, O, N, D
standaloneMonths = Januari, Februari, Machi, Aprili, Mei, Juni, Julai, Agosti, Septemba, Oktoba, Novemba, Desemba
standaloneShortMonths = Jan, Feb, Mac, Apr, Mei, Jun, Jul, Ago, Sep, Okt, Nov, Dec
weekdays = Jumapili, Jumatatu, Jumanne, Jumatano, Alhamisi, Ijumaa, Jumamosi
shortWeekdays = Jpi, Jtt, Jnn, Jtn, Alh, Ijm, Jmo
narrowWeekdays = J, J, J, J, A, I, J
standaloneWeekdays = Jumapili, Jumatatu, Jumanne, Jumatano, Alhamisi, Ijumaa, Jumamosi
standaloneShortWeekdays = Jpi, Jtt, Jnn, Jtn, Alh, Ijm, Jmo
standaloneNarrowWeekdays = J, J, J, J, A, I, J
shortQuarters = R1, R2, R3, R4
quarters = Robo 1, Robo 2, Robo 3, Robo 4
ampms = icheheavo, ichamthi
dateFormats = EEEE\\, d MMMM y, d MMMM y, d MMM y, dd/MM/y
timeFormats = h:mm:ss a zzzz, h:mm:ss a z, h:mm:ss a, h:mm a
dateTimeFormats = {1} {0}, {1} {0}, {1} {0}, {1} {0}
firstDayOfTheWeek = 2
weekendRange = 7, 1
