Programming Tutorials

Internationalization Support in J2ME MIDP

By: Henry in J2ME Tutorials on 2007-09-17  

J2ME MIDP supports internationalization through the use of resource bundles, which are collections of localized resources such as messages, images, and other data that can be used by an application to adapt to different languages, cultures, and regions.

Resource bundles can be created using the ResourceBundle class and its various subclasses, such as ListResourceBundle and PropertyResourceBundle. These classes allow you to define resources for different locales, which can then be accessed by an application at runtime based on the user's preferred locale or the system default locale.

Here is an example of how to use a resource bundle in J2ME MIDP:

import java.util.ResourceBundle;

public class I18NExample {
    public static void main(String[] args) {
        // Load the resource bundle for the user's preferred locale
        ResourceBundle bundle = ResourceBundle.getBundle("MyBundle");

        // Get a localized message from the bundle
        String message = bundle.getString("hello");

        // Display the message
        System.out.println(message);
    }
}

In this example, we load a resource bundle named "MyBundle" that contains a localized message for the key "hello". The getString() method is then used to retrieve the message for the user's preferred locale. The message is then displayed using the println() method.

J2ME MIDP also provides support for formatting dates, times, and numbers according to different locale-specific conventions using the DateFormat, NumberFormat, and DecimalFormat classes. These classes allow you to format and parse data using different patterns and symbols depending on the user's preferred locale.

Here is an example of formatting a date using DateFormat:

import java.util.Date;
import java.util.Locale;
import java.text.DateFormat;

public class I18NExample {
    public static void main(String[] args) {
        // Create a date object
        Date date = new Date();

        // Create a date formatter for the user's preferred locale
        DateFormat formatter = DateFormat.getDateInstance(DateFormat.DEFAULT, Locale.getDefault());

        // Format the date using the formatter
        String formattedDate = formatter.format(date);

        // Display the formatted date
        System.out.println(formattedDate);
    }
}

In this example, we create a Date object and then create a DateFormat object for the user's preferred locale using the getDateInstance() method. We then format the date using the format() method and display the result using println().

J2ME MIDP also provides support for time zones and string collation using the TimeZone and Collator classes, respectively. These classes allow you to customize the behavior of your application based on the user's preferred time zone and string collation order.

Overall, J2ME MIDP provides robust support for internationalization that allows developers to create applications that can adapt to different languages, cultures, and regions.






Add Comment

* Required information
1000

Comments

No comments yet. Be the first!

Most Viewed Articles (in J2ME )

Latest Articles (in J2ME)