One of “new” JSRs in the block is the Mobile Internationalization API (JSR 238). This specification defines localization resource file formats and their organization, and of course, the API itself to manage the resources.

With the Mobile Services Architecture specification (JSR 248), the mobile internationalization API is one of the mandatory JSRs to be present on handsets… but this is only true for the full MSA stack, and not for the MSA subset stack — recall that MSA defines a full stack and a subset stack.

So how can developers handle this situation, where the internationalization API may or not be present on the handset? This is when projects like Mary Jane Soft's MicroI18N (under LGPL license) comes to the rescue. With such solution available to us, by implementing some logic (runtime or build/deployment), the developer can use the device's native JSR 238 implementation if available (i.e. full MSA stack), and use/embed MicroI18N within the application for handsets that don't include JSR 238 (i.e. subset MSA).

ceo

[Via Wendong’s Smart Phone Weblog]