# 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 = GM, M
eraNames = Gabanin Miladi, Miladi
narrowMonths = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
months = Pen Dyon, Pen Ba'a, Pen Atat, Pen Anas, Pen Atyon, Pen Achirim, Pen Atariba, Pen Awurr, Pen Shadon, Pen Shakur, Pen Kur Naba, Pen Kur Natat
shortMonths = Dyon, Baa, Atat, Anas, Atyo, Achi, Atar, Awur, Shad, Shak, Naba, Nata
standaloneNarrowMonths = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
standaloneMonths = Pen Dyon, Pen Ba'a, Pen Atat, Pen Anas, Pen Atyon, Pen Achirim, Pen Atariba, Pen Awurr, Pen Shadon, Pen Shakur, Pen Kur Naba, Pen Kur Natat
standaloneShortMonths = Dyon, Baa, Atat, Anas, Atyo, Achi, Atar, Awur, Shad, Shak, Naba, Nata
weekdays = Wai Yoka Bawai, Wai Tunga, Toki Gitung, Tsam Kasuwa, Wai Na Nas, Wai Na Tiyon, Wai Na Chirim
shortWeekdays = Yok, Tung, T. Tung, Tsan, Nas, Nat, Chir
narrowWeekdays = 1, 2, 3, 4, 5, 6, 7
standaloneWeekdays = Wai Yoka Bawai, Wai Tunga, Toki Gitung, Tsam Kasuwa, Wai Na Nas, Wai Na Tiyon, Wai Na Chirim
standaloneShortWeekdays = Yok, Tung, T. Tung, Tsan, Nas, Nat, Chir
standaloneNarrowWeekdays = 1, 2, 3, 4, 5, 6, 7
shortQuarters = Q1, Q2, Q3, Q4
quarters = Q1, Q2, Q3, Q4
ampms = AM, PM
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
