# 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 = Yaasuusuk Duma, Yaasuusuk Wadir
eraNames = Yaasuusuk Duma, Yaasuusuk Wadir
narrowMonths = Q, N, C, A, C, Q, Q, L, W, D, X, K
months = Qunxa Garablu, Naharsi Kudo, Ciggilta Kudo, Agda Baxisso, Caxah Alsa, Qasa Dirri, Qado Dirri, Leqeeni, Waysu, Diteli, Ximoli, Kaxxa Garablu
shortMonths = Qun, Nah, Cig, Agd, Cax, Qas, Qad, Leq, Way, Dit, Xim, Kax
standaloneNarrowMonths = Q, N, C, A, C, Q, Q, L, W, D, X, K
standaloneMonths = Qunxa Garablu, Naharsi Kudo, Ciggilta Kudo, Agda Baxisso, Caxah Alsa, Qasa Dirri, Qado Dirri, Leqeeni, Waysu, Diteli, Ximoli, Kaxxa Garablu
standaloneShortMonths = Qun, Nah, Cig, Agd, Cax, Qas, Qad, Leq, Way, Dit, Xim, Kax
weekdays = Acaada, Etleeni, Talaata, Arbaqa, Kamiisi, Gumqata, Sabti
shortWeekdays = Aca, Etl, Tal, Arb, Kam, Gum, Sab
narrowWeekdays = A, E, T, A, K, G, S
standaloneWeekdays = Acaada, Etleeni, Talaata, Arbaqa, Kamiisi, Gumqata, Sabti
standaloneShortWeekdays = Aca, Etl, Tal, Arb, Kam, Gum, Sab
standaloneNarrowWeekdays = A, E, T, A, K, G, S
shortQuarters = Q1, Q2, Q3, Q4
quarters = Q1, Q2, Q3, Q4
ampms = saaku, carra
dateFormats = EEEE\\, MMMM dd\\, y, dd MMMM y, dd-MMM-y, dd/MM/yy
timeFormats = h:mm:ss a zzzz, h:mm:ss a z, h:mm:ss a, h:mm a
firstDayOfTheWeek = 7
weekendRange = 7, 1
