In an integrated global economy, software applications must be compatible in numerous languages and cultures. Users want to run applications in their own language, using their own local conventions. Furthermore, international companies have international needs. For example, a large corporation with headquarters in Tokyo and branches in New York and Paris may require a mixture of English, Japanese, and French software environments supporting multiple languages on one site.
To sell software to multinational companies, developers must always be aware of local customs, conventions, and requirements during development, such as character sets, numeric, time, date, and monetary formats, and messages. Adapting software to localized writing systems is particularly challenging in Asian markets. 8-bit encoding is good enough for European phonetic alphabets, but Chinese, Japanese, and Korean ideographs require multibyte encoding.
Internationalized software applications include internationalized code and localized locale-specific data.
Internationalization generalizes software by using a single internationalized binary which retrieves locale-specific data and shared objects at run time. The application runs on any localized version of the Solaris operating environment, without requiring source code changes or recompilation.
Localization customizes software data, providing locale-specific modules that meet local requirements. Localization can be either of the following:
Full localization--input, output, print, cultural conventions, and translated message text.
Partial localization--input, output, print, cultural conventions, without translated message text.
Developers generally create applications for the U.S. market. Internationalization is especially important in newer, smaller markets which don't yet justify full localization. Here, a phased approach is recommended, beginning with the current internationalized Solaris operating environment version, followed by localization as the market grows as illustrated in Figure 1-1.
Sun Microsystems requires that all applications be internationalized.
Internationalization addresses many of the key software issues:
Improving software quality
Reducing development time and cost
Enabling code reuse
Reducing localization costs
Reducing maintenance costs
Increasing customer satisfaction
Using separate locale-specific files to localize applications is simpler, faster, and more cost effective on the whole. Software is more easily released world wide at less expense. As well, users are much happier working in their own language with their own conventions.
Using a single binary in an internationalized application ensures that the same feature set is available for a particular software version and lessens support, maintenance, and system-administration costs. Interoperability and productivity improves and common training materials can be used. Most importantly, internationalized and localized applications help developers compete and succeed in new foreign-language markets. Everyone benefits with internationalized software.