Introduction

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 respectively. The number in each abbreviation is the number of letters that have been 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 may 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 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 has been 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.