# 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 = BRY, BUY
eraNames = Brah jikan Yisu Thulang, Bukuy jikan Yisu Thulang
narrowMonths = K, D, T, S, R, M, E, P, A, M, K, D
months = Kingal idas, Dha idas, Tru idas, Spat idas, Rima idas, Mataru idas, Empitu idas, Maspat idas, Mngari idas, Maxal idas, Maxal kingal idas, Maxal dha idas
shortMonths = Kii, Dhi, Tri, Spi, Rii, Mti, Emi, Mai, Mni, Mxi, Mxk, Mxd
standaloneNarrowMonths = K, D, T, S, R, M, E, P, A, M, K, D
standaloneMonths = Kingal idas, Dha idas, Tru idas, Spat idas, Rima idas, Mataru idas, Empitu idas, Maspat idas, Mngari idas, Maxal idas, Maxal kingal idas, Maxal dha idas
standaloneShortMonths = Kii, Dhi, Tri, Spi, Rii, Mti, Emi, Mai, Mni, Mxi, Mxk, Mxd
weekdays = Jiyax sngayan, tgKingal jiyax iyax sngayan, tgDha jiyax iyax sngayan, tgTru jiyax iyax sngayan, tgSpac jiyax iyax sngayan, tgRima jiyax iyax sngayan, tgMataru jiyax iyax sngayan
shortWeekdays = Emp, Kin, Dha, Tru, Spa, Rim, Mat
narrowWeekdays = E, K, D, T, S, R, M
standaloneWeekdays = Jiyax sngayan, tgKingal jiyax iyax sngayan, tgDha jiyax iyax sngayan, tgTru jiyax iyax sngayan, tgSpac jiyax iyax sngayan, tgRima jiyax iyax sngayan, tgMataru jiyax iyax sngayan
standaloneShortWeekdays = Emp, Kin, Dha, Tru, Spa, Rim, Mat
standaloneNarrowWeekdays = E, K, D, T, S, R, M
shortQuarters = mn1, mn2, mn3, mn4
quarters = mnprxan, mndha, mntru, mnspat
ampms = Brax kndaax, Baubau kndaax
dateFormats = EEEE\\, y MMMM dd, y MMMM d, y MMM d, yyyy-MM-dd
timeFormats = HH:mm:ss zzzz, HH:mm:ss z, HH:mm:ss, HH:mm
firstDayOfTheWeek = 2
weekendRange = 7, 1
