What support does J2ME provide for internationalization (I18N)?

Bill Day

The J2ME CLDC specification describes which internationalization (I18N) and localization (L10N) features are required of CLDC based devices, which features are left to profiles (such as the Mobile Information Device Profile, or MIDP), and which are up to manufacturers/OEMs.

For J2ME CLDC apps (and so for MIDP "MIDlets" too, since MIDP requires CLDC), you are guaranteed that necessary Unicode support is built into the VM, that you have the ISOLatin1 encoding available, and that you can find out about any other available encodings using System.getProperty method calls. Beyond that, you must do the work in your app yourself, i.e., if you want to localize to say Japanese, you need to check if there is a Japanese encoding available (using the getProperty call) and then provide appropriate ShiftJIS or other encoded text to your app if so.

For more information, please refer to the I18N/L10N section of my "Developing Wireless Applications using J2ME" talk.

For the specific details, refer to the J2ME CLDC spec, available from a link on the CLDC homepage: java.sun.com/products/cldc