To compete successfully in international markets, your software must easily accommodate differences in language, culture, and hardware. The most effective way to accomplish this is to take international considerations into account at the beginning of the product cycle and throughout development. By planning ahead, you can create software in a single effort that accommodates multiple languages, instead of just one.
The process of developing an application whose features and code designs do not make assumptions based on a single language or locale and whose source code simplifies the creation of different language editions of an application is known as globalization. The process of creating globalized software is divided into two areas—internationalization, which covers generic coding and design issues, and localization, which involves translating and customizing a product for a specific market.
This section focuses on internationalization and, specifically, the issues that you must consider when designing the code and user interface for a global application.