ICU-9105 Fix DateTimePatternGenerator for 'U', integrate Chinese cal data updates from cldrbug 4395, update tests
X-SVN-Rev: 31407
diff --git a/icu4c/source/data/locales/en.txt b/icu4c/source/data/locales/en.txt
index f259374..0a2d2d7 100644
--- a/icu4c/source/data/locales/en.txt
+++ b/icu4c/source/data/locales/en.txt
@@ -43,7 +43,7 @@
}
}
}
- Version{"2.0.65.46"}
+ Version{"2.0.65.81"}
calendar{
buddhist{
DateTimePatterns{
@@ -88,6 +88,45 @@
}
}
chinese{
+ DateTimePatterns{
+ "h:mm:ss a zzzz",
+ "h:mm:ss a z",
+ "h:mm:ss a",
+ "h:mm a",
+ "EEEE, MMMM d, U",
+ "MMMM d, U",
+ "MMM d, U",
+ "M/d/yy",
+ "{1} {0}",
+ "{1} {0}",
+ "{1} {0}",
+ "{1} {0}",
+ "{1} {0}",
+ }
+ availableFormats{
+ Ed{"d E"}
+ Hm{"HH:mm"}
+ Hms{"HH:mm:ss"}
+ M{"L"}
+ MEd{"E, M/d"}
+ MMM{"LLL"}
+ MMMEd{"E, MMM d"}
+ MMMd{"MMM d"}
+ Md{"M/d"}
+ d{"d"}
+ hm{"h:mm a"}
+ hms{"h:mm:ss a"}
+ ms{"mm:ss"}
+ y{"U"}
+ yM{"M/y"}
+ yMEd{"E, M/d/y"}
+ yMMM{"MMM U"}
+ yMMMEd{"E, MMM d, U"}
+ yMMMd{"MMM d, U"}
+ yMd{"M/d/y"}
+ yQ{"Q U"}
+ yQQQ{"QQQ U"}
+ }
cyclicNameSets{
zodiacs{
format{
@@ -108,6 +147,87 @@
}
}
}
+ intervalFormats{
+ M{
+ M{"M–M"}
+ }
+ MEd{
+ M{"E, M/d – E, M/d"}
+ d{"E, M/d – E, M/d"}
+ }
+ MMM{
+ M{"MMM–MMM"}
+ }
+ MMMEd{
+ M{"E, MMM d – E, MMM d"}
+ d{"E, MMM d – E, MMM d"}
+ }
+ MMMd{
+ M{"MMM d – MMM d"}
+ d{"MMM d–d"}
+ }
+ Md{
+ M{"M/d – M/d"}
+ d{"M/d – M/d"}
+ }
+ d{
+ d{"d–d"}
+ }
+ fallback{"{0} – {1}"}
+ h{
+ a{"h a – h a"}
+ h{"h–h a"}
+ }
+ hm{
+ a{"h:mm a – h:mm a"}
+ h{"h:mm–h:mm a"}
+ m{"h:mm–h:mm a"}
+ }
+ hmv{
+ a{"h:mm a – h:mm a v"}
+ h{"h:mm–h:mm a v"}
+ m{"h:mm–h:mm a v"}
+ }
+ hv{
+ a{"h a – h a v"}
+ h{"h–h a v"}
+ }
+ y{
+ y{"U – U"}
+ }
+ yM{
+ M{"M/yy – M/yy"}
+ y{"M/yy – M/yy"}
+ }
+ yMEd{
+ M{"E, M/d/yy – E, M/d/yy"}
+ d{"E, M/d/yy – E, M/d/yy"}
+ y{"E, M/d/yy – E, M/d/yy"}
+ }
+ yMMM{
+ M{"MMM–MMM U"}
+ y{"MMM U – MMM U"}
+ }
+ yMMMEd{
+ M{"E, MMM d – E, MMM d, U"}
+ d{"E, MMM d – E, MMM d, U"}
+ y{"E, MMM d, U – E, MMM d, U"}
+ }
+ yMMMM{
+ M{"MMMM–MMMM U"}
+ y{"MMMM U – MMMM U"}
+ }
+ yMMMd{
+ M{"MMM d – MMM d, U"}
+ d{"MMM d–d, U"}
+ y{"MMM d, U – MMM d, U"}
+ }
+ yMd{
+ M{"M/d/yy – M/d/yy"}
+ d{"M/d/yy – M/d/yy"}
+ y{"M/d/yy – M/d/yy"}
+ }
+ }
}
gregorian{
AmPmMarkers{
diff --git a/icu4c/source/data/locales/fr.txt b/icu4c/source/data/locales/fr.txt
index 46771d9..0dc2bb3 100644
--- a/icu4c/source/data/locales/fr.txt
+++ b/icu4c/source/data/locales/fr.txt
@@ -43,7 +43,7 @@
}
}
}
- Version{"2.0.65.46"}
+ Version{"2.0.65.81"}
calendar{
buddhist{
DateTimePatterns{
@@ -130,14 +130,15 @@
MMMd{"d MMM"}
Md{"d/M"}
ms{"mm:ss"}
- y{"y"}
+ y{"U"}
yM{"M/y"}
yMEd{"E d/M/y"}
- yMMM{"MMM y"}
- yMMMEd{"E d MMM y"}
- yMMMd{"d MMM y"}
- yQ{"'T'Q y"}
- yQQQ{"QQQ y"}
+ yMMM{"MMM U"}
+ yMMMEd{"E d MMM U"}
+ yMMMd{"d MMM U"}
+ yMd{"d/M/y"}
+ yQ{"'T'Q U"}
+ yQQQ{"QQQ U"}
}
monthNames{
format{
diff --git a/icu4c/source/data/locales/ja.txt b/icu4c/source/data/locales/ja.txt
index c429c60..ca72482 100644
--- a/icu4c/source/data/locales/ja.txt
+++ b/icu4c/source/data/locales/ja.txt
@@ -92,7 +92,7 @@
native{"latn"}
traditional{"jpan"}
}
- Version{"2.0.65.46"}
+ Version{"2.0.65.81"}
calendar{
buddhist{
DateTimePatterns{
@@ -163,7 +163,7 @@
"U年MMMd日",
"hanidec",
}
- "U-M-d",
+ "U/M/d",
"{1} {0}",
"{1} {0}",
"{1} {0}",
@@ -173,17 +173,20 @@
availableFormats{
Ed{"d日(E)"}
M{"MMM"}
- MEd{"M-d(E)"}
- MMMEd{"M月d日(E)"}
- MMMd{"M月d日"}
+ MEd{"M/d(E)"}
+ MMMEd{"MMMd日(E)"}
+ MMMd{"MMMd日"}
+ Md{"M/d"}
d{"d日"}
y{"U年"}
yM{"U年M月"}
yMEd{"U年M月d日(E)"}
- yMMM{"U年M月"}
- yMMMEd{"U年M月d日(E)"}
- yMMMd{"U年M月d日"}
+ yMMM{"U年MMM"}
+ yMMMEd{"U年MMMd日(E)"}
+ yMMMd{"U年MMMd日"}
yMd{"U年M月d日"}
+ yQ{"U/Q"}
+ yQQQ{"UQQQ"}
}
cyclicNameSets{
dayParts{
@@ -289,6 +292,108 @@
}
}
}
+ intervalFormats{
+ H{
+ H{"H時~H時"}
+ a{"H時~H時"}
+ }
+ Hm{
+ H{"H時mm分~H時mm分"}
+ a{"H時mm分~H時mm分"}
+ m{"H時mm分~H時mm分"}
+ }
+ Hmv{
+ H{"H時mm分~H時mm分(v)"}
+ a{"H時mm分~H時mm分(v)"}
+ m{"H時mm分~H時mm分(v)"}
+ }
+ Hv{
+ H{"H時~H時(v)"}
+ a{"H時~H時(v)"}
+ }
+ M{
+ M{"M月~M月"}
+ }
+ MEd{
+ M{"MM/dd(E)~MM/dd(E)"}
+ d{"MM/dd(E)~MM/dd(E)"}
+ }
+ MMM{
+ M{"MMM~MMM"}
+ }
+ MMMEd{
+ M{"MMMd日(E)~MMMd日(E)"}
+ d{"MMMd日(E)~d日(E)"}
+ }
+ MMMM{
+ M{"MMMM~MMMM"}
+ }
+ MMMd{
+ M{"MMMd日~MMMd日"}
+ d{"MMMd日~d日"}
+ }
+ Md{
+ M{"MM/dd~MM/dd"}
+ d{"MM/dd~MM/dd"}
+ }
+ d{
+ d{"d日~d日"}
+ }
+ fallback{"{0}~{1}"}
+ h{
+ a{"aK時~aK時"}
+ h{"aK時~K時"}
+ }
+ hm{
+ a{"aK時mm分~aK時mm分"}
+ h{"aK時mm分~K時mm分"}
+ m{"aK時mm分~K時mm分"}
+ }
+ hmv{
+ a{"aK時mm分~aK時mm分(v)"}
+ h{"aK時mm分~K時mm分(v)"}
+ m{"aK時mm分~K時mm分(v)"}
+ }
+ hv{
+ a{"aK時~aK時(v)"}
+ h{"aK時~K時(v)"}
+ }
+ y{
+ y{"U年~U年"}
+ }
+ yM{
+ M{"U/MM~U/MM"}
+ y{"U/MM~U/MM"}
+ }
+ yMEd{
+ M{"U/MM/dd(E)~U/MM/dd(E)"}
+ d{"U/MM/dd(E)~U/MM/dd(E)"}
+ y{"U/MM/dd(E)~U/MM/dd(E)"}
+ }
+ yMMM{
+ M{"U年MMM~MMM"}
+ y{"U年MMM~U年MMM"}
+ }
+ yMMMEd{
+ M{"U年MMMd日(E)~MMMd日(E)"}
+ d{"U年MMMd日(E)~d日(E)"}
+ y{"U年MMMd日(E)~U年MMMd日(E)"}
+ }
+ yMMMM{
+ M{"U年MMM~MMM"}
+ y{"U年MMM~U年MMM"}
+ }
+ yMMMd{
+ M{"U年MMMd日~MMMd日"}
+ d{"U年MMMd日~d日"}
+ y{"U年MMMd日~U年MMMd日"}
+ }
+ yMd{
+ M{"U/MM/dd~U/MM/dd"}
+ d{"U/MM/dd~U/MM/dd"}
+ y{"U/MM/dd~U/MM/dd"}
+ }
+ }
monthNames{
format{
wide{
diff --git a/icu4c/source/data/locales/ko.txt b/icu4c/source/data/locales/ko.txt
index 92b48ee..34e2c0a 100644
--- a/icu4c/source/data/locales/ko.txt
+++ b/icu4c/source/data/locales/ko.txt
@@ -61,7 +61,7 @@
}
}
}
- Version{"2.0.65.46"}
+ Version{"2.0.65.81"}
calendar{
buddhist{
DateTimePatterns{
@@ -111,7 +111,7 @@
yMd{"G y. M. d."}
yQ{"G y년 Q분기"}
yQQQ{"G y년 QQQ"}
- yyMM{"G YY. M."}
+ yyMM{"G yy. M."}
yyMMM{"G y년 MMM"}
yyQ{"G y년 Q분기"}
yyyyMM{"G y. MM"}
@@ -138,6 +138,33 @@
"{1} {0}",
"{1} {0}",
}
+ availableFormats{
+ EEEEd{"d일 EEEE"}
+ Ed{"d일 (E)"}
+ H{"H시"}
+ Hms{"H시 m분 s초"}
+ M{"M월"}
+ MEEEEd{"M. d. EEEE"}
+ MEd{"M. d. (E)"}
+ MMM{"LLL"}
+ MMMEd{"MMM d일 (E)"}
+ MMMd{"MMM d일"}
+ Md{"M. d."}
+ d{"d일"}
+ h{"a h시"}
+ hm{"a h:mm"}
+ hms{"a h:mm:ss"}
+ y{"U년"}
+ yM{"U. M."}
+ yMEd{"U. M. d. (E)"}
+ yMMM{"U년 MMM"}
+ yMMMEEEEd{"U년 MMM d일 EEEE"}
+ yMMMEd{"U년 MMM d일 (E)"}
+ yMMMd{"U년 MMM d일"}
+ yMd{"U. M. d."}
+ yQ{"U년 Q분기"}
+ yQQQ{"U년 QQQ"}
+ }
cyclicNameSets{
years{
format{
@@ -566,7 +593,7 @@
mmss{"mm:ss"}
ms{"mm:ss"}
y{"G yy년"}
- yyMM{"G YY. M."}
+ yyMM{"G yy. M."}
yyMMM{"G yy년 MMM"}
yyQ{"G yy년 Q분기"}
yyyy{"G yy년"}
@@ -858,7 +885,7 @@
hms{"a h:mm:ss"}
mmss{"mm:ss"}
ms{"mm:ss"}
- yyMM{"G YY. M."}
+ yyMM{"G yy. M."}
yyMMM{"G yy년 MMM"}
yyQ{"G y년 Q분기"}
yyyy{"G yy년"}
diff --git a/icu4c/source/data/locales/root.txt b/icu4c/source/data/locales/root.txt
index b04be7b..3811c0b 100644
--- a/icu4c/source/data/locales/root.txt
+++ b/icu4c/source/data/locales/root.txt
@@ -74,7 +74,7 @@
297,
210,
}
- Version{"2.0.65.49"}
+ Version{"2.0.65.81"}
calendar{
buddhist{
AmPmMarkers:alias{"/LOCALE/calendar/gregorian/AmPmMarkers"}
@@ -162,8 +162,45 @@
"{1} {0}",
"{1} {0}",
}
- appendItems:alias{"/LOCALE/calendar/gregorian/appendItems"}
- availableFormats:alias{"/LOCALE/calendar/gregorian/availableFormats"}
+ appendItems{
+ Day{"{0} ({2}: {1})"}
+ Day-Of-Week{"{0} {1}"}
+ Era{"{0} {1}"}
+ Hour{"{0} ({2}: {1})"}
+ Minute{"{0} ({2}: {1})"}
+ Month{"{0} ({2}: {1})"}
+ Quarter{"{0} ({2}: {1})"}
+ Second{"{0} ({2}: {1})"}
+ Timezone{"{0} {1}"}
+ Week{"{0} ({2}: {1})"}
+ Year{"{0} {1}"}
+ }
+ availableFormats{
+ Ed{"d E"}
+ H{"HH"}
+ Hm{"HH:mm"}
+ Hms{"HH:mm:ss"}
+ M{"L"}
+ MEd{"E, M-d"}
+ MMM{"LLL"}
+ MMMEd{"E MMM d"}
+ MMMd{"MMM d"}
+ Md{"M-d"}
+ d{"d"}
+ h{"h a"}
+ hm{"h:mm a"}
+ hms{"h:mm:ss a"}
+ ms{"mm:ss"}
+ y{"U"}
+ yM{"y-M"}
+ yMEd{"E, y-M-d"}
+ yMMM{"U MMM"}
+ yMMMEd{"E, U MMM d"}
+ yMMMd{"U MMM d"}
+ yMd{"y-M-d"}
+ yQ{"U Q"}
+ yQQQ{"U QQQ"}
+ }
cyclicNameSets{
dayParts{
format{
@@ -258,7 +295,105 @@
zodiacs:alias{"/LOCALE/calendar/chinese/cyclicNameSets/dayParts"}
}
dayNames:alias{"/LOCALE/calendar/gregorian/dayNames"}
- intervalFormats:alias{"/LOCALE/calendar/gregorian/intervalFormats"}
+ intervalFormats{
+ H{
+ H{"HH–HH"}
+ a{"HH–HH"}
+ }
+ Hm{
+ H{"HH:mm–HH:mm"}
+ a{"HH:mm–HH:mm"}
+ m{"HH:mm–HH:mm"}
+ }
+ Hmv{
+ H{"HH:mm–HH:mm v"}
+ a{"HH:mm–HH:mm v"}
+ m{"HH:mm–HH:mm v"}
+ }
+ Hv{
+ H{"HH–HH v"}
+ a{"HH–HH v"}
+ }
+ M{
+ M{"M–M"}
+ }
+ MEd{
+ M{"E, MM-dd – E, MM-dd"}
+ d{"E, MM-dd – E, MM-dd"}
+ }
+ MMM{
+ M{"LLL–LLL"}
+ }
+ MMMEd{
+ M{"E, MM-d – E, MM-d"}
+ d{"E, MM-d – E, MM-d"}
+ }
+ MMMd{
+ M{"MM-d – MM-d"}
+ d{"MM-d – d"}
+ }
+ Md{
+ M{"MM-dd – MM-dd"}
+ d{"MM-dd – dd"}
+ }
+ d{
+ d{"d–d"}
+ }
+ fallback{"{0} – {1}"}
+ h{
+ a{"h a – h a"}
+ h{"h–h a"}
+ }
+ hm{
+ a{"h:mm a – h:mm a"}
+ h{"h:mm–h:mm a"}
+ m{"h:mm–h:mm a"}
+ }
+ hmv{
+ a{"h:mm a – h:mm a v"}
+ h{"h:mm–h:mm a v"}
+ m{"h:mm–h:mm a v"}
+ }
+ hv{
+ a{"h a – h a v"}
+ h{"h–h a v"}
+ }
+ y{
+ y{"y–y"}
+ }
+ yM{
+ M{"y-MM – MM"}
+ y{"y-MM – y-MM"}
+ }
+ yMEd{
+ M{"E, y-MM-dd – E, y-MM-dd"}
+ d{"E, y-MM-dd – E, y-MM-dd"}
+ y{"E, y-MM-dd – E, y-MM-dd"}
+ }
+ yMMM{
+ M{"U MMM – MMM"}
+ y{"U MMM – U MMM"}
+ }
+ yMMMEd{
+ M{"E, U MMM-d – E, U MMM-d"}
+ d{"E, U MMM-d – E, U MMM-d"}
+ y{"E, U MMM-d – E, U MMM-d"}
+ }
+ yMMMM{
+ M{"U MMMM – MMMM"}
+ y{"U MMMM – U MMMM"}
+ }
+ yMMMd{
+ M{"U MMM-d – MMM-d"}
+ d{"U MMM-d – d"}
+ y{"U MMM-d – U MMM-d"}
+ }
+ yMd{
+ M{"y-MM-dd – MM-dd"}
+ d{"y-MM-dd – dd"}
+ y{"y-MM-dd – y-MM-dd"}
+ }
+ }
monthNames{
default{"format"}
format{
diff --git a/icu4c/source/data/locales/zh.txt b/icu4c/source/data/locales/zh.txt
index 70cd94c..e2c2123 100644
--- a/icu4c/source/data/locales/zh.txt
+++ b/icu4c/source/data/locales/zh.txt
@@ -90,7 +90,7 @@
native{"hanidec"}
traditional{"hans"}
}
- Version{"2.0.65.46"}
+ Version{"2.0.65.81"}
calendar{
buddhist{
DateTimePatterns{
@@ -171,18 +171,21 @@
}
availableFormats{
Ed{"d日E"}
- M{"M月"}
+ M{"MMM"}
MEd{"M-dE"}
- MMMEd{"M月d日E"}
- MMMd{"M月d日"}
+ MMMEd{"MMMd日E"}
+ MMMd{"MMMd日"}
+ Md{"M-d"}
d{"d日"}
y{"U年"}
yM{"U年M月"}
yMEd{"U年M月d日,E"}
- yMMM{"U年M月"}
- yMMMEd{"U年M月d日E"}
- yMMMd{"U年M月d日"}
+ yMMM{"U年MMM"}
+ yMMMEd{"U年MMMd日E"}
+ yMMMd{"U年MMMd日"}
yMd{"U年M月d日"}
+ yQ{"U年QQQ"}
+ yQQQ{"U年QQQ"}
}
cyclicNameSets{
dayParts{
@@ -288,6 +291,91 @@
}
}
}
+ intervalFormats{
+ Hv{
+ H{"HH–HH v"}
+ a{"HH–HH v"}
+ }
+ M{
+ M{"L至L"}
+ }
+ MEd{
+ M{"M-dE至M-dE"}
+ d{"M-dE至M-dE"}
+ }
+ MMM{
+ M{"LLL至LLL"}
+ }
+ MMMEd{
+ M{"MMMd日E至MMMd日E"}
+ d{"MMMd日E至d日E"}
+ }
+ MMMd{
+ M{"MMMd日至MMMd日"}
+ d{"MMMd日至d日"}
+ }
+ Md{
+ M{"M-d至M-d"}
+ d{"M-d至M-d"}
+ }
+ d{
+ d{"d日至d日"}
+ }
+ fallback{"{0}–{1}"}
+ h{
+ a{"ah至ah时"}
+ h{"ah至h时"}
+ }
+ hm{
+ a{"ah:mm至ah:mm"}
+ h{"ah:mm至h:mm"}
+ m{"ah:mm至h:mm"}
+ }
+ hmv{
+ a{"vah:mm至ah:mm"}
+ h{"vah:mm至h:mm"}
+ m{"vah:mm至h:mm"}
+ }
+ hv{
+ a{"vah至ah时"}
+ h{"vah至h时"}
+ }
+ y{
+ y{"U至U"}
+ }
+ yM{
+ M{"U-M至U-M"}
+ y{"U-M至U-M"}
+ }
+ yMEd{
+ M{"U-M-dE至U-M-dE"}
+ d{"U-M-dE至U-M-dE"}
+ y{"U-M-dE至U-M-dE"}
+ }
+ yMMM{
+ M{"U年MMM至MMM"}
+ y{"U年MMM至U年MMM"}
+ }
+ yMMMEd{
+ M{"U年MMMd日E至MMMd日E"}
+ d{"U年MMMd日E至d日E"}
+ y{"U年MMMd日E至U年MMMd日E"}
+ }
+ yMMMM{
+ M{"U年MMMM至MMMM"}
+ y{"U年MMMM至U年MMMM"}
+ }
+ yMMMd{
+ M{"U年MMMd日至MMMd日"}
+ d{"U年MMMd日至d日"}
+ y{"U年MMMd日至U年MMMd日"}
+ }
+ yMd{
+ M{"U-M-d至U-M-d"}
+ d{"U-M-d至U-M-d"}
+ y{"U-M-d至U-M-d"}
+ }
+ }
monthNames{
format{
wide{
diff --git a/icu4c/source/data/locales/zh_Hant.txt b/icu4c/source/data/locales/zh_Hant.txt
index bda4811..411626e 100644
--- a/icu4c/source/data/locales/zh_Hant.txt
+++ b/icu4c/source/data/locales/zh_Hant.txt
@@ -88,7 +88,7 @@
native{"hanidec"}
traditional{"hant"}
}
- Version{"2.0.65.46"}
+ Version{"2.0.65.81"}
calendar{
buddhist{
DateTimePatterns{
@@ -162,7 +162,7 @@
"U年MMMd日",
"hanidec",
}
- "U-M-d",
+ "U/M/d",
"{1} {0}",
"{1}{0}",
"{1}{0}",
@@ -171,18 +171,21 @@
}
availableFormats{
Ed{"d日E"}
- M{"M月"}
- MEd{"M-dE"}
- MMMEd{"M月d日E"}
- MMMd{"M月d日"}
+ M{"MMM"}
+ MEd{"M/dE"}
+ MMMEd{"MMMd日E"}
+ MMMd{"MMMd日"}
+ Md{"M/d"}
d{"d日"}
y{"U年"}
yM{"U年M月"}
yMEd{"U年M月d日,E"}
- yMMM{"U年M月"}
- yMMMEd{"U年M月d日E"}
- yMMMd{"U年M月d日"}
+ yMMM{"U年MMM"}
+ yMMMEd{"U年MMMd日E"}
+ yMMMd{"U年MMMd日"}
yMd{"U年M月d日"}
+ yQ{"U年QQQ"}
+ yQQQ{"U年QQQ"}
}
cyclicNameSets{
dayParts{
@@ -288,6 +291,99 @@
}
}
}
+ intervalFormats{
+ Hmv{
+ H{"HH:mm–HH:mm [v]"}
+ a{"HH:mm–HH:mm [v]"}
+ m{"HH:mm–HH:mm [v]"}
+ }
+ Hv{
+ H{"HH–HH [v]"}
+ a{"HH–HH [v]"}
+ }
+ M{
+ M{"M月至M月"}
+ }
+ MEd{
+ M{"M/dE至M/dE"}
+ d{"M/dE至M/dE"}
+ }
+ MMM{
+ M{"LLL至LLL"}
+ }
+ MMMEd{
+ M{"MMMd日E至MMMd日E"}
+ d{"MMMd日E至d日E"}
+ }
+ MMMM{
+ M{"LLLL至LLLL"}
+ }
+ MMMd{
+ M{"MMMd日至MMMd日"}
+ d{"MMMd日至d日"}
+ }
+ Md{
+ M{"M/d至M/d"}
+ d{"M/d至M/d"}
+ }
+ d{
+ d{"d日至d日"}
+ }
+ fallback{"{0}至{1}"}
+ h{
+ a{"ah時至ah時"}
+ h{"ah時至h時"}
+ }
+ hm{
+ a{"ah:mm至ah:mm"}
+ h{"ah:mm至h:mm"}
+ m{"ah:mm至h:mm"}
+ }
+ hmv{
+ a{"ah:mm至ah:mm [v]"}
+ h{"ah:mm至h:mm [v]"}
+ m{"ah:mm至h:mm [v]"}
+ }
+ hv{
+ a{"ah時至ah時 [v]"}
+ h{"ah時至h時 [v]"}
+ }
+ y{
+ y{"U至U"}
+ }
+ yM{
+ M{"U/M至U/M"}
+ y{"U/M至U/M"}
+ }
+ yMEd{
+ M{"U/M/dE至U/M/dE"}
+ d{"U/M/dE至U/M/dE"}
+ y{"U/M/dE至U/M/dE"}
+ }
+ yMMM{
+ M{"U年MMM至MMM"}
+ y{"U年MMM至U年MMM"}
+ }
+ yMMMEd{
+ M{"U年MMMd日E至MMMd日E"}
+ d{"U年MMMd日E至d日E"}
+ y{"U年MMMd日E至U年MMMd日E"}
+ }
+ yMMMM{
+ M{"U年MMMM至MMMM"}
+ y{"U年MMMM至U年MMMM"}
+ }
+ yMMMd{
+ M{"U年MMMd日至MMMd日"}
+ d{"U年MMMd日至d日"}
+ y{"U年MMMd日至U年MMMd日"}
+ }
+ yMd{
+ M{"U/M/d至U/M/d"}
+ d{"U/M/d至U/M/d"}
+ y{"U/M/d至U/M/d"}
+ }
+ }
monthNames{
format{
wide{
diff --git a/icu4c/source/i18n/dtptngen.cpp b/icu4c/source/i18n/dtptngen.cpp
index 8717db0..c640d84 100644
--- a/icu4c/source/i18n/dtptngen.cpp
+++ b/icu4c/source/i18n/dtptngen.cpp
@@ -1030,8 +1030,8 @@
//
// The adjusted field should consist of characters from the originally requested
// skeleton, except in the case of UDATPG_HOUR_FIELD or UDATPG_MONTH_FIELD or
- // UDATPG_WEEKDAY_FIELD, in which case it should consist of characters from the
- // found pattern.
+ // UDATPG_WEEKDAY_FIELD or UDATPG_YEAR_FIELD, in which case it should consist
+ // of characters from the found pattern.
//
// The length of the adjusted field (adjFieldLen) should match that in the originally
// requested skeleton, except that in the following cases the length of the adjusted field
@@ -1064,7 +1064,8 @@
adjFieldLen = field.length();
}
}
- UChar c = (typeValue!= UDATPG_HOUR_FIELD && typeValue!= UDATPG_MONTH_FIELD && typeValue!= UDATPG_WEEKDAY_FIELD)?
+ UChar c = (typeValue!= UDATPG_HOUR_FIELD && typeValue!= UDATPG_MONTH_FIELD &&
+ typeValue!= UDATPG_WEEKDAY_FIELD && typeValue!= UDATPG_YEAR_FIELD)?
reqField.charAt(0): field.charAt(0);
field.remove();
for (int32_t i=adjFieldLen; i>0; --i) {
diff --git a/icu4c/source/test/intltest/dtfmttst.cpp b/icu4c/source/test/intltest/dtfmttst.cpp
index f8b1817..23e3de0 100644
--- a/icu4c/source/test/intltest/dtfmttst.cpp
+++ b/icu4c/source/test/intltest/dtfmttst.cpp
@@ -3737,8 +3737,8 @@
{ "root@calendar=chinese", -3, { UnicodeString("ren-chen-4-2"), UnicodeString("ren-chen-4bis-2"), UnicodeString("ren-chen-5-2") } },
{ "root@calendar=chinese", -4, { UnicodeString("ren-chen 4 2"), UnicodeString("ren-chen 4bis 2"), UnicodeString("ren-chen 5 2") } },
{ "en@calendar=gregorian", -3, { UnicodeString("2012-4-22"), UnicodeString("2012-5-22"), UnicodeString("2012-6-20") } },
- { "en@calendar=chinese", DateFormat::kLong, { UnicodeString("ren-chen 4 2"), UnicodeString("ren-chen 4bis 2"), UnicodeString("ren-chen 5 2") } },
- { "en@calendar=chinese", DateFormat::kShort, { UnicodeString("29-4-2"), UnicodeString("29-4bis-2"), UnicodeString("29-5-2") } },
+ { "en@calendar=chinese", DateFormat::kLong, { UnicodeString("4 2, ren-chen"), UnicodeString("4bis 2, ren-chen"), UnicodeString("5 2, ren-chen") } },
+ { "en@calendar=chinese", DateFormat::kShort, { UnicodeString("4/2/29"), UnicodeString("4bis/2/29"), UnicodeString("5/2/29") } },
{ "zh@calendar=chinese", DateFormat::kLong, { CharsToUnicodeString("\\u58EC\\u8FB0\\u5E74\\u56DB\\u6708\\u4E8C\\u65E5"),
CharsToUnicodeString("\\u58EC\\u8FB0\\u5E74\\u95F0\\u56DB\\u6708\\u4E8C\\u65E5"),
CharsToUnicodeString("\\u58EC\\u8FB0\\u5E74\\u4E94\\u6708\\u4E8C\\u65E5") } },
@@ -3754,9 +3754,9 @@
{ "zh_Hant@calendar=chinese", DateFormat::kLong, { CharsToUnicodeString("\\u58EC\\u8FB0\\u5E74\\u56DB\\u6708\\u4E8C\\u65E5"),
CharsToUnicodeString("\\u58EC\\u8FB0\\u5E74\\u958F\\u56DB\\u6708\\u4E8C\\u65E5"),
CharsToUnicodeString("\\u58EC\\u8FB0\\u5E74\\u4E94\\u6708\\u4E8C\\u65E5") } },
- { "zh_Hant@calendar=chinese", DateFormat::kShort, { CharsToUnicodeString("\\u58EC\\u8FB0-4-2"),
- CharsToUnicodeString("\\u58EC\\u8FB0-\\u958F4-2"),
- CharsToUnicodeString("\\u58EC\\u8FB0-5-2") } },
+ { "zh_Hant@calendar=chinese", DateFormat::kShort, { CharsToUnicodeString("\\u58EC\\u8FB0/4/2"),
+ CharsToUnicodeString("\\u58EC\\u8FB0/\\u958F4/2"),
+ CharsToUnicodeString("\\u58EC\\u8FB0/5/2") } },
{ "fr@calendar=chinese", DateFormat::kLong, { CharsToUnicodeString("2 s\\u00ECyu\\u00E8 ren-chen"),
CharsToUnicodeString("2 s\\u00ECyu\\u00E8bis ren-chen"),
CharsToUnicodeString("2 w\\u01D4yu\\u00E8 ren-chen") } },
diff --git a/icu4c/source/test/intltest/dtptngts.cpp b/icu4c/source/test/intltest/dtptngts.cpp
index ab804ff..4b3a07b 100644
--- a/icu4c/source/test/intltest/dtptngts.cpp
+++ b/icu4c/source/test/intltest/dtptngts.cpp
@@ -33,7 +33,7 @@
}
}
-#define MAX_LOCALE 10
+#define MAX_LOCALE 11
/**
* Test various generic API methods of DateTimePatternGenerator for API coverage.
@@ -71,6 +71,7 @@
{"zh", "Hans", "CN", ""}, // 7
{"zh", "TW", "", "calendar=roc"}, // 8
{"ru", "", "", ""}, // 9
+ {"zh", "", "", "calendar=chinese"}, // 10
};
// For Weds, Jan 13, 1999, 23:58:59
@@ -255,6 +256,24 @@
CharsToUnicodeString("\\u0421\\u0440, 13"), // 14: Ed -> EEE, d
UnicodeString("23:58:59,123"), // 15: jmmssSSS -> "H:mm:ss,SSS"
+ // zh@calendar=chinese // 10 zh@calendar=chinese
+ CharsToUnicodeString("\\u620A\\u5BC5\\u5E7411\\u6708"), // 00: yM
+ CharsToUnicodeString("\\u620A\\u5BC5\\u5E74\\u5341\\u4E00\\u6708"), // 01: yMMM
+ CharsToUnicodeString("\\u620A\\u5BC5\\u5E7411\\u670826\\u65E5"), // 02: yMd
+ CharsToUnicodeString("\\u620A\\u5BC5\\u5E74\\u5341\\u4E00\\u670826\\u65E5"), // 03: yMMMd
+ UnicodeString("11-26"), // 04: Md
+ CharsToUnicodeString("\\u5341\\u4E00\\u670826\\u65E5"), // 05: MMMd
+ CharsToUnicodeString("\\u5341\\u4E00\\u670826\\u65E5"), // 06: MMMMd
+ CharsToUnicodeString("\\u620A\\u5BC5\\u5E744\\u5B63"), // 07: yQQQ
+ CharsToUnicodeString("\\u4E0B\\u534811:58"), // 08: hhmm
+ UnicodeString("23:58"), // 09: HHmm
+ CharsToUnicodeString("\\u4E0B\\u534811:58"), // 10: jjmm
+ UnicodeString("58:59"), // 11: mmss
+ CharsToUnicodeString("\\u620A\\u5BC5\\u5E74\\u5341\\u4E00\\u6708"), // 12: yyyyMMMM
+ CharsToUnicodeString("\\u5341\\u4E00\\u670826\\u65E5\\u5468\\u4E09"), // 13: MMMEd
+ CharsToUnicodeString("26\\u65E5\\u5468\\u4E09"), // 14: Ed -> d\u65E5EEE
+ CharsToUnicodeString("\\u4E0B\\u534811:58:59.123"), // 15: jmmssSS
+
UnicodeString(),
};