Skip to content

Commit 06ff0d6

Browse files
RadekCapPaul Hohensee
authored andcommitted
8348328: Update IANA Language Subtag Registry to Version 2025-05-15
Backport-of: f318868268f32934a2f0c4e26a6c75360d8e74b1
1 parent b407af9 commit 06ff0d6

File tree

2 files changed

+142
-8
lines changed

2 files changed

+142
-8
lines changed

src/java.base/share/data/lsrdata/language-subtag-registry.txt

Lines changed: 120 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
File-Date: 2024-11-19
1+
File-Date: 2025-05-15
22
%%
33
Type: language
44
Subtag: aa
@@ -5950,6 +5950,7 @@ Added: 2009-07-29
59505950
%%
59515951
Type: language
59525952
Subtag: bql
5953+
Description: Karian
59535954
Description: Bilakura
59545955
Added: 2009-07-29
59555956
%%
@@ -9083,6 +9084,7 @@ Scope: collection
90839084
%%
90849085
Type: language
90859086
Subtag: daz
9087+
Description: Moi-Wadea
90869088
Description: Dao
90879089
Added: 2009-07-29
90889090
%%
@@ -9290,6 +9292,8 @@ Type: language
92909292
Subtag: dek
92919293
Description: Dek
92929294
Added: 2009-07-29
9295+
Deprecated: 2024-12-12
9296+
Preferred-Value: sqm
92939297
%%
92949298
Type: language
92959299
Subtag: del
@@ -14082,6 +14086,12 @@ Added: 2009-07-29
1408214086
Macrolanguage: hmn
1408314087
%%
1408414088
Type: language
14089+
Subtag: hnm
14090+
Description: Hainanese
14091+
Added: 2024-12-12
14092+
Macrolanguage: zh
14093+
%%
14094+
Type: language
1408514095
Subtag: hnn
1408614096
Description: Hanunoo
1408714097
Added: 2009-07-29
@@ -16421,6 +16431,7 @@ Added: 2009-07-29
1642116431
%%
1642216432
Type: language
1642316433
Subtag: kci
16434+
Description: Ngyian
1642416435
Description: Kamantan
1642516436
Added: 2009-07-29
1642616437
%%
@@ -21081,6 +21092,12 @@ Description: Laua
2108121092
Added: 2009-07-29
2108221093
%%
2108321094
Type: language
21095+
Subtag: luh
21096+
Description: Leizhou Chinese
21097+
Added: 2024-12-12
21098+
Macrolanguage: zh
21099+
%%
21100+
Type: language
2108421101
Subtag: lui
2108521102
Description: Luiseno
2108621103
Added: 2005-10-16
@@ -22850,6 +22867,8 @@ Added: 2009-07-29
2285022867
%%
2285122868
Type: language
2285222869
Subtag: mmi
22870+
Description: Hember Avu
22871+
Description: Amben
2285322872
Description: Musar
2285422873
Added: 2009-07-29
2285522874
%%
@@ -25197,8 +25216,9 @@ Added: 2009-07-29
2519725216
%%
2519825217
Type: language
2519925218
Subtag: new
25200-
Description: Newari
2520125219
Description: Nepal Bhasa
25220+
Description: Newar
25221+
Description: Newari
2520225222
Added: 2005-10-16
2520325223
%%
2520425224
Type: language
@@ -26641,6 +26661,8 @@ Type: language
2664126661
Subtag: nte
2664226662
Description: Nathembo
2664326663
Added: 2009-07-29
26664+
Deprecated: 2024-12-12
26665+
Preferred-Value: eko
2664426666
%%
2664526667
Type: language
2664626668
Subtag: ntg
@@ -27185,6 +27207,12 @@ Description: Oroch
2718527207
Added: 2009-07-29
2718627208
%%
2718727209
Type: language
27210+
Subtag: oak
27211+
Description: Noakhali
27212+
Description: Noakhailla
27213+
Added: 2025-05-14
27214+
%%
27215+
Type: language
2718827216
Subtag: oar
2718927217
Description: Old Aramaic (up to 700 BCE)
2719027218
Description: Ancient Aramaic (up to 700 BCE)
@@ -32147,6 +32175,12 @@ Description: Sajau Basap
3214732175
Added: 2009-07-29
3214832176
%%
3214932177
Type: language
32178+
Subtag: sjc
32179+
Description: Shaojiang Chinese
32180+
Added: 2024-12-12
32181+
Macrolanguage: zh
32182+
%%
32183+
Type: language
3215032184
Subtag: sjd
3215132185
Description: Kildin Sami
3215232186
Added: 2009-07-29
@@ -41302,6 +41336,11 @@ Description: Aluo
4130241336
Added: 2009-07-29
4130341337
%%
4130441338
Type: language
41339+
Subtag: ynb
41340+
Description: Yamben
41341+
Added: 2025-02-06
41342+
%%
41343+
Type: language
4130541344
Subtag: ynd
4130641345
Description: Yandruwandha
4130741346
Added: 2009-07-29
@@ -43616,6 +43655,14 @@ Preferred-Value: hks
4361643655
Prefix: sgn
4361743656
%%
4361843657
Type: extlang
43658+
Subtag: hnm
43659+
Description: Hainanese
43660+
Added: 2024-12-12
43661+
Preferred-Value: hnm
43662+
Prefix: zh
43663+
Macrolanguage: zh
43664+
%%
43665+
Type: extlang
4361943666
Subtag: hos
4362043667
Description: Ho Chi Minh City Sign Language
4362143668
Added: 2009-07-29
@@ -43958,6 +44005,14 @@ Prefix: lv
4395844005
Macrolanguage: lv
4395944006
%%
4396044007
Type: extlang
44008+
Subtag: luh
44009+
Description: Leizhou Chinese
44010+
Added: 2024-12-12
44011+
Preferred-Value: luh
44012+
Prefix: zh
44013+
Macrolanguage: zh
44014+
%%
44015+
Type: extlang
4396144016
Subtag: lvs
4396244017
Description: Standard Latvian
4396344018
Added: 2010-03-11
@@ -44393,6 +44448,14 @@ Prefix: ar
4439344448
Macrolanguage: ar
4439444449
%%
4439544450
Type: extlang
44451+
Subtag: sjc
44452+
Description: Shaojiang Chinese
44453+
Added: 2024-12-12
44454+
Preferred-Value: sjc
44455+
Prefix: zh
44456+
Macrolanguage: zh
44457+
%%
44458+
Type: extlang
4439644459
Subtag: slf
4439744460
Description: Swiss-Italian Sign Language
4439844461
Added: 2009-07-29
@@ -44844,6 +44907,11 @@ Description: Bangla
4484444907
Added: 2005-10-16
4484544908
%%
4484644909
Type: script
44910+
Subtag: Berf
44911+
Description: Beria Erfe
44912+
Added: 2025-02-06
44913+
%%
44914+
Type: script
4484744915
Subtag: Bhks
4484844916
Description: Bhaiksuki
4484944917
Added: 2015-07-24
@@ -45132,6 +45200,12 @@ Description: Nyiakeng Puachue Hmong
4513245200
Added: 2017-08-13
4513345201
%%
4513445202
Type: script
45203+
Subtag: Hntl
45204+
Description: Han (Traditional variant) with Latin (alias for Hant +
45205+
Latn)
45206+
Added: 2025-05-14
45207+
%%
45208+
Type: script
4513545209
Subtag: Hrkt
4513645210
Description: Japanese syllabaries (alias for Hiragana + Katakana)
4513745211
Added: 2005-10-16
@@ -45636,6 +45710,12 @@ Description: Saurashtra
4563645710
Added: 2006-07-21
4563745711
%%
4563845712
Type: script
45713+
Subtag: Seal
45714+
Description: Seal
45715+
Description: Small Seal
45716+
Added: 2025-05-14
45717+
%%
45718+
Type: script
4563945719
Subtag: Sgnw
4564045720
Description: SignWriting
4564145721
Added: 2006-10-17
@@ -47919,6 +47999,12 @@ Comments: Written standard developed by Romanilha in 1853 and used by
4791947999
dóu Po, Escolo Gaston Febus, and others
4792048000
%%
4792148001
Type: variant
48002+
Subtag: hanoi
48003+
Description: The Hà Nội variant of Vietnamese
48004+
Added: 2025-03-10
48005+
Prefix: vi
48006+
%%
48007+
Type: variant
4792248008
Subtag: hepburn
4792348009
Description: Hepburn romanization
4792448010
Added: 2009-10-01
@@ -47949,6 +48035,12 @@ Added: 2017-03-14
4794948035
Prefix: eo
4795048036
%%
4795148037
Type: variant
48038+
Subtag: huett
48039+
Description: The Huế (province Thừa Thiên) variant of Vietnamese
48040+
Added: 2025-03-10
48041+
Prefix: vi
48042+
%%
48043+
Type: variant
4795248044
Subtag: ijekavsk
4795348045
Description: Serbian with Ijekavian pronunciation
4795448046
Prefix: sr
@@ -48024,6 +48116,13 @@ Prefix: sa
4802448116
Comments: Preferred tag is cls
4802548117
%%
4802648118
Type: variant
48119+
Subtag: leidentr
48120+
Description: Ancient Egyptian in Leiden Unified Transliteration
48121+
Added: 2025-02-06
48122+
Prefix: egy
48123+
Comments: Recommended by the International Association of Egyptologists
48124+
%%
48125+
Type: variant
4802748126
Subtag: lemosin
4802848127
Description: Limousin
4802948128
Added: 2018-04-22
@@ -48068,6 +48167,19 @@ Comments: Russian orthography as established by the 1917/1918
4806848167
orthographic reforms
4806948168
%%
4807048169
Type: variant
48170+
Subtag: mdcegyp
48171+
Description: Ancient Egyptian hieroglyphs encoded in Manuel de Codage
48172+
Added: 2025-02-06
48173+
Prefix: egy
48174+
%%
48175+
Type: variant
48176+
Subtag: mdctrans
48177+
Description: Ancient Egyptian transliteration encoded in Manuel de
48178+
Codage
48179+
Added: 2025-02-06
48180+
Prefix: egy
48181+
%%
48182+
Type: variant
4807148183
Subtag: metelko
4807248184
Description: Slovene in Metelko alphabet
4807348185
Added: 2012-06-27
@@ -48255,6 +48367,12 @@ Prefix: rm
4825548367
Comments: Supraregional Romansh written standard
4825648368
%%
4825748369
Type: variant
48370+
Subtag: saigon
48371+
Description: The Sài Gòn variant of Vietnamese
48372+
Added: 2025-03-10
48373+
Prefix: vi
48374+
%%
48375+
Type: variant
4825848376
Subtag: scotland
4825948377
Description: Scottish Standard English
4826048378
Added: 2007-08-31

