Chapter 1 Understanding Internationalization

Developing globalized software is a continuous balancing act. Developers and their managers often grossly underestimate the level of effort and attention to detail required to create 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 globalized software has two facets—"internationalization," which covers generic coding and design issues, and "localization," which involves translating and customizing a product for a specific market. Using the national language support supplied by the Microsoft Win32 API is an internationalization step, whereas resizing dialog boxes and standardizing terminology are localization steps. Developers write code, so they tend to focus primarily on internationalization issues. But because code and feature design affect how a product is translated and customized, developers must also understand basic localization concepts.

The first two chapters of this book provide a helpful introduction to software internationalization on Microsoft Windows. They discuss general concepts and techniques for creating globalized applications, define terms used throughout the rest of the book, and provide a framework for later chapters, which cover specific technical details about using Windows-based tools and Win32 API functions.