diff --git a/src/java.base/share/classes/java/util/Locale.java b/src/java.base/share/classes/java/util/Locale.java index f600afbb007..462cd5755c2 100644 --- a/src/java.base/share/classes/java/util/Locale.java +++ b/src/java.base/share/classes/java/util/Locale.java @@ -120,9 +120,13 @@ import sun.util.locale.provider.TimeZoneNameUtility; * {@code Locale} always canonicalizes to lower case. * *
Syntax: Well-formed {@code language} values have the form {@code [a-zA-Z]{2,8}}.
- *
BCP 47 deviation: this is not the full BCP 47 language production, since it excludes + *
BCP 47 deviation: {@code Locale} does not retain the * extlang - * (as modern three-letter language codes are preferred).
+ * subtag. This is because three-letter language codes are preferred over extlang + * subtags. When a {@code Locale} is created from a language tag containing an + * extlang subtag, the first extlang subtag is interpreted as the language + * field. The primary language subtag and any subsequent extlang subtags + * are ignored. * *
Example: "en" (English), "ja" (Japanese), "kok" (Konkani)
*