# 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 = K.a., K.o.
eraNames = K.a., K.o.
narrowMonths = U, O, M, A, M, E, U, A, I, U, A, A
months = urtarrilak, otsailak, martxoak, apirilak, maiatzak, ekainak, uztailak, abuztuak, irailak, urriak, azaroak, abenduak
shortMonths = urt., ots., mar., api., mai., eka., uzt., abu., ira., urr., aza., abe.
standaloneNarrowMonths = U, O, M, A, M, E, U, A, I, U, A, A
standaloneMonths = urtarrila, otsaila, martxoa, apirila, maiatza, ekaina, uztaila, abuztua, iraila, urria, azaroa, abendua
standaloneShortMonths = urt., ots., mar., api., mai., eka., uzt., abu., ira., urr., aza., abe.
weekdays = igandea, astelehena, asteartea, asteazkena, osteguna, ostirala, larunbata
shortWeekdays = ig., al., ar., az., og., or., lr.
narrowWeekdays = I, A, A, A, O, O, L
standaloneWeekdays = igandea, astelehena, asteartea, asteazkena, osteguna, ostirala, larunbata
standaloneShortWeekdays = ig., al., ar., az., og., or., lr.
standaloneNarrowWeekdays = I, A, A, A, O, O, L
shortQuarters = 1Hh, 2Hh, 3Hh, 4Hh
quarters = 1. hiruhilekoa, 2. hiruhilekoa, 3. hiruhilekoa, 4. hiruhilekoa
ampms = AM, PM
dateFormats = y('e')'ko' MMMM d\\, EEEE, y('e')'ko' MMMM d, y MMM d, y-MM-dd
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
