NASA’s Mars Climate Orbiter was lost on September 23, 1999, at a cost of $125 million, because one engineering team used metric units, while another one used inches for a key spacecraft operation. When writing applications for international distribution, different cultures and regions must be kept in mind.
Different cultures have diverging calendars and use different number and date formats. Also, sorting strings may lead to various results because the order of A–Z is defined differently based on the culture. To make applications fit for global markets, you have to globalize and localize them.
Globalization is about internationalizing applications: preparing applications for international markets. With globalization, the application supports number and date formats that vary depending on the culture, different calendars, and so on. Localization is about translating applications for specific cultures. For translations of strings, you can use resources.
.NET supports globalization and localization of Windows and Web applications. To globalize an application, you can use classes from the namespace System.Globalization; to localize an application, you can use resources that are supported by the namespace System.Resources.
This chapter covers the globalization and localization of .NET applications; more specifically, it discusses the following:
- Using classes that represent cultures and regions
- Globalization of applications
- Localization of applications