MIDlet name localisation

The standard MIDP 2.0 specification-defined MIDlet JAD manifest attributes only support single MIDlet names with no localised variants. Series 40 and Nokia Asha software platform devices support the following additional attributes for localised MIDlet names:

  • Nokia-MIDlet-Name-<locale> for localised MIDlet suite names.

  • Nokia-MIDlet-<n>-<locale> for localised MIDlet names.

The current locale of the device is available to the application through the microedition.locale system property. During MIDlet installation, if the installer finds that the MIDlet JAD/manifest contains a locale-specific MIDlet name with same locale as in microedition.locale system property then the MIDlet is installed with that locale-specific name to the system. If the locale does not match with the attributes, the normal name is used

For example, if there is no localised MIDlet name for locale 'es-US', the Java Runtime checks next whether there is localised name for locale 'es'. If no localised name is found, the normal MIDlet name is used.

Note: The MIDlet name is always the localised name based on the device language, if one is available in the given MIDlet. Therefore, localisation is not performed only during installation.

This feature is available since Series 40 5th Edition Feature Pack 1.

Example

For example if the MIDlet suite has the following attributes:

MIDlet-Name: Hello World
Nokia-MIDlet-Name-es-US: Hola Mundo muy padre
Nokia-MIDlet-Name-es: Hola Mundo
Nokia-MIDlet-Name-it: Ciao a tutti

MIDlet-1: MIDlet, /Icon.png, MainClass 
Nokia-MIDlet-1-en: Localised MIDlet

and the locale of the device is

  • es

There is a localised MIDlet suite name 'Hola Mundo', from attribute 'Nokia-MIDlet-Name-es' but no localised MIDlet name. The normal MIDlet name 'MIDlet' from attribute 'MIDlet-1' is used.

  • fr

No localised MIDlet suite name nor MIDlet name exists. Therefore, the normal MIDlet name and MIDlet suite name are used.

  • en-US

There is no localised MIDlet suite name nor MIDlet name matching locale 'en-US'. Java Runtime checks names for locale 'en'. The normal MIDlet suite name is used, i.e. the application uses 'Hello World' for MIDlet Suite name and 'MIDlet' as MIDlet name.

For more information on supported locales, see Supported locales.