Internationalization is the process of designing an application so that it can be adapted to different languages and regions, without requiring engineering changes. Sometimes the term internationalization is abbreviated as i18n, because in the English language there are 18 letters between the first "i" and the last "n."
An internationalized program has the following characteristics:
- With the addition of localization data, the same executable can run worldwide.
- Textual elements such as status messages and the GUI component labels are not hardcoded in the program. Instead, they are stored outside the source code and retrieved dynamically.
- Support for new languages does not require recompilation.
- Other culturally-dependent data, such as dates and currencies, appear in formats that conform to the end-user's region and language.
- It can be localized quickly.
Localization is the process of adapting software for a specific region or language by adding locale-specific components and translating text. The term localization is often abbreviated as l10n, because in the English language there are 10 letters between the "l" and the "n." The most time-consuming portion of the localization phase is the translation of text. Other types of data, such as sounds and images, may require localization if they are culturally sensitive. Localizers also verify that the formatting of dates, numbers, and currencies conform to local requirements.
Internationalization may seem a bit daunting at first. It's such a big word. Reading the following sections will help ease you into the subject.
A Quick Example
This section shows you how to internationalize a simple program, step-by-step.
So, you've inherited a program that needs to be internationalized, but you don't know where to start? Check out this checklist. It summarizes the necessary internationalizion tasks, and provides links to the relevant lessons in this trail.