# 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 = p.e.r., n.e.r.
eraNames = p.e.r., n.e.r.
narrowMonths = J, S, M, P, M, Q, K, G, S, T, N, D
months = janar, shkurt, mars, prill, maj, qershor, korrik, gusht, shtator, tetor, nëntor, dhjetor
shortMonths = Jan, Shk, Mar, Pri, Maj, Qer, Kor, Gsh, Sht, Tet, Nën, Dhj
standaloneNarrowMonths = J, S, M, P, M, Q, K, G, S, T, N, D
standaloneMonths = janar, shkurt, mars, prill, maj, qershor, korrik, gusht, shtator, tetor, nëntor, dhjetor
standaloneShortMonths = Jan, Shk, Mar, Pri, Maj, Qer, Kor, Gsh, Sht, Tet, Nën, Dhj
weekdays = e diel, e hënë, e martë, e mërkurë, e enjte, e premte, e shtunë
shortWeekdays = Die, Hën, Mar, Mër, Enj, Pre, Sht
narrowWeekdays = D, H, M, M, E, P, S
standaloneWeekdays = e diel, e hënë, e martë, e mërkurë, e enjte, e premte, e shtunë
standaloneShortWeekdays = Die, Hën, Mar, Mër, Enj, Pre, Sht
standaloneNarrowWeekdays = D, H, M, M, E, P, S
shortQuarters = Q1, Q2, Q3, Q4
quarters = Q1, Q2, Q3, Q4
ampms = PD, MD
dateFormats = EEEE\\, dd MMMM y, dd MMMM y, yyyy-MM-dd, yy-MM-dd
timeFormats = h.mm.ss.a zzzz, h.mm.ss.a z, h.mm.ss.a, h.mm.a
firstDayOfTheWeek = 2
weekendRange = 7, 1
