Internationalizing Software

The goal of internationalization is to present users with a consistent look, feel, and functionality across different language editions of a product. Users expect localized software to support the same basic set of features that the original language edition of the product does, and they expect it to achieve the same level of quality. They also expect different language editions to interact smoothly with one another.

Internationalizing software involves designing a user interface and a code base that are generic enough to work for most of the product's intended language editions. Of course, some customization may be necessary, but the fewer changes needed for international editions, the faster you can release the product.

A key prerequisite to creating an internationalized code base for your application is that all language editions share the same source files. Maintaining separate source files for different language editions of the same product is error-prone, a waste of time and disk space, and unnecessary for code that is properly internationalized.

The process of coding an application that supports multiple language editions requires you to perform three tasks: