# 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 = BC, AD
eraNames = BC, AD
narrowMonths = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
months = Janabari, uFeberbari, uMatjhi, u-Apreli, Meyi, Juni, Julayi, Arhostosi, Septemba, Oktoba, Usinyikhaba, Disemba
shortMonths = Jan, Feb, Mat, Apr, Mey, Jun, Jul, Arh, Sep, Okt, Usi, Dis
standaloneNarrowMonths = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
standaloneMonths = Janabari, uFeberbari, uMatjhi, u-Apreli, Meyi, Juni, Julayi, Arhostosi, Septemba, Oktoba, Usinyikhaba, Disemba
standaloneShortMonths = Jan, Feb, Mat, Apr, Mey, Jun, Jul, Arh, Sep, Okt, Usi, Dis
weekdays = uSonto, uMvulo, uLesibili, Lesithathu, uLesine, ngoLesihlanu, umGqibelo
shortWeekdays = Son, Mvu, Bil, Tha, Ne, Hla, Gqi
narrowWeekdays = S, M, T, W, T, F, S
standaloneWeekdays = uSonto, uMvulo, uLesibili, Lesithathu, uLesine, ngoLesihlanu, umGqibelo
standaloneShortWeekdays = Son, Mvu, Bil, Tha, Ne, Hla, Gqi
standaloneNarrowWeekdays = S, M, T, W, T, F, S
shortQuarters = Q1, Q2, Q3, Q4
quarters = Q1, Q2, Q3, Q4
ampms = AM, PM
dateFormats = y MMMM d\\, EEEE, y MMMM d, y MMM d, y-MM-dd
timeFormats = HH:mm:ss zzzz, HH:mm:ss z, HH:mm:ss, HH:mm
dateTimeFormats = {1} {0}, {1} {0}, {1} {0}, {1} {0}
firstDayOfTheWeek = 1
weekendRange = 7, 1
