On This Page
Developing internationalized products is a continuous balancing act. Developers and their managers often grossly underestimate the level of effort and attention to detail required to create either a world-ready, single-binary application ready for use in many different markets, or high-quality, foreign-language editions of a product. If you are a developer, make sure your management understands what is involved. Familiarity with the kinds of problems that arise will help you make decisions at the beginning of your product cycle, saving you time and money-not to mention grief.
The process of creating internationalized software has two facets (see Figure below):
For example, using the National Language Support (NLS) supplied by the Microsoft Win32 application programming interface (API) is a world-readiness step, whereas modifying the user interface (UI) elements, translating text, and standardizing terminology are localization steps. Developers write code, so they tend to focus primarily on world-readiness issues. But because code and feature design affect how a product is translated and customized, developers must also understand basic localization concepts.
The process of developing a program core whose features and code design are not solely based on a single language or locale. Instead, their design is developed for the input, display, and output of a defined set of Unicode-supported language scripts and data related to specific locales.
The design of the software code base and resources such that a program can be localized into different language editions without any changes to the source code.