| |||||||||
Internationalization and localization are means of adapting products such as publications or software for non-native environments, especially other nations and cultures. Internationalization is often abbreviated as I18N (or i18n or I18n), by IBM and others, where the number 18 refers to the number of letters omitted. "Localization" is often abbreviated L10N in the same manner. Both notions are sometimes collectively termed globalization (G11N), but that word has a more common meaning. Also "P13n" for personalization and "R3h" for reach, as in the reach of a website across countries and markets.
Focal points of internationalization and localization efforts include:
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. Subjects unique to localization include:
In making software products, internationalization and localization pose challenging tasks for developers, particularly if the software is not designed from the beginning with these concerns in mind. A common practice is to separate textual data and other environment-dependent resources from the program code. In this way, supporting a different environment, ideally, only requires change in those separate resources without any code modification; thus, the task is greatly simplified.
The development team needs someone who understands foreign languages and cultures and has a technical background; such a person may be difficult to find. Moreover, the duplication of resources could be maintenance nightmare. For instance, if a message displayed to the user in one of several languages is modified, all of the translated versions must be changed. Software libraries that aid this task are available, such as Gettext and Hurricane.
Since free software can be freely modified and redistributed it is also more apt to be internationalized. Most proprietary software is not translated into languages that are not considered to be economically viable. A project that has been translated into over 70 languages is KDE.
The term internationalization is also sometimes used interchangeably with globalization when speaking broadly of the economic and cultural effects of an increasingly interconnected world.
While internationalization is most commonly taken to refer to the addition of a framework for multiple language support, especially in software, it is also sometimes used to refer to the process whereby something (a corporation, idea, highway, war, etc.) comes to affect more than one nation. This usage has become uncommon and globalization is preferred. Because of globalization, many companies and products find themselves in many countries worldwide. This has given rise to increasing requirements for localization of products and services.
Also, as an alternative to economic globalization, localization has been used to describe the process of concentrating production of goods nearer their end-users, rather than wherever the lowest costs are. The idea is to cut down environmental and other external costs that can occur with the extra transportation and regional specialization that globalization encourages.