Project Proposal: java.util.Locale enhancement

Doug Felt dougfelt at
Mon Sep 29 11:31:07 PDT 2008

I hereby propose an openjdk project "Java Locale Enhancement".

This proposal [1] enhances java.util.Locale in order to bring Java into
conformance with IETF BCP47 [2] and UTR35(CLDR/LDML) [3].

The internal structure for Locale was modeled after IETF RFC 1766 [4], which
in 1995 was the industry standard for the representation of languages and
locales (and required by HTML, XML, and many other specifications and

RFC 1766 has been superseded by IETF BCP 47, which makes a number of
additions needed for the representation of languages. Script codes [5]
support required distinctions among languages that use different writing
systems (such as simplified vs traditional Chinese), with an optimal
hierarchical representation of locale data. 3-letter base language codes
(ISO 639 Part 2 & 3 [6, 7]) represent such languages as Filipino (fil) the
official language of the Philipines. BCP 47 also allows for regional
variants, like Latin American Spanish (es_419), using region identifiers
listed in the IANA subtag registry [8].

Locale's limitations are already causing significant practical problems. For
example, when a J2EE Servlet container implementation parses a language tag
from Accept Language and creates a Locale instance, it cannot map a script
code into the new Locale object without breaking its original structure,
because the use of script code and 3-letter language codes is not allowed by
the current Java Locale specification.

I propose this project be sponsored by the OpenJDK Internationalization
group. I volunteer to be moderator of the project.

Thank you.

Doug Felt


More information about the announce mailing list