# 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 = BC, AD
eraNames = BC, AD
narrowMonths = E, P, M, A, M, H, H, A, S, O, N, D
months = Enero, Pebrero, Marso, Abril, Mayo, Hunyo, Hulyo, Agosto, Setyembre, Oktubre, Nobyembre, Disyembre
shortMonths = Ene, Peb, Mar, Abr, May, Hun, Hul, Ago, Set, Okt, Nob, Dis
standaloneNarrowMonths = E, P, M, A, M, H, H, A, S, O, N, D
standaloneMonths = Enero, Pebrero, Marso, Abril, Mayo, Hunyo, Hulyo, Agosto, Setyembre, Oktubre, Nobyembre, Disyembre
standaloneShortMonths = Ene, Peb, Mar, Abr, May, Hun, Hul, Ago, Set, Okt, Nob, Dis
weekdays = Linggo, Lunes, Martes, Miyerkules, Huwebes, Biyernes, Sabado
shortWeekdays = Lin, Lun, Mar, Miy, Huw, Biy, Sab
narrowWeekdays = L, L, M, M, H, B, S
standaloneWeekdays = Linggo, Lunes, Martes, Miyerkules, Huwebes, Biyernes, Sabado
standaloneShortWeekdays = Lin, Lun, Mar, Miy, Huw, Biy, Sab
standaloneNarrowWeekdays = L, L, M, M, H, B, S
shortQuarters = Q1, Q2, Q3, Q4
quarters = ika-1 quarter, ika-2 quarter, ika-3 quarter, ika-4 na quarter
ampms = AM, PM
dateFormats = EEEE\\, MMMM d\\, y, MMMM d\\, y, MMM d\\, y, M/d/yy
timeFormats = h:mm:ss a zzzz, h:mm:ss a z, h:mm:ss a, h:mm a
dateTimeFormats = {1} 'ng' {0}, {1} 'ng' {0}, {1}\\, {0}, {1}\\, {0}
firstDayOfTheWeek = 1
weekendRange = 7, 1
