Software internationalization (a.k.a.,
globalization, localization) is the
implementationtask during which
software components are implemented to be usable in multiple
countries and to conform to multiple languages and
cultures.
Software internationalization involves the following roles
performing the following steps in an iterative, incremental,
parallel, and time-boxed manner:
For each software component, determine all places in
the software component that may need to be
internationalized including those that involve textual,
numerical, audio, graphical, and video data:
Input.
Storage.
Output.
Display.
Determine how to implement each part of a software
component requiring internationalization based on the
associated countries, languages, and cultures:
Nationality (e.g., currency, time, date, tax laws,
and import/export duties).
Language and dialect.
Culture (e.g., removal of offensive or inappropriate
words, images, or colors).
Implement the implementation parts of the software
components:
Implement a multibyte character set (MBCS) for the
official languages of the target countries (e.g., using
Unicode ISO-10646).
Implement software components so that they satisfy
target country and language conventions for:
Calendars (e.g., Japan, Korea, and Islamic
countries), date formatting (e.g., Europe vs. USA), and
time formatting (e.g., 12 hour vs. 24 hour clock).
Currency formatting (e.g., currency symbol,
fractional currency, and number of digits).
Currency translation.
Cultural norms (e.g., avoidance of specific colors,
numbers, graphics, product names, and words).
Line breaks and hyphenation.
Names (e.g., number, order, honorifics, and
suffixes).
Numbers:
Chinese ideographic characters for numbers in
financial documents.
National identity numbers (e.g., social security
number).
Sorting of lists.
Legal issues such as:
Import/export laws.
Tariff and sales tax calculations.
Customs documentation.
Trademarks.
Privacy laws.
Text directions (e.g., left to right, right to
left, top to bottom).
Check to ensure that the internationalization code does
not involve making ot require changes to executable
software component including user interfaces.
Software internationalization should be driven from
internationalization requirements and conform to
architectural mechanisms for internationalization.
There is far more to meeting internationalization
requirements then creating international content. Numerous
software components must be modified to support
internationalization.