Introduction
Internationalization, in relation to computer programming, is the process of designing and writing an application so that it can be used in a global or multinational context. An internationalized program is capable of supporting different languages, as well as date, time, currency, and other values, without software modification. This usually involves "soft coding" or separating textual components from program code and may involve pluggable code modules.
Internationalization is often shortened to I18N by practitioners. The rationale is that there are 18 letters between the beginning I and final N in internationalization. Try saying and writing "internationalization" more than a few times and you will appreciate the value of the shorter version. Additionally, you may see "I18N'ed" as a shortened form of "internationalized." While grammatically imprecise and technically incorrect, "I18N'ed" is useful and you will see it frequently in the literature, including this tutorial.
Relational database management systems and operating systems may also provide underlying support for certain aspects of internationalization, often using the term National Language Support or NLS.
Localization is the process of designing and writing an application capable of dealing with a specific regional, country, language, cultural, business, or political context. In a sense, every application written for a specific area is localized, although most of these effectively support only one locale. Usually, though, true localization is achieved by core code that accesses locale, location, political, or other specific components and modules, along with translating text as appropriate for the audience. A properly internationalized program facilitates and provides a foundation for localization.
Localization is often shortened to L10N for the same reasons and logic used to turn "internationalization" into "I18N".
A tax or accounting package that deals with, say, the United States, Canada, Mexico, and Brazil could be I18N'ed so that display, reporting, and other programs would not have be duplicated with customizations for each country. The package would then be L10N'ed to handle different accounting and reporting procedures as appropriate for the country and possibly even for state or province.
The title of this section itself provides one of the reasons for internationalization: a person who had not been exposed to "I18N" or French (raison d'etre means, roughly, "reason for being" ) would have no idea what this section is about. Sometimes that lack of knowledge is an advantage, as evidenced by the success of faux diamonds. However, if software cannot be understood, no matter how intellectually gratifying to the developer, it is useless. Inconvenient or irritating software is also less useful and less marketable.
In the beginning there was ASCII. Even today, most compilers expect ASCII input. As computers developed, the need for additional language support was recognized and a country-specific character set that usually included both ASCII and a local language was provided with the operating system. Even so, only the one "other" language was generally supported and most developers designed programs according to their own national or local culture. Applications on the Internet and Web, for historical and practical reasons, often followed the same pattern. While the emphasis is usually on the English language, it is easy to find single-language applications and Web sites of all varieties.
Another consideration is economic; there is a great big market out there beyond your country's borders. With the rise of GNP in formerly poor countries, the widespread acceptance of computers, and the increasing population on the Web, markets are changing. As of December, 2001, according to Global Reach's Global Internet Statistics page, the Internet population could be broken down to approximately 45 percent English speakers. Next were Japanese at about 9 percent, followed by Chinese, German, Spanish, Korean, Italian, French, and others, in that order. It is reasonable to assume that computer access tracks similar proportions. And while the online population is expected to double from 2001 to 2005 (and online commerce to grow from roughly $1 trillion to over $6 trillion), the English-speaking percentage of that total is expected to fall to about 39 percent in a continuing trend.
Other reasons to pay attention to internationalization issues may be closer to home: your company may open offices in other countries or receive a Request For Proposal (RFP) from a potential customer in another country.


