In computing, internationalization and localization are means of adapting computer software to different languages, regional differences and technical requirements of a target market.
Internationalization (sometimes shortened to "I18N , meaning "I – eighteen letters -N") is the process of planning and implementing products and services so that they can easily be adapted to specific local languages and cultures, a process called localization . The internationalization process is sometimes called translation or localization enablement. Enablement can include:
• Allowing space in user interfaces (for example, hardware labels, help pages, and online menus) for translation into languages that require more characters.
• Developing with products (such as Web editors or authoring tools) that can support international character sets.
• Creating print or Web site graphic images so that their text labels can be translated inexpensively.
• Using written examples that have global meaning.
• For software, ensuring data space so that messages can be translated from languages with single-byte character codes (such as English) into languages requiring multiple-byte character codes (such as Japanese Kanji)
Localization (sometimes shortened to "l10n") is the process of adapting a product or service to a particular language, culture, and desired local "look-and-feel." Ideally, a product or service is developed so that localization is relatively easy to achieve – for example, a technical illustrations for manuals in which the text can easily be changed to another language and allowing some expansion room for this purpose. This enabling process is termed internationalization. An internationalized product or service is therefore easier to localize. The process of first enabling a product to be localized and then localizing it for different national audiences is sometimes known as globalization.
In localizing a product, in addition to idiomatic language translation, such details as time zones, money, national holidays, local color sensitivities, product or service names, gender roles, and geographic examples must be considered. A successfully localized service or product is one that appears been developed within the local culture.
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.
One example of the pitfalls of localization is the attempt made by Microsoft to keep some keyboard shortcuts significant in local languages. This has resulted in some (but not all) programs in the Italian version of Microsoft Office using "CTRL + S" (sottolineato) as a replacement for "CTRL + U" (underline), rather than the (almost) universal "Save" function.
Costs and benefits:
In a commercial setting, the benefit from localization is access to more markets. However, there are considerable costs involved, which go far beyond just engineering. First, software must generally be re-engineered to make it world-ready.
Then, providing a localization package for a given language is in itself a non-trivial undertaking, requiring specialized technical writers to construct a culturally appropriate syntax for potentially complicated concepts, coupled with engineering resources to deploy and test the localization elements. Further, business operations must adapt to manage the production, storage and distribution of multiple discrete localized products, which are often being sold in completely different currencies, regulatory environments and tax regimes.
Finally, sales, marketing, and technical support must also facilitate their own operations in the new languages, in order to support customers for the localized products. Particularly for relatively small language populations, it may thus never be economically viable to offer a localized product. Even where large language populations could justify localization for a given product, and a product's internal structure already permits localization, a given software developer/publisher may lack the size and sophistication to manage the ancillary functions associated with operating in multiple locales. For example, Microsoft Windows 7 has 96 language packs available.
One alternative, most often used by open source software communities, is self-localization by teams of end-users and volunteers. The KDE3 project, for example, has been translated into over 100 languages, and KDE4 is available in 68. However, self-localization requires that the underlying product first be engineered to support such activities, which is a non-trivial endeavor.
August 29, 2013