# 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 = libóso ya, nsima ya Y
eraNames = Yambo ya Yézu Krís, Nsima ya Yézu Krís
narrowMonths = y, f, m, a, m, y, y, a, s, ɔ, n, d
months = sánzá ya yambo, sánzá ya míbalé, sánzá ya mísáto, sánzá ya mínei, sánzá ya mítáno, sánzá ya motóbá, sánzá ya nsambo, sánzá ya mwambe, sánzá ya libwa, sánzá ya zómi, sánzá ya zómi na mɔ̌kɔ́, sánzá ya zómi na míbalé
shortMonths = yan, fbl, msi, apl, mai, yun, yul, agt, stb, ɔtb, nvb, dsb
standaloneNarrowMonths = y, f, m, a, m, y, y, a, s, ɔ, n, d
standaloneMonths = sánzá ya yambo, sánzá ya míbalé, sánzá ya mísáto, sánzá ya mínei, sánzá ya mítáno, sánzá ya motóbá, sánzá ya nsambo, sánzá ya mwambe, sánzá ya libwa, sánzá ya zómi, sánzá ya zómi na mɔ̌kɔ́, sánzá ya zómi na míbalé
standaloneShortMonths = yan, fbl, msi, apl, mai, yun, yul, agt, stb, ɔtb, nvb, dsb
weekdays = eyenga, mokɔlɔ mwa yambo, mokɔlɔ mwa míbalé, mokɔlɔ mwa mísáto, mokɔlɔ ya mínéi, mokɔlɔ ya mítáno, mpɔ́sɔ
shortWeekdays = eye, ybo, mbl, mst, min, mtn, mps
narrowWeekdays = e, y, m, m, m, m, p
standaloneWeekdays = eyenga, mokɔlɔ mwa yambo, mokɔlɔ mwa míbalé, mokɔlɔ mwa mísáto, mokɔlɔ ya mínéi, mokɔlɔ ya mítáno, mpɔ́sɔ
standaloneShortWeekdays = eye, ybo, mbl, mst, min, mtn, mps
standaloneNarrowWeekdays = e, y, m, m, m, m, p
shortQuarters = SM1, SM2, SM3, SM4
quarters = sánzá mísáto ya yambo, sánzá mísáto ya míbalé, sánzá mísáto ya mísáto, sánzá mísáto ya mínei
ampms = ntɔ́ngɔ́, mpókwa
dateFormats = EEEE d MMMM y, d MMMM y, d MMM y, d/M/y
timeFormats = HH:mm:ss zzzz, HH:mm:ss z, HH:mm:ss, HH:mm
dateTimeFormats = {1} {0}, {1} {0}, {1} {0}, {1} {0}
firstDayOfTheWeek = 2
weekendRange = 7, 1
