Lesson: Introduction
Internationalization is the process of designing an application so that
it can be adapted to various languages and regions without engineering
changes. Sometimes the term internationalization is abbreviated as
i18n, because there are 18 letters between the first "i" and
the last "n."
An internationalized program has the following characteristics:
- With the addition of localized 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.
- 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 there are 10 letters
between the "l" and the "n."
The primary task of localization is translating the user interface elements
and documentation. Localization involves not only changing the
language interaction, but also other relevant changes such as
display of numbers, dates, currency, and so on. Other types of data, such as
sounds and images, may require localization if they are culturally sensitive. The better
internationalized an application is, the easier it is to localize
it for a particular language and character encoding scheme.
Internationalization may seem a bit daunting at first. Reading the
following sections will help ease you into the subject.
This section shows you how to internationalize a simple program, step
by step.
So you've inherited a program that needs to be internationalized or you are planning
to determine the requirements for a newly-developed software. You probably don't
know where to start? Check out this checklist. It summarizes the necessary
internationalization tasks and provides links to the relevant lessons in this chapter.