|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.|
Encoding and Localization Overview
The .NET Framework provides extensive support for the development of world-ready applications. When developing a world-ready application, it is recommended that you divide the process up into three steps: globalization, localizability, and localization.
Globalization is the first step in the process of creating a world-ready application. In this step, the application's executable code is written. A truly global application should be culture-neutral and language-neutral. Therefore, you should focus attention on creating an application that will be able to support localized user interfaces and regional data for all users. Note that although a globalized application has this flexibility, the globalization process itself does not involve translating the user interface. Instead, you should strive to create an application with functionality that works equally well for users from all cultures and regions your application supports.
Before proceeding to localization, you should perform an intermediate check to determine the application's Localizability. If an application is localizable, you have correctly separated the application's executable code from its resources. If you correctly assess your application's localizability, the application's source code will not need to be modified during localization.
The final step in building a world-ready application is Localization, where you customize the application for specific cultures or regions. If the globalization and localizability steps have been performed correctly, localization should consist primarily of translating the user interface.
There are several advantages to designing and developing world-ready applications:
Worldwide revenue. The more cultures that your application supports, the broader your user or customer base will be.
You can rapidly add support for new cultures. Once the initial application is complete, no additional development is necessary to produce localized versions. To add a new culture to support, you need only translate the application's resources for the target culture.
You use resources more efficiently. Implementing world-readiness as part of the original development process requires fewer development and testing resources than if you add the support after the initial development work begins. It is expensive to retrofit an application designed to support a single culture, such as U.S. English, to support additional cultures. Furthermore, attempting to introduce support for additional cultures into a completed application can also introduce instability and bugs into the application.