Localization is the process of adapting a software
application for a specific locale. It is defined as the process of creating
and configuring an application for supporting a specific language or locale. Globalization
is defined as the process of identifying the specific portion of the application
that needs to be different for different languages and how to isolate them from
the application's core. Therefore, it is the process of identifying the
localizable resources of the application.
The Microsoft .NET library provides support for
globalization and localization using the following namespaces.
The System.Globalization namespace provides support for
developing multilingual applications in Microsoft .NET by allowing the
developers to define culture specific information. The sections that follow
discuss cultures and how to work with them in .NET. The System.Resources namespace
provides support to create, store and manage various culture-specific resources
used in an application. It contains a class called ResourceManager that allows
access to resources either from the main assembly or those that are present in
Satellite Assemblies. We will discuss both ResourceManager and Satellite
Assemblies in more detail later in this article. The System.Text namespace
provides support for representing various character encodings like ASCII,
Unicode, UTF-7 and UTF-8. The System.Threading namespace contains classes and
interfaces that provide support for multithreaded programming.