Chapter 11. Internationalization

Developing an application that caters to the needs of users from different parts of the world requires two related processes, known as internationalization and localization. Internationalization refers to preparing an application by identifying everything that will vary in different geographical regions and providing the means to use different versions of all these items, instead of hardcoded values. Examples of such items include labels and messages, online help texts, graphics, format of dates, times and numbers, currencies, measurements, and sometimes even the page layouts and colors. Many people use the abbreviation i18n for the word “internationalization,” because the word is spelled with the letter I followed by 18 characters and an N—i18n is much easier to type.

An application that has been internationalized can be localized for different regions without changing any code. Localization means making the application messages, help texts, graphics, and so forth—as well as rules for formatting dates/times and numbers—for one or more regions available to the internationalized application. Localization is sometimes abbreviated l10n, following the same logic as the i18n abbreviation. Adding support for a new region is as simple as installing new localized resources.

The Java core libraries include a number of tools to make it easy to develop internationalized applications and create localized resources, and JSF builds on these features. In this chapter, ...

Get JavaServer Faces now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.