In the old days, we have to have separate applications built to support different languages and countries. And lots of them are still running today. That incurs much higher maintenance costs and inflexibility. To solve that issue, the idea is to run one web application, i.e., one code base, while the web interface can adapt to user's cultural settings.
ASP.NET has the built-in capability to address localization. Basically a web application has different set of resources to support different cultures. And it can select/render the contents with the right set of resources based on a user's culture.
ASP.NET 2.0 offers two mechanisms on selecting the right resources. One is called implicit localization, where an appropriate set of resources is automatically selected based on a user's language preferences contained within browser settings. All you need to do is make available the resources for each language/country and set the Culture="auto" and UICulture="auto" attributes in the Page directive. The other is explicit localization, where you can explicitly set the culture of a web application. To do that, you need to set the CurrentCulture and CurrentUICulture properties of the current thread in the Page_PreInit event. You may look at a short introduction on ASP.NET 2.0 localization at: http://www.ondotnet.com/pub/a/dotnet/2005/08/08/localizingaspnet20.html?page=1
It is a little bit counter-intuitive to me that localization and globalization work hand-in-hand. Yes...in order for your web contents to be comprehended and appreciated by the global community, you have to make sure your web pages are localized in their languages and follow their local conventions on fields like names and timestamps. User-friendliness goes a long way for a good web application.
Globalization can be defined as a need for web applications. It is the need to adapt the culture of a web interface to the user's culture. We have to address that need in our web applications in order to friendly and respectfully serve the global community. The question of how to address that need flexiblely and cost effectively is part of the discussion on web application architecture and design.
Some people have pushed the definition of globalization a little further. Under the stretched definition, globalization means adapting the web interfaces to not only the user's culture, but also the user's market segment or other characteristics. But I would call that kind of differentiation personalization. Personalization can be defined as a need to adapt the web interface layouts and web contents detailing product/service offerings, marketing messages, etc. to the characteristics of a group of users or an individual user. To offer personalization cost effectively and flexiblely would also require a good deal of consideration in application architecture and design. Though there are similiarities between globalilzation and personalization, I would suggest to confine the definition of globalization to adapting the culture of a web interface to the user's culture.
Localization is the set of processes and actions to localize a web interface to a user's culture. Localization means much more than translating the web contents from one language to another, such as name formatting, timestamp formatting and text directions.