# 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 = d.Y., k.Y.
eraNames = di Yɛ́sus aká yálɛ, cámɛɛn kǝ kǝbɔpka Y
narrowMonths = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
months = ŋwíí a ntɔ́ntɔ, ŋwíí akǝ bɛ́ɛ, ŋwíí akǝ ráá, ŋwíí akǝ nin, ŋwíí akǝ táan, ŋwíí akǝ táafɔk, ŋwíí akǝ táabɛɛ, ŋwíí akǝ táaraa, ŋwíí akǝ táanin, ŋwíí akǝ ntɛk, ŋwíí akǝ ntɛk di bɔ́k, ŋwíí akǝ ntɛk di bɛ́ɛ
shortMonths = ŋ1, ŋ2, ŋ3, ŋ4, ŋ5, ŋ6, ŋ7, ŋ8, ŋ9, ŋ10, ŋ11, ŋ12
standaloneNarrowMonths = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
standaloneMonths = ŋwíí a ntɔ́ntɔ, ŋwíí akǝ bɛ́ɛ, ŋwíí akǝ ráá, ŋwíí akǝ nin, ŋwíí akǝ táan, ŋwíí akǝ táafɔk, ŋwíí akǝ táabɛɛ, ŋwíí akǝ táaraa, ŋwíí akǝ táanin, ŋwíí akǝ ntɛk, ŋwíí akǝ ntɛk di bɔ́k, ŋwíí akǝ ntɛk di bɛ́ɛ
standaloneShortMonths = ŋ1, ŋ2, ŋ3, ŋ4, ŋ5, ŋ6, ŋ7, ŋ8, ŋ9, ŋ10, ŋ11, ŋ12
weekdays = sɔ́ndǝ, lǝndí, maadí, mɛkrɛdí, jǝǝdí, júmbá, samdí
shortWeekdays = sɔ́n, lǝn, maa, mɛk, jǝǝ, júm, sam
narrowWeekdays = s, l, m, m, j, j, s
standaloneWeekdays = sɔ́ndǝ, lǝndí, maadí, mɛkrɛdí, jǝǝdí, júmbá, samdí
standaloneShortWeekdays = sɔ́n, lǝn, maa, mɛk, jǝǝ, júm, sam
standaloneNarrowWeekdays = s, l, m, m, j, j, s
shortQuarters = i1, i2, i3, i4
quarters = id́ɛ́n kǝbǝk kǝ ntɔ́ntɔ́, idɛ́n kǝbǝk kǝ kǝbɛ́ɛ, idɛ́n kǝbǝk kǝ kǝráá, idɛ́n kǝbǝk kǝ kǝnin
ampms = sárúwá, cɛɛ́nko
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
