General Interface is an open source project hosted by the Dojo Foundation

About Internationalization and Localization

Internationalization (i18n) and localization (l10n) of applications is the process of preparing an application for international audiences. This process involves separating locale-dependent resources from the program code. These resources can then be localized (translated) for other regions of the world (locales). The appropriate resource is then loaded at runtime according to the user's locale.

Definitions and Terms

The following terms are some of the terms used in discussing internationalization and localization:

  • Internationalization is the process of preparing an application and its user interface so it can be used in more than one locale. An internationalized application is translation-ready. Internationalization is often abbreviated as 'i18n', where 18 represents the number of letters between 'i' and 'n.'
  • Localization is the customization of application resources for a particular locale or region of the world. While internationalization generalizes an application for any locale, localization specializes the application for a single locale. Localization is often abbreviated as 'l10n', where 10 represents the number of letters between 'l' and 'n.'
  • A locale defines a set of language and cultural conventions for the display and formatting of data in the user interface, such as labels, dates, numbers, and messages. A locale is defined by a locale identifier which consists of a language identifier and/or a region identifier.
  • Resourcing is the process of separating the locale-specific elements from the source code, so they can be externalized from the application. Resource bundles are used for resourcing strings and objects.
  • Resource bundles are specialized files that contain a collection of translatable strings. A unique resource key identifies each string in the resource bundle. The hard-coded string in your application is replaced by a reference to the resource bundle and the resource key. These separate resource files are then sent to translators for translation into other languages.
  • Unicode is a universal character encoding that provides a unique number for every character. Unicode is used in internationalizing applications, because it is independent of language, computer platform, and programming language. Examples of Unicode encoding include UTF-8 and UTF-16. For more information, see http://www.unicode.org/.

Contents

Searching General Interface Docs

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.