This documentation is archived and is not being maintained.

Developing World-Ready Applications

When developing world-ready applications, you must focus attention on a variety of issues throughout the application design and development process. The three key issues are globalization, localizability, and localization.

Globalization is the first step in the process. A globalized application supports localized user interfaces and regional data for all users. Truly global applications should be culture-neutral and language-neutral. An intermediate step prior to localization is testing for localizability. In this step, you ensure that you have separated the application's resources that require translation from the rest of the application's code. If you correctly test for localizability before proceeding to the localization step, you should not have to modify your application's source code during localization. Localization is the last step in the process of developing a world-ready application. In this step, you customize your application for the specific cultures or regions to be supported. This step should consist primarily of translating the user interface into the target languages.

If you address globalization, localizability, and localization requirements from early on in the design phase, you will minimize the amount of time and money required to produce quality localized applications for the languages that you intend to support. The .NET Framework provides extensive support for developing world-ready applications. This topic provides information to help you design and develop world-ready applications.

For additional information, see Globalizing and Localizing Applications in the Visual Studio .NET documentation, International Support in Microsoft Windows 2000 (, and the Microsoft Global Software Development Site (

In This Section

Developing World-Ready Applications Overview
Describes the three steps involved in designing a world-ready application in managed code: globalization, localizability, and localization; explains the advantages of following this model.
Using the CultureInfo Class
Describes the CultureInfo class and how to set and use the CurrentUICulture, CurrentCulture, and InvariantCulture properties.
Locating and Using Resources for a Specific Culture
Describes how the ResourceManager accesses culture-specific resources at run time based on the CurrentUICulture property.
Unicode in the .NET Framework
Describes the Unicode universal character encoding scheme for characters and text and the benefits of using it internally in the .NET Framework.
String Indexing
Describes how to use the StringInfo class to enumerate strings of text elements and iterate through those elements.
Formatting Date and Time for a Specific Culture
Describes how to use the DateTime class to format dates for specific cultures.
Using Calendars for Specific Cultures
Describes how to use the Calendar class and CultureInfo class to display and manipulate calendars for specific cultures.
Formatting Numeric Data for a Specific Culture
Describes how to use the NumberFormatInfo class to format and display currency, decimal separators, and other numeric symbols based on culture.
Comparing and Sorting Data for a Specific Culture
Describes how to compare and sort data on a per-culture basis in order to support culture-specific and language-specific sorting conventions.
Culture-Insensitive String Operations
Describes how to use .NET Framework methods and classes that are culture-sensitive by default to obtain culture-insensitive results.
Best Practices for Developing World-Ready Applications
Describes the best practices to follow for globalization, localization, and developing world-ready ASP.NET applications.
Resources in Applications
Describes the .NET Framework's support for the creation and localization of resources and the satellite assembly resource model for packaging and deploying these localized resources.

Related Sections

System.Globalization Namespace
Contains classes that define culture-related information, including the language, the country/region, the calendars in use, the format patterns for dates, currency, and numbers, and the sort order for strings.
System.Resources Namespace
Provides classes for creating, manipulating, and using resources.
System.Text Namespace
Contains classes representing ASCII, ANSI, Unicode, UTF-7, UTF-8 and other character encodings.
Resource File Generator (Resgen.exe)
Describes how to use Resgen.exe to convert .txt files and .resx (XML-based resource format) files to common language runtime binary .resources files.
Windows Forms Resource Editor (Winres.exe)
Describes how to use Winres.exe to quickly and easily localize Windows Forms forms.
ASP.NET QuickStart
Provides the following samples in the Localization category: Setting Culture and Encoding, Localizing ASP.NET Applications, and Working with Resource Files.
Common Tasks QuickStart
Provides the following Globalization and national language support (NLS) samples: CultureRegion Sample, MultipleEncodings Sample, Encoding Sample, and MultiCurrency Sample. Provides the following Resources samples: Create Resources, Use Resources, Read and Write Resources, and Make a Resource Reader.
Resources and Localization Using the .NET Framework SDK
Explains how to build a .NET Framework application that uses the appropriate localized text and binary resources at runtime, depending on the user's culture.