# 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 = T.K., A.K.
eraNames = Tupu Kristi, Afọ Kristi
narrowMonths = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
months = Jenụwarị, Febrụwarị, Maachị, Eprel, Mee, Juun, Julaị, Ọgọọst, Septemba, Ọktoba, Novemba, Disemba
shortMonths = Jen, Feb, Maa, Epr, Mee, Juu, Jul, Ọgọ, Sep, Ọkt, Nov, Dis
standaloneNarrowMonths = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
standaloneMonths = Jenụwarị, Febrụwarị, Maachị, Eprel, Mee, Juun, Julaị, Ọgọọst, Septemba, Ọktoba, Novemba, Disemba
standaloneShortMonths = Jen, Feb, Maa, Epr, Mee, Juu, Jul, Ọgọ, Sep, Ọkt, Nov, Dis
weekdays = Mbọsị Ụka, Mọnde, Tiuzdee, Wenezdee, Tọọzdee, Fraịdee, Satọdee
shortWeekdays = Ụka, Mọn, Tiu, Wen, Tọọ, Fraị, Sat
narrowWeekdays = S, M, T, W, T, F, S
standaloneWeekdays = Mbọsị Ụka, Mọnde, Tiuzdee, Wenezdee, Tọọzdee, Fraịdee, Satọdee
standaloneShortWeekdays = Ụka, Mọn, Tiu, Wen, Tọọ, Fraị, Sat
standaloneNarrowWeekdays = S, M, T, W, T, F, S
shortQuarters = Ọ1, Ọ2, Ọ3, Ọ4
quarters = Ọkara 1, Ọkara 2, Ọkara 3, Ọkara 4
ampms = A.M., P.M.
dateFormats = EEEE\\, d MMMM y, d MMMM y, d MMM y, dd/MM/y
timeFormats = h:mm:ss a zzzz, h:mm:ss a z, h:mm:ss a, h:mm a
dateTimeFormats = {1} {0}, {1} {0}, {1} {0}, {1} {0}
firstDayOfTheWeek = 2
weekendRange = 7, 1
