Chapter 15. Design and development 117
//to convert the value in the source unit to the value in the target unit, and then
return the new value
return convert(value, sourceUnitName, targetUnitName);
In our working example, localization has three aspects—locale model, GBOs, and localization
packs. GBOs are application-independent, while localization packs are application-specific.
15.7.1 Locale model
Locale model localization pertains primarily to locale-sensitive computing provided by the
ICU4J-based Locale Model Bean. ICU4J also builds and maintains a repertoire of
locale-related information—for example, time zones, date and time format, and number
format. Using ICU4J, localization is accomplished simply by passing user locale as a
parameter into the Locale Model Bean. Culturally correct data is then returned. Therefore,
locale model localization is implemented by the development team.
GBO localization pertains primarily to the property files accompanying GBO classes (where
locale-sensitive information is stored). GBO localization for a certain locale means collecting
locale-related information required for this GBO and then organizing it into a property file
according to the pre-defined file structure. For example, in GBONameAddressStyle.class
locale-sensitive information for various locales is stored in the Format.properties file—one for
each locale. GBO localization is implemented by the development team as well, though
information collection might require local support.
15.7.3 Localization packs
Localization packs are application-specific because they contain all language-dependent
Web content needed for Our Global Travel Shanghai Demo. It is also the last step of
localization in our working example. During the development phase, Our Global Travel
Shanghai Demo prototype was set up in English, so that the English-version localization pack
became our base.
Translation of localization packs
The English localization pack was then sent to IBM's Translation Service Centers (TSCs) in
Brazil, China, Egypt, France, Germany, Israel, Italy, Japan, South Korea, Spain, and Taiwan
to be translated into Portuguese, Simplified Chinese, Arabic, French, German, Hebrew,
Italian, Japanese, Korean, Spanish, and Traditional Chinese respectively.
In our working example, a Readme file containing special requirements relating to the
localization pack translation was delivered to the local TSCs together with the localization
pack itself. Example 15-14 on page 118 illustrates one such readme:
Production of localization packs in other language requires full local translation support.