1 Internationalization Enhancements in JDK 10

Internationalization enhancements for JDK 10 include:

Additional Unicode Language-Tag Extensions

The IETF BCP (best current practice) 47 language tags standard, which has been supported in the Locale class since Java SE 7, includes a Unicode extension subtag. As of Java SE 9, only the -ca (calendar) and -nu (number) extensions are supported.

Java SE 10 adds support for the following additional extensions in the relevant JDK classes:

  • -cu (currency type)

  • -fw (first day of week)

  • -rg (region override)

  • -tz (time zone)

In JDK 10, if an application specifies a locale of en-US-u-cu-EUR, which means US English with Euro currency, java.util.Currency.getInstance(locale) instantiates a Euro Currency. If the locale is en-US-u-cu-JPY, a Japanese Yen Currency is instantiated.