Internationalization and Localization

The guide provides a basic understanding of the internationalization and localization processes and how they apply to widget development.

Internationalization is the process of enabling a software application to function equally well in any of its supported locales; to enable it to be localized. Localization is the process of modifying elements of an application to support the requirements of a particular locale. For any application required to support more than one locale, the widget developer must internationalize the widget to ensure that it can be localized with ease.

Note: Internationalization and localization are long words. They are commonly abbreviated as i18n and L10n for each term. The number in each abbreviation is the number of letters that are removed between the first and last letters of the original word. A capital L is used in L10n to avoid confusion with the i in i18n, which can be capitalized at the start of a sentence. Internationalization is also sometimes referred to as international-enabling or national language support (NLS).

Localization is a process that usually takes place after development. The natural language text elements of the application are typically submitted to an agency that specializes in language translation. The agency returns the text elements that are translated into a new language and this text is then incorporated back into the application. This process is only possible if the application makes it easy to package up the text elements and replace them with text in another language; if the application is properly internationalized.

There are many other aspects to localization. Some of these are handle automatically by the CDEJ and some remain the concern of the widget developer.