# 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 = b.Y.K, m.Y.K
eraNames = bisū bi Yesù Krǐstò, i mbūs Yesù Krǐstò
narrowMonths = k, m, m, m, m, h, n, h, d, b, m, l
months = Kɔndɔŋ, Màcɛ̂l, Màtùmb, Màtop, M̀puyɛ, Hìlòndɛ̀, Njèbà, Hìkaŋ, Dìpɔ̀s, Bìòôm, Màyɛsèp, Lìbuy li ńyèe
shortMonths = kɔn, mac, mat, mto, mpu, hil, nje, hik, dip, bio, may, liɓ
standaloneNarrowMonths = k, m, m, m, m, h, n, h, d, b, m, l
standaloneMonths = Kɔndɔŋ, Màcɛ̂l, Màtùmb, Màtop, M̀puyɛ, Hìlòndɛ̀, Njèbà, Hìkaŋ, Dìpɔ̀s, Bìòôm, Màyɛsèp, Lìbuy li ńyèe
standaloneShortMonths = kɔn, mac, mat, mto, mpu, hil, nje, hik, dip, bio, may, liɓ
weekdays = ŋgwà nɔ̂y, ŋgwà njaŋgumba, ŋgwà ûm, ŋgwà ŋgê, ŋgwà mbɔk, ŋgwà kɔɔ, ŋgwà jôn
shortWeekdays = nɔy, nja, uum, ŋge, mbɔ, kɔɔ, jon
narrowWeekdays = n, n, u, ŋ, m, k, j
standaloneWeekdays = ŋgwà nɔ̂y, ŋgwà njaŋgumba, ŋgwà ûm, ŋgwà ŋgê, ŋgwà mbɔk, ŋgwà kɔɔ, ŋgwà jôn
standaloneShortWeekdays = nɔy, nja, uum, ŋge, mbɔ, kɔɔ, jon
standaloneNarrowWeekdays = n, n, u, ŋ, m, k, j
shortQuarters = K1s3, K2s3, K3s3, K4s3
quarters = Kèk bisu i soŋ iaâ, Kèk i ńyonos biɓaà i soŋ iaâ, Kèk i ńyonos biaâ i soŋ iaâ, Kèk i ńyonos binâ i soŋ iaâ
ampms = I bikɛ̂glà, I ɓugajɔp
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
