# 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.

# CLDR version 1.7.1 is used in this generation.

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 = 1, 2, 3, 4, 5, 6, 7
standaloneWeekdays = Mbọsị Ụka, Mọnde, Tiuzdee, Wenezdee, Tọọzdee, Fraịdee, Satọdee
standaloneShortWeekdays = Ụka, Mọn, Tiu, Wen, Tọọ, Fraị, Sat
standaloneNarrowWeekdays = 1, 2, 3, 4, 5, 6, 7
shortQuarters = Q1, Q2, Q3, Q4
quarters = Q1, Q2, Q3, Q4
ampms = A.M., P.M.
dateFormats = EEEE\\, y MMMM dd, y MMMM d, y MMM d, yy/MM/dd
timeFormats = HH:mm:ss zzzz, HH:mm:ss z, HH:mm:ss, HH:mm
firstDayOfTheWeek = 2
weekendRange = 7, 1
