I always had a trouble how to explain this subject to other people. That’s why I’ve decided to collect the main definitions (and explanations) of internationalization and localization in one place. W3C explain this concept pretty well:
Internationalization is the design and development of a product, application or document content that enables easy localization for target audiences that vary in culture, region, or language.
Localization refers to the adaptation of a product, application or document content to meet the language, cultural and other requirements of a specific target market (a locale).
Let’s paraphrase these definitions based on Apple guides:
- Internationalization (i18n) is the process of designing and building an application to facilitate localization. The main concern is that application can be adapted to various languages and regions without engineering changes.
- Localization (l10n) is the cultural and linguistic adaptation of an internationalized application to two or more culturally-distinct markets
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. (http://docs.oracle.com/javase/tutorial/i18n/intro/index.html)
Definitions from Mozilla Internationalization & Localization Guidelines:
(a.k.a. Globalization, a.k.a. Enabling)
|Designing and developing a software product to function in multiple locales. This process involves identifying the locales that must be supported, designing features which support those locales, and writing code that functions equally well in any of the supported locales.|
|Localization||Modifying or adapting a software product to fit the requirements of a particular locale. This process includes (but may not be limited to) translating the user interface, documentation and packaging, changing dialog box geometries, customizing features (if necessary), and testing the translated product to ensure that it still works (at least as well as the original).|
|Localizability||The degree to which a software product can be localized. Localizable products separate data from code, correctly display the target language and function properly after being localized.|
|i18n||Acronym for ‘internationalization’ (‘i’ + 18 letters + ‘n’; lower case i is used to distinguish it from the numeral 1 (one)).|
|L10n||Acronym for ‘localization’ (‘L’ + 10 letters + ‘n’; upper case L is used to distinguish it from the numeral 1 (one)).|
|L12y||Acronym for ‘localizability’ (‘L’ + 12 letters + ‘y’; upper case L is used to distinguish it from the numeral 1 (one)).|
|Locale||A set of conventions affected or determined by human language and customs, as defined within a particular geo-political region. These conventions include (but are not necessarily limited to) the written language, formats for dates, numbers and currency, sorting orders, etc.|
|Resource||1. Any part of a program which can appear to the user or be changed or configured by the user.|
2. Any piece of the program’s data, as opposed to its code.
|Core product||The language independent portion of a software product (as distinct from any particular localized version of that product – including the English language version). Sometimes, however, this term is used to refer to the English product as opposed to other localizations.|
- Localization vs. Internationalization
- Mozilla Internationalization & Localization Guidelines
- Mac Developer Library: Internationalization and Localization
Reference: Internationalization vs Localization (i18n vs l10n) from our JCG partner Orest Ivasiv at the Knowledge Is Everything blog.Related Whitepaper:
This guide will introduce you to the world of Software Architecture!
This 162 page guide will cover topics within the field of software architecture including: software architecture as a solution balancing the concerns of different stakeholders, quality assurance, methods to describe and evaluate architectures, the influence of architecture on reuse, and the life cycle of a system and its architecture. This guide concludes with a comparison between the professions of software architect and software engineer.