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") ); }