Internationalization and localization
From Wikipedia, the free encyclopedia
In computing, internationalization and localization (also spelled internationalisation and localisation, see spelling differences) are means of adapting computer software to different languages and regional differences. Internationalization is the process of designing a software application so that it can be adapted to various languages and regions without engineering changes. Localization is the process of adapting internationalized software for a specific region or language by adding locale-specific components and translating text.
The terms are frequently abbreviated to the numeronyms i18n (where 18 stands for the number of letters between the first i and last n in internationalization, a usage coined at DEC in the 1970s or 80s) and L10n respectively, due to the length of the words. The capital L in L10n helps to distinguish it from the lowercase i in i18n.
Some companies, like Microsoft, IBM and Sun Microsystems, use the term globalization for the combination of internationalization and localization. Globalization can also be abbreviated to g11n.
This term is also known as NLS (National Language Support or Native Language Support).
Focal points of internationalization and localization efforts include:
- Computer-encoded text
- Alphabets/scripts; most recent systems use the Unicode standard to solve many of the character encoding problems.
- Different systems of numerals
- Writing direction which is e.g. left to right in German, right to left in Persian, Hebrew and Arabic
- Spelling variants for different countries where the same language is spoken, e.g. localization (en-US, en-CA, en-GB-oed) vs. localisation (en-GB, en-AU)
- Text processing differences, such as the concept of capitalization which exists in some scripts and not in others, different text sorting rules, etc
- Enablement of keyboard shortcuts on any keyboard layout
- Graphical representations of text (printed materials, online images containing text)
- Spoken (Audio)
- Subtitling of film and video
- Computer-encoded text
- Images and colors: issues of comprehensibility and cultural appropriateness
- Names and titles
- Government assigned numbers (such as the Social Security number in the US, National Insurance number in the UK, Isikukood in Estonia) and passports
- Telephone numbers, addresses and international postal codes
- Currency (symbols, positions of currency markers)
- Weights and measures
- Paper sizes
- Writing conventions
- Any other aspect of the product or service that is subject to regulatory compliance
The distinction between internationalization and localization is subtle but important. Internationalization is the adaptation of products for potential use virtually everywhere, while localization is the addition of special features for use in a specific locale. Internationalization is done once per product, while localization is done once for each combination of product and locale. The processes are complementary, and must be combined to lead to the objective of a system that works globally. Subjects unique to localization include:
- Language translation
- National varieties of languages (see language localization)
- Special support for certain languages such as East Asian languages
- Local customs
- Local content
- Order of sorting
- Cultural values and social context
Business Process for Internationalizing Software
In order to internationalize a product, it is important to look at a variety of markets that your product will foreseeably enter. Details such as field length for addresses, ability to make the zip code field optional to address countries that do not have zip codes, plus the introduction of new registration flows that adhere to local laws are just some of the examples that make internationalization a complex project.
A broader approach takes into account cultural factors regarding for example the adaptation of the business process logic or the inclusion of individual cultural (behavioral) aspects.
The current prevailing practice is for applications to place text in resource strings which are loaded during program execution as needed. These strings, stored in resource files, are relatively easy to translate. Programs are often built to reference resource libraries depending on the selected locale data. One software library that aids this is gettext.
Thus to get an application to support multiple languages one would design the application to select the relevant language resource file at runtime. Resource files are translated to the required languages. This method tends to be application-specific and, at best, vendor-specific. The code required to manage date entry verification and many other locale-sensitive data types also must support differing locale requirements. Modern development systems and operating systems include sophisticated libraries for international support of these types.
While translating existing text to other languages may seem easy, it is more difficult to maintain the parallel versions of texts throughout the life of the product. For instance, if a message displayed to the user is modified, all of the translated versions must be changed. This in turn results in a somewhat longer development cycle.
Many localization issues (e.g. writing direction, text sorting) require more profound changes in the software than text translation. For example, OpenOffice.Org achieves this with compilation switches.
To some degree (e.g. for Quality assurance), the development team needs someone who understands foreign languages and cultures and has a technical background. In large societies with one dominant language/culture, it may be difficult to find such a person.
Cost vs benefit tradeoff
In a commercial setting, the benefit from localization is access to more markets. Some argue that the commercial case to localize products into multiple languages is very obvious, and that all is needed is a budgetary commitment from the producer to finance the considerable costs. It costs more to produce products for international markets, but in an increasingly global economy, supporting only one language/market is scarcely an option. Still, proprietary software localization is impacted by economic viability and usually lacks the ability for end users and volunteers to self-localize, as is often the case in open-source environments.
Since open source software can generally be freely modified and redistributed, it is more amenable to internationalization. The KDE project, for example, has been translated into over 100 languages.
- Bidirectional script support
- Computer russification, localization into Russian language
- Game localization
- Globalization Management System
- Global information system
- Input method editor
- International Components for Unicode
- Language code
- Language industry
- Language localization
- Multilanguage Electronic Phototypesetting System (MEPS)
- Pseudolocalization, a software testing method for testing a software product's readiness for localization.
- Punycode, translating Unicode into the character sets for network host names
- Region code
- Separation of concerns
- Worldware Conference - Global Software Strategies
- I:B:Loc : Localization, Multilingual DTP and QA
- Mensatio - Another definition for localization
- World Wide Navi - Software Internationalization Tool
- ^ "Glossary of W3C Jargon". World Wide Web Consortium. http://www.w3.org/2001/12/Glossary#I18N. Retrieved 2008-10-13.
- ^ IBM Globalization web site
- ^ Microsoft Globalization Step-by-Step Guide
- ^ Wiktionary g11n definition
- ^ http://blog.i18n.ro/are-we-supposed-to-localize-keyboard-shortcuts/
- ^ Internationalizing a Product: Product Internationalization 101
- ^ Pawlowski, J.M. (2008): Culture Profiles: Facilitating Global Learning and Knowledge Sharing. Proc.of ICCE 2008, Taiwan, Nov. 2008. Draft Version
- ^ For the current list see KDE.org
|Look up internationalization or localization in Wiktionary, the free dictionary.|
|Wikibooks has a book on the topic of|
- .NET Internationalization: The Developer's Guide to Building Global Windows and Web Applications, Guy Smith-Ferrier, Addison-Wesley Professional, 7 August 2006. ISBN 0-321-34138-4
- A Practical Guide to Localization, Bert Esselink, John Benjamins Publishing, . ISBN 1-58811-006-0
- Lydia Ash: The Web Testing Companion: The Insider's Guide to Efficient and Effective Tests, Wiley, May 2, 2003. ISBN 0471430218
- Business Without Borders: A Strategic Guide to Global Marketing, Donald A. DePalma, Globa Vista Press . ISBN 978-0976516903