Internationalization and localization

Internationalization is the process of designing a software application so that it can be adapted to various languages and regions without engineering changes.

Localization is the process of adapting internationalized software for a specific region or language by translating text and adding locale-specific components.

According to Software without frontiers, the design aspects to consider when internationalizing a product are "data encoding, data and documentation, software construction, hardware device support, and user interaction"; while the key design areas to consider when making a fully internationalized product from scratch are "user interaction, algorithm design and data formats, software services, and documentation".

For internationalization, UTC is often used internally and then converted into a local time zone for display purposes.

[10] Details such as field length for street addresses, unique format for the address, ability to make the postal code field optional to address countries that do not have postal codes or the state field for countries that do not have states, plus the introduction of new registration flows that adhere to local laws are just some of the examples that make internationalization a complex project.

The current prevailing practice is for applications to place text in resource files which are loaded during program execution as needed.

Programs are often built to reference resource libraries depending on the selected locale data.

A globalization method includes, after planning, three implementation steps: internationalization, localization and quality assurance.

[10] To some degree (e.g. for quality assurance), development teams include someone who handles the basic/central stages of the process which then enables all the others.

Specialized technical writers are required to construct a culturally appropriate syntax for potentially complicated concepts, coupled with engineering resources to deploy and test the localization elements.

In the early 1980s, Lotus 1-2-3 took two years to separate program code and text and lost the market lead in Europe over Microsoft Multiplan.

[10] MicroPro found that using an Austrian translator for the West German market caused its WordStar documentation to, an executive said, not "have the tone it should have had".

The internationalization and localization process
(based on a chart from the LISA website)