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

# CLDR version 1.7.1 is used in this generation.

eras = Ciise ka hor, Ciise ka dib
eraNames = Ciise ka hor, Ciise ka dib
narrowMonths = K, L, S, A, S, L, T, S, S, T, K, L
months = Bisha Koobaad, Bisha Labaad, Bisha Saddexaad, Bisha Afraad, Bisha Shanaad, Bisha Lixaad, Bisha Todobaad, Bisha Sideedaad, Bisha Sagaalaad, Bisha Tobnaad, Bisha Kow iyo Tobnaad, Bisha Laba iyo Tobnaad
shortMonths = Kob, Lab, Sad, Afr, Sha, Lix, Tod, Sid, Sag, Tob, KIT, LIT
standaloneNarrowMonths = K, L, S, A, S, L, T, S, S, T, K, L
standaloneMonths = Bisha Koobaad, Bisha Labaad, Bisha Saddexaad, Bisha Afraad, Bisha Shanaad, Bisha Lixaad, Bisha Todobaad, Bisha Sideedaad, Bisha Sagaalaad, Bisha Tobnaad, Bisha Kow iyo Tobnaad, Bisha Laba iyo Tobnaad
standaloneShortMonths = Kob, Lab, Sad, Afr, Sha, Lix, Tod, Sid, Sag, Tob, KIT, LIT
weekdays = Axad, Isniin, Salaaso, Arbaco, Khamiis, Jimco, Sabti
shortWeekdays = Axa, Isn, Sal, Arb, Kha, Jim, Sab
narrowWeekdays = A, I, S, A, K, J, S
standaloneWeekdays = Axad, Isniin, Salaaso, Arbaco, Khamiis, Jimco, Sabti
standaloneShortWeekdays = Axa, Isn, Sal, Arb, Kha, Jim, Sab
standaloneNarrowWeekdays = A, I, S, A, K, J, S
shortQuarters = Q1, Q2, Q3, Q4
quarters = Q1, Q2, Q3, Q4
ampms = sn, gn
dateFormats = EEEE\\, MMMM dd\\, y, dd MMMM y, dd-MMM-y, dd/MM/yy
timeFormats = h:mm:ss a zzzz, h:mm:ss a z, h:mm:ss a, h:mm a
firstDayOfTheWeek = 7
weekendRange = 7, 1
