RFR: 8159337: Introduce a method in Locale class to return the language tags as per RFC 5646 convention [v2]
Justin Lu
jlu at openjdk.org
Mon May 1 21:19:25 UTC 2023
> Please review this PR which adds the method `caseFoldLanguageTag(String languageTag)` to java.util.Locale.
>
> This method case folds a language tag to adhere to _[section 2.1.1. Formatting of Language Tags of RFC5646](https://www.rfc-editor.org/rfc/rfc5646.html#section-2.1)_. This format is defined as _"All subtags, including extension and private use subtags, use lowercase letters with two exceptions: two-letter and four-letter subtags that neither appear at the start of the tag nor occur after singletons. Such two-letter subtags are all uppercase ... and four-letter subtags are titlecase."_.
>
>
> In order to match the behavior of existing language tag related Locale methods, this method matches the 2.1.1 RFC5646 specification with the following **exceptions**:
> - Will not case fold variant subtags
> - Will not case fold private use subtags prefixed by "lvariant"
>
> As an example, `caseFoldLanguageTag("ja-kana-jp-x-lvariant-Oracle-JDK-Standard-Edition")` returns _"ja-Kana-JP-x-lvariant-Oracle-JDK-Standard-Edition"_. Further examples can be seen in the test file.
Justin Lu has updated the pull request incrementally with two additional commits since the last revision:
- Adjust specification to elaborate on JDK Variant special cases
- Use ILE over IAE
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/13679/files
- new: https://git.openjdk.org/jdk/pull/13679/files/25be34d9..91e84efe
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=13679&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=13679&range=00-01
Stats: 42 lines in 3 files changed: 19 ins; 7 del; 16 mod
Patch: https://git.openjdk.org/jdk/pull/13679.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/13679/head:pull/13679
PR: https://git.openjdk.org/jdk/pull/13679
More information about the core-libs-dev
mailing list