Find JSRs
Submit this Search

Ad Banner

JSRs: Java Specification Requests
JSR 238: Mobile Internationalization API

Updates to the Original JSR

The following has been updated from the original request:

2012.08.22: The following section has been updated.

2.15 Please provide a description of the business terms for the Specification, RI and TCK that will apply when this JSR is final.

- Available free of charge to qualified not-for-profit organizations and individuals in accordance with the JSPA, solely for developing and testing their own implementations and not allowing to test any third party or commercial for-profit implementations.
- The TCK is licensed, in line with the MSA licensing principles, with a flat fee of USD 50 000 for a license term of 3 years. This includes all maintenance updates and releases, if any. The license will be worldwide, non-exclusive and will be granted on an AS IS basis without any warranties or indemnities given and with the exclusion of all indirect and consequential damages. Major new releases, from new follower JSR, are subject to a separate license fee.
- The license grant will be for a term of not less than three (3) years.
- A license allowing licensees to test implementations on behalf of third parties as a free or for-fee commercial service under certain conditions shall be available. This right may result in a higher license fee.

2012.08.21: North Sixty-One has become the co-Maintenance Lead.

Maintenance Lead: Erkki Rysä

E-Mail Address:

Telephone Number: -

Fax Number: -

Original Java Specification Request (JSR)

Identification | Request | Contributions | Additional Information

Section 1. Identification

Submitting Member: Nokia Corporation

Name of Contact Person: Jere Kapyaho

E-Mail Address:

Telephone Number: +358 7180 39173

Fax Number: +358 7180 47577

Specification Lead: Jere Kapyaho

E-Mail Address:

Telephone Number: +358 7180 39173

Fax Number: +358 7180 47577

Initial Expert Group Membership:

Supporting this JSR:

Nokia Corporation
Ericsson Mobile Platforms
Intel Corp.
Siemens AG
Symbian Ltd

Section 2: Request

2.1 Please describe the proposed Specification:

This specification will provide a common API for the internationalization of MIDP applications, delivered and licensed as an optional package. It will provide the means to isolate localizable application resources from program source code and an API for accessing those resources at runtime, selecting the correct resources for the user’s/device’s locale. The specification will also define an API for supporting cultural conventions in applications, e.g. for formatting dates, times, numbers, and currencies, and sorting text strings correctly for the user’s locale. The API needs to be memory-efficient to run on resource-constrained devices such as mobile phones.

The need for this API arises from the fact that mobile devices are personal by nature, and users expect them to conform to the cultural conventions they are accustomed to. Users want to be able to interact with the device in their own native language and see data rendered as in their everyday environment.

2.2 What is the target Java platform? (i.e., desktop, server, personal, embedded, card, etc.)

JavaTM 2, Micro Edition / MIDP over CLDC for mobile information devices. The minimum requirements are CLDC 1.1 and MIDP 2.0. These are expected to be the most common J2ME APIs by the time this JSR is finalized.

2.3 What need of the Java community will be addressed by the proposed specification?

Currently there is no standard way of internationalizing MIDP applications. This specification will determine the appropriate support for internationalization in MIDP applications and supply a service API that is scaled down to the capabilities of MIDP devices. MIDlet developers will then be able to write easily localizable and culturally correct MIDP applications, without resorting to proprietary solutions.

2.4 Why isn't this need met by existing specifications?

The extensive I18N support of Java 2, Standard Edition was left out of CLDC and MIDP mostly for memory footprint reasons. There is no existing specification for the APIs needed to internationalize MIDP applications.

2.5 Please give a short description of the underlying technology or technologies:

Isolating localizable resources from application source code is a mechanism used by most application programming environments. Producing culture-specific renderings of user data is based on rule sets that are applied to raw data. Culturally correct sorting of text strings is based on the Unicode character encoding standard, which is used by the JavaTM platform.

2.6 Is there a proposed package name for the API Specification? (i.e., javapi.something, org.something, etc.)


2.7 Does the proposed specification have any dependencies on specific operating systems, CPUs, or I/O devices that you know of?

Ideally the underlying operating system should provide most of the internationalization support and data, since it requires extensive effort to collect and verify the data required. Support for Unicode is required, but implied through JavaTM.

2.8 Are there any security issues that cannot be addressed by the current security model?


2.9 Are there any internationalization or localization issues?

This API is intended to help application developers solve the most common internationalization or localization issues that many applications have. The implementation should work in the limits set by the MIDP and CLDC specifications, in terms of identifying the system’s locale and using character encoding functionality.

2.10 Are there any existing specifications that might be rendered obsolete, deprecated, or in need of revision as a result of this work?


2.11 Please describe the anticipated schedule for the development of this specification.

Community Review: Q2/2004
Public Review Draft: Q3/2004
Final Specification: Q4/2004

2.12 Please describe the anticipated working model for the Expert Group working on developing this specification.

We expect to have a geographically distributed expert group, so e-mail is the primary communication method. Teleconferences and face-to-face meetings may be organized as needed and as appropriate.

2.13 Please describe how the RI and TCK will de delivered, i.e. as part of a profile or platform edition, or stand-alone, or both. Include version information for the profile or platform in your answer.

The RI and TCK will be delivered as standalone packages.

2.14 Please state the rationale if previous versions are available stand-alone and you are now proposing in 2.13 to only deliver RI and TCK as part of a profile or platform edition (See sections 1.1.5 and 1.1.6 of the JCP 2 document).

2.15 Please provide a description of the business terms for the Specification, RI and TCK that will apply when this JSR is final.

These terms only represent the initial commercial terms to be used and remain subject to the execution of final legal agreements covering the subject matter hereof to be determined by Nokia at its sole discretion.

We will license to all interested parties. Independent implementations will be allowed - TCK and RI will be licensed separately.

For the TCK we will charge a single one time fee of max US $50,000 and an annual maintenance fee, max US $20,000 for a term of four years. The TCK will include both the binary environment and the source code for the test suite. The maintenance fee covers limited basic support, first level TCK appeals process, bug fixes when available and updates, which are due to changes in the Specification. Major new releases (esp. from new follower JSR) might be subject to an additional single one time fee.

Using the TCK for testing of implementations on behalf of third parties will be allowed, though, be subject to a higher fee which is capped at the sum of license fees due in accordance with license fees as described above in this section, if the third parties would have directly licensed the TCK from Nokia.

For the RI in source code form we will charge a one-time access fee, and an annual maintenance fee. Maintenance covers bug fixes, updates and new releases necessary due to specification changes, and when made generally available by the specification lead.

The binary license is free of charge.

Section 3: Contributions

3.1 Please list any existing documents, specifications, or implementations that describe the technology. Please include links to the documents if they are publicly available.

The Unicode Standard, Version 3.0 and Version 4.0. (
Unicode Technical Standard #10: The Unicode Collation Algorithm (
The internationalization API of Java 2 Standard Edition (
International Components for Unicode for Java (ICU4J) (
The Locale Data Markup Language (LDML) (

3.2 Explanation of how these items might be used as a starting point for the work.

The large pool of functionality in the J2SE I18N API and IBM’s ICU4J provides a rich superset that can be analyzed to select the most essential services. The requirements can be scaled down to a level more suitable for mobile devices. The Locale Data Markup Language could be used as the repository for the locale-specific data. Sorting text strings should be based on the Unicode Collation Algorithm augmented with locale-specific tailorings.

Section 4: Additional Information (Optional)

4.1 This section contains any additional information that the submitting Member wishes to include in the JSR.