# 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 = BC, AD
eraNames = BC, AD
narrowMonths = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
months = Phando, Luhuhi, Ṱhafamuhwe, Lambamai, Shundunthule, Fulwi, Fulwana, Ṱhangule, Khubvumedzi, Tshimedzi, Ḽara, Nyendavhusiku
shortMonths = Pha, Luh, Ṱha, Lam, Shu, Lwi, Lwa, Ṱha, Khu, Tsh, Ḽar, Nye
standaloneNarrowMonths = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
standaloneMonths = Phando, Luhuhi, Ṱhafamuhwe, Lambamai, Shundunthule, Fulwi, Fulwana, Ṱhangule, Khubvumedzi, Tshimedzi, Ḽara, Nyendavhusiku
standaloneShortMonths = Pha, Luh, Ṱha, Lam, Shu, Lwi, Lwa, Ṱha, Khu, Tsh, Ḽar, Nye
weekdays = Swondaha, Musumbuluwo, Ḽavhuvhili, Ḽavhuraru, Ḽavhuṋa, Ḽavhuṱanu, Mugivhela
shortWeekdays = Swo, Mus, Vhi, Rar, Ṋa, Ṱan, Mug
narrowWeekdays = 1, 2, 3, 4, 5, 6, 7
standaloneWeekdays = Swondaha, Musumbuluwo, Ḽavhuvhili, Ḽavhuraru, Ḽavhuṋa, Ḽavhuṱanu, Mugivhela
standaloneShortWeekdays = Swo, Mus, Vhi, Rar, Ṋa, Ṱan, Mug
standaloneNarrowWeekdays = 1, 2, 3, 4, 5, 6, 7
shortQuarters = K1, K2, K3, K4
quarters = Kotara ya u thoma, Kotara ya vhuvhili, Kotara ya vhuraru, Kotara ya vhuṋa
ampms = AM, PM
dateFormats = EEEE\\, y MMMM dd, y MMMM d, y MMM d, yy/MM/dd
timeFormats = HH:mm:ss zzzz, HH:mm:ss z, HH:mm:ss, HH:mm
firstDayOfTheWeek = 2
weekendRange = 7, 1
