Java Programming
Name:
Date:
JAVA PROGRAMMING
Internationalization of Web applications and Java Internalization features
While many applications are designed for global audiences, it is important to address the issue of internationalization in the process of design. Internationalization is the process of crafting applications to ensure that they are easily assimilated into various regions and languages without the need for change (Liang, 2011). This process is an important step toward localization or rather Internalization – a process for customizing applications for specific language or regions by translating the text and integrating locale-specific components. Not only can internationalization reduce the total effort of localization by 50%, but also eliminate the need for developing applications that are language- and region specific (Liang, 2011). Internationalization helps in the incorporation of necessary adaptability and flexibility in the initial process of design that requires special attentions to preferences and cultural norms, choice of color and so forth. Java Internalization features are crucial in the translation of user elements and documentation considering other relevant changes such as dates, display of numbers, and currency. With this regards, the better application is internationalized, the easier the process of localization.
Java Internationalization Tools
Attesoro: This is a translation editor in Java platforms. Using a translator, international characters can be entered directly into Attesoro and then saved as a file in a desired format while displaying the untranslated text.
TongueTied: This is a web-based tool that manages static resources. TongueTied is essentially used in the creation of keywords that supports multi-region or multi-language. This tool incorporates a work flow that surrounds keyword that tracks the translation ensuring the legitimacy of every translation in relation to the resource.
Resource Bundle
ResourceBundle class in Java separates locale-specific information like the GUI component labels and status messages from the application. Simply, information is therefore stored outside the source code accessible or loadable dynamically at runtime straight from the ResourceBundle instead of being hard-coded into the program (Liang, 2011). In regard to this, resource bundle are property files that contains a similar base name that have a different language-specific suffixes. The bundle has at least two property files that have a similar base name: key/value pairs. These keys exceptionally identify a locale-specific object contained in a bundle. The following is an example of a ListResourceBundle containing two key/value pairs.
Example:
public class MyResources extends ListResourceBundle {
protected Object[][] getContents() {
return new Object[][] {
// LOCALIZE THE SECOND STRING OF EACH ARRAY (e.g., “OK”)
{“OkKey”, “OK”},
{“CancelKey”, “Cancel”},
// END OF MATERIAL TO LOCALIZE
};
}
}
Resource bundle allows you to generate programs that can: be easily localized or translated into a number of languages. Also these programs can easily switch between multiple locales at an instance or modified later that so they can support even more locales. Nonetheless, resource bundle have some rather disturbing problem. First, if the translations are stored in the database, a new localization cannot be created without engineering the codes. Then, there is no way for refreshing the underlying data at runtime. .
References
Liang, Y. D. (2011). Introduction to Java Programming-Comprehensive, 9th ed . Upper Saddle River, New Jersey: Prentice Hall.