diff --git a/make/data/cldr/common/dtd/ldml.dtd b/make/data/cldr/common/dtd/ldml.dtd
index aebedd33a43..b4247f2d924 100644
--- a/make/data/cldr/common/dtd/ldml.dtd
+++ b/make/data/cldr/common/dtd/ldml.dtd
@@ -1,5 +1,5 @@
-
+
@@ -493,6 +493,16 @@ CLDR data files are interpreted according to the LDML specification (http://unic
+
+
+
+
+
+
+
+
+
+
diff --git a/make/data/cldr/common/main/aa.xml b/make/data/cldr/common/main/aa.xml
index 3ff6fb6dd06..791c3009658 100644
--- a/make/data/cldr/common/main/aa.xml
+++ b/make/data/cldr/common/main/aa.xml
@@ -1,6 +1,6 @@
-
@@ -1027,6 +1027,7 @@ For terms of use, see http://www.unicode.org/copyright.html
+
diff --git a/make/data/cldr/common/supplemental/likelySubtags.xml b/make/data/cldr/common/supplemental/likelySubtags.xml
index 76e215255fd..a73b8a8c95b 100644
--- a/make/data/cldr/common/supplemental/likelySubtags.xml
+++ b/make/data/cldr/common/supplemental/likelySubtags.xml
@@ -1,7 +1,7 @@
-
+
@@ -1343,7 +1343,7 @@ not be patched by hand, as any changes made in that fashion may be lost.
-
+
diff --git a/make/data/cldr/common/supplemental/metaZones.xml b/make/data/cldr/common/supplemental/metaZones.xml
index 710934fef81..610921a8f6d 100644
--- a/make/data/cldr/common/supplemental/metaZones.xml
+++ b/make/data/cldr/common/supplemental/metaZones.xml
@@ -735,7 +735,7 @@ For terms of use, see http://www.unicode.org/copyright.html
-
+
diff --git a/make/data/cldr/common/supplemental/supplementalData.xml b/make/data/cldr/common/supplemental/supplementalData.xml
index 25684d36c6e..cbfe2c5e875 100644
--- a/make/data/cldr/common/supplemental/supplementalData.xml
+++ b/make/data/cldr/common/supplemental/supplementalData.xml
@@ -1,7 +1,7 @@
@@ -57,7 +57,7 @@ For terms of use, see https://www.unicode.org/copyright.html
-
+
@@ -3147,7 +3147,7 @@ XXX Code for transations where no currency is involved
-
+
diff --git a/src/java.base/share/classes/java/util/spi/LocaleServiceProvider.java b/src/java.base/share/classes/java/util/spi/LocaleServiceProvider.java
index abb9f3aca38..e357665ed3c 100644
--- a/src/java.base/share/classes/java/util/spi/LocaleServiceProvider.java
+++ b/src/java.base/share/classes/java/util/spi/LocaleServiceProvider.java
@@ -184,8 +184,8 @@ import java.util.Locale;
* | CLDR version |
*
*
- * | JDK 26 |
- * CLDR 48 |
+ * | JDK 27 |
+ * CLDR 48.2 |
* | JDK 25 |
* CLDR 47 |
* | JDK 21 |
@@ -208,6 +208,8 @@ import java.util.Locale;
* CLDR version |
*
*
+ * | JDK 26 |
+ * CLDR 48 |
* | JDK 24 |
* CLDR 46 |
* | JDK 23 |
diff --git a/src/java.base/share/legal/cldr.md b/src/java.base/share/legal/cldr.md
index 6e609f35302..7423d3492f5 100644
--- a/src/java.base/share/legal/cldr.md
+++ b/src/java.base/share/legal/cldr.md
@@ -1,4 +1,4 @@
-## Unicode Common Local Data Repository (CLDR) v48
+## Unicode Common Local Data Repository (CLDR) v48.2
### CLDR License
diff --git a/src/jdk.localedata/share/legal/cldr.md b/src/jdk.localedata/share/legal/cldr.md
index 6e609f35302..7423d3492f5 100644
--- a/src/jdk.localedata/share/legal/cldr.md
+++ b/src/jdk.localedata/share/legal/cldr.md
@@ -1,4 +1,4 @@
-## Unicode Common Local Data Repository (CLDR) v48
+## Unicode Common Local Data Repository (CLDR) v48.2
### CLDR License
diff --git a/test/jdk/java/text/Format/NumberFormat/CurrencyFormat.java b/test/jdk/java/text/Format/NumberFormat/CurrencyFormat.java
index 6d7a906e394..c4113e9662f 100644
--- a/test/jdk/java/text/Format/NumberFormat/CurrencyFormat.java
+++ b/test/jdk/java/text/Format/NumberFormat/CurrencyFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2025, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2026, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -24,28 +24,17 @@
/*
* @test
* @bug 4290801 4942982 5102005 8008577 8021121 8210153 8227313 8301991
- * 8174269
+ * 8174269 8371842
* @summary Basic tests for currency formatting.
* Tests both COMPAT and CLDR data.
* @modules jdk.localedata
* @run junit CurrencyFormat
*/
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.nio.charset.StandardCharsets;
-import java.text.ParseException;
import java.util.ArrayList;
import java.util.Currency;
import java.util.Locale;
-import java.util.Properties;
-import java.util.StringTokenizer;
-import java.util.TimeZone;
-import java.text.DecimalFormatSymbols;
import java.text.NumberFormat;
-import java.text.SimpleDateFormat;
import java.util.stream.Stream;
import org.junit.jupiter.params.ParameterizedTest;
@@ -100,7 +89,7 @@ public class CurrencyFormat {
{"1.234,56\u00a0\u20ac", "1.234,56\u00a0USD", "1.235\u00a0JPY", "1.234,56\u00a0DEM", "1.234,56\u00a0\u20ac"},
{"1.234,56\u00a0\u20ac", "1.234,56\u00a0USD", "1.235\u00a0JPY", "1.234,56\u00a0DEM", "1.234,56\u00a0\u20ac"},
{"\u20ac\u00a01.234,56", "$\u00a01.234,56", "\u00a5\u00a01.235", "DM\u00a01.234,56", "\u20ac\u00a01.234,56"},
- {"1\u202f234.56\u00a0CHF", "1\u202f234.56\u00a0$US", "1\u202f235\u00a0JPY", "1\u202f234.56\u00a0DEM", "1\u202f234.56\u00a0\u20ac"},
+ {"1'234.56\u00a0CHF", "1'234.56\u00a0$US", "1'235\u00a0JPY", "1'234.56\u00a0DEM", "1'234.56\u00a0\u20ac"},
};
for (int i = 0; i < locales.length; i++) {
Locale locale = locales[i];
diff --git a/test/jdk/java/time/test/java/time/format/TestZoneTextPrinterParser.java b/test/jdk/java/time/test/java/time/format/TestZoneTextPrinterParser.java
index abe3cd6b154..5cbe9daf556 100644
--- a/test/jdk/java/time/test/java/time/format/TestZoneTextPrinterParser.java
+++ b/test/jdk/java/time/test/java/time/format/TestZoneTextPrinterParser.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2026, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -54,7 +54,7 @@ import org.junit.jupiter.params.provider.MethodSource;
/*
* @test
* @bug 8081022 8151876 8166875 8177819 8189784 8206980 8277049 8278434 8346948
- * 8174269
+ * 8174269 8371842
* @key randomness
*/
@@ -92,10 +92,16 @@ public class TestZoneTextPrinterParser extends AbstractTestPrinterParser {
}
zdt = zdt.withZoneSameLocal(ZoneId.of(zid));
TimeZone tz = TimeZone.getTimeZone(zid);
- boolean isDST = tz.inDaylightTime(new Date(zdt.toInstant().toEpochMilli()));
+ long epochMilli = zdt.toInstant().toEpochMilli();
+ boolean isDST = tz.inDaylightTime(new Date(epochMilli));
+ // Some zones now use an explicit daylight offset in CLDR without java.util.TimeZone
+ // reporting DST for the instant, so prefer the daylight name when the effective
+ // offset is greater than the raw standard offset.
+ boolean useDaylightName = isDST
+ || (tz.getDSTSavings() == 0 && tz.getOffset(epochMilli) > tz.getRawOffset());
for (Locale locale : SAMPLE_LOCALES) {
- String longDisplayName = tz.getDisplayName(isDST, TimeZone.LONG, locale);
- String shortDisplayName = tz.getDisplayName(isDST, TimeZone.SHORT, locale);
+ String longDisplayName = tz.getDisplayName(useDaylightName, TimeZone.LONG, locale);
+ String shortDisplayName = tz.getDisplayName(useDaylightName, TimeZone.SHORT, locale);
if ((longDisplayName.startsWith("GMT+") && shortDisplayName.startsWith("GMT+"))
|| (longDisplayName.startsWith("GMT-") && shortDisplayName.startsWith("GMT-"))) {
// exclude ROOT
@@ -107,9 +113,9 @@ public class TestZoneTextPrinterParser extends AbstractTestPrinterParser {
continue;
}
printText(locale, zdt, TextStyle.FULL, tz,
- tz.getDisplayName(isDST, TimeZone.LONG, locale));
+ tz.getDisplayName(useDaylightName, TimeZone.LONG, locale));
printText(locale, zdt, TextStyle.SHORT, tz,
- tz.getDisplayName(isDST, TimeZone.SHORT, locale));
+ tz.getDisplayName(useDaylightName, TimeZone.SHORT, locale));
}
}
}
diff --git a/test/jdk/sun/text/resources/LocaleData.cldr b/test/jdk/sun/text/resources/LocaleData.cldr
index 9d81c50ae1e..45229ad9cbd 100644
--- a/test/jdk/sun/text/resources/LocaleData.cldr
+++ b/test/jdk/sun/text/resources/LocaleData.cldr
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2015, 2025, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 2026, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -2413,7 +2413,7 @@ FormatData/zh_HK/DatePatterns/0=y年M月d日EEEE
FormatData/zh_HK/DatePatterns/1=y年M月d日
FormatData/zh_HK/DatePatterns/2=y年M月d日
FormatData/zh_HK/DatePatterns/3=d/M/y
-FormatData/zh_HK/DateTimePatterns/0={1}{0}
+FormatData/zh_HK/DateTimePatterns/0={1} {0}
#bug #4149569
LocaleNames/tr/TR=Türkiye
diff --git a/test/jdk/sun/text/resources/LocaleDataTest.java b/test/jdk/sun/text/resources/LocaleDataTest.java
index 472576f327c..81a30850b58 100644
--- a/test/jdk/sun/text/resources/LocaleDataTest.java
+++ b/test/jdk/sun/text/resources/LocaleDataTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2025, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2026, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -42,7 +42,7 @@
* 8209775 8221432 8227127 8230284 8231273 8233579 8234288 8250665 8255086
* 8251317 8274658 8283277 8283805 8265315 8287868 8295564 8284840 8296715
* 8301206 8303472 8317979 8306116 8174269 8333582 8357075 8357882 8367021
- 8354548
+ * 8354548 8371842
* @summary Verify locale data
* @modules java.base/sun.util.resources
* @modules jdk.localedata
diff --git a/test/jdk/sun/util/resources/cldr/TimeZoneNamesTest.java b/test/jdk/sun/util/resources/cldr/TimeZoneNamesTest.java
index 68f6c8a401b..60359b8fbd4 100644
--- a/test/jdk/sun/util/resources/cldr/TimeZoneNamesTest.java
+++ b/test/jdk/sun/util/resources/cldr/TimeZoneNamesTest.java
@@ -24,7 +24,7 @@
/*
* @test
* @bug 8181157 8202537 8234347 8236548 8261279 8322647 8174269 8346948
- * 8354548 8381379 8382020 8384043
+ * 8354548 8381379 8382020 8384043 8371842
* @modules jdk.localedata
* @summary Checks CLDR time zone names are generated correctly at
* either build or runtime
@@ -305,9 +305,7 @@ public class TimeZoneNamesTest {
Arguments.of(ZonedDateTime.of(2026, 4, 5, 0, 0, 0, 0, ZoneId.of("Eire")), "Irish Standard Time"),
Arguments.of(ZonedDateTime.of(2026, 12, 5, 0, 0, 0, 0, ZoneId.of("Eire")), "Greenwich Mean Time"),
Arguments.of(ZonedDateTime.of(2026, 4, 5, 0, 0, 0, 0, ZoneId.of("America/Vancouver")), "Pacific Daylight Time"),
- // This needs to change once TZDB adopts -7 offset year round, and CLDR uses explicit dst offset
- // namely, "Pacific Standard Time" -> "Pacific Daylight Time"
- Arguments.of(ZonedDateTime.of(2026, 12, 5, 0, 0, 0, 0, ZoneId.of("America/Vancouver")), "Pacific Standard Time")
+ Arguments.of(ZonedDateTime.of(2026, 12, 5, 0, 0, 0, 0, ZoneId.of("America/Vancouver")), "Pacific Daylight Time")
);
}
|---|