test/jdk/java/util/Locale/LanguageSubtagRegistryTest.java

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2016, 2024, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* This code is free software; you can redistribute it and/or modify it
@@ -25,9 +25,9 @@
2525
* @test
2626
* @bug 8025703 8040211 8191404 8203872 8222980 8225435 8241082 8242010 8247432
2727
* 8258795 8267038 8287180 8302512 8304761 8306031 8308021 8313702 8318322
28-
* 8327631 8332424 8334418 8344589
28+
* 8327631 8332424 8334418 8344589 8348328
2929
* @summary Checks the IANA language subtag registry data update
30-
* (LSR Revision: 2024-11-19) with Locale and Locale.LanguageRange
30+
* (LSR Revision: 2025-05-15) with Locale and Locale.LanguageRange
3131
* class methods.
3232
* @run main LanguageSubtagRegistryTest
3333
*/
@@ -45,9 +45,9 @@ public class LanguageSubtagRegistryTest {
4545
static boolean err = false;
4646

4747
private static final String ACCEPT_LANGUAGE =
48-
"Accept-Language: aam, adp, aeb, ajs, aog, apc, ajp, aue, bcg, bic, bpp, cey, cbr, cnp, cqu, crr, csp, csx, dif, dmw, dsz, ehs, ema,"
49-
+ " en-gb-oed, gti, iba, ilw, jks, kdz, kjh, kmb, koj, kru, ksp, kwq, kxe, kzk, lgs, lii, lmm, lsb, lsc, lsn, lsv, lsw, lvi, meg, mtm,"
50-
+ " ngv, nns, ola, oyb, pat, pcr, phr, plu, pnd, pub, rib, rnb, rsn, scv, snz, sqx, suj, szy, taj, tdg, tjj, tjp, tpn, tvx,"
48+
"Accept-Language: aam, adp, aeb, ajs, aog, apc, ajp, aue, bcg, bic, bpp, cey, cbr, cnp, cqu, crr, csp, csx, dif, dmw, dsz, ehs, eko, ema,"
49+
+ " en-gb-oed, gti, hnm, iba, ilw, jks, kdz, kjh, kmb, koj, kru, ksp, kwq, kxe, kzk, lgs, lii, lmm, lsb, lsc, lsn, lsv, lsw, luh, lvi, meg, mtm,"
50+
+ " ngv, nns, ola, oyb, pat, pcr, phr, plu, pnd, pub, rib, rnb, rsn, scv, sjc, snz, sqm, sqx, suj, szy, taj, tdg, tjj, tjp, tpn, tvx,"
5151
+ " umi, uss, uth, xia, yos, ysm, zko, wkr;q=0.9, ar-hyw;q=0.8, yug;q=0.5, gfx;q=0.4";
5252
private static final List<LanguageRange> EXPECTED_RANGE_LIST = List.of(
5353
new LanguageRange("aam", 1.0),
@@ -94,12 +94,16 @@ public class LanguageSubtagRegistryTest {
9494
new LanguageRange("sgn-dsz", 1.0),
9595
new LanguageRange("ehs", 1.0),
9696
new LanguageRange("sgn-ehs", 1.0),
97+
new LanguageRange("eko", 1.0),
98+
new LanguageRange("nte", 1.0),
9799
new LanguageRange("ema", 1.0),
98100
new LanguageRange("uok", 1.0),
99101
new LanguageRange("en-gb-oed", 1.0),
100102
new LanguageRange("en-gb-oxendict", 1.0),
101103
new LanguageRange("gti", 1.0),
102104
new LanguageRange("nyc", 1.0),
105+
new LanguageRange("hnm", 1.0),
106+
new LanguageRange("zh-hnm", 1.0),
103107
new LanguageRange("iba", 1.0),
104108
new LanguageRange("snb", 1.0),
105109
new LanguageRange("blg", 1.0),
@@ -142,6 +146,8 @@ public class LanguageSubtagRegistryTest {
142146
new LanguageRange("sgn-lsv", 1.0),
143147
new LanguageRange("lsw", 1.0),
144148
new LanguageRange("sgn-lsw", 1.0),
149+
new LanguageRange("luh", 1.0),
150+
new LanguageRange("zh-luh", 1.0),
145151
new LanguageRange("lvi", 1.0),
146152
new LanguageRange("meg", 1.0),
147153
new LanguageRange("cir", 1.0),
@@ -176,8 +182,12 @@ public class LanguageSubtagRegistryTest {
176182
new LanguageRange("sgn-rsn", 1.0),
177183
new LanguageRange("scv", 1.0),
178184
new LanguageRange("zir", 1.0),
185+
new LanguageRange("sjc", 1.0),
186+
new LanguageRange("zh-sjc", 1.0),
179187
new LanguageRange("snz", 1.0),
180188
new LanguageRange("asd", 1.0),
189+
new LanguageRange("sqm", 1.0),
190+
new LanguageRange("dek", 1.0),
181191
new LanguageRange("sqx", 1.0),
182192
new LanguageRange("sgn-sqx", 1.0),
183193
new LanguageRange("suj", 1.0),
@@ -264,12 +274,18 @@ private static boolean areEqual(List<LanguageRange> expected,
264274

265275
System.err.println(" Expected size=" + expectedSize);
266276
for (LanguageRange lr : expected) {
277+
if (!got.contains(lr)) {
278+
System.err.print("Error - Actual does not contain:");
279+
}
267280
System.err.println(" range=" + lr.getRange()
268281
+ ", weight=" + lr.getWeight());
269282
}
270283

271284
System.err.println(" Actual size=" + actualSize);
272285
for (LanguageRange lr : got) {
286+
if (!expected.contains(lr)) {
287+
System.err.print("Error - Expected does not contain:");
288+
}
273289
System.err.println(" range=" + lr.getRange()
274290
+ ", weight=" + lr.getWeight());
275291
}

0 commit comments

Comments
 (0)