When I say world-ready, I don’t mean it in the sense of "Hello, World!", and I don’t mean that your application is ready to be released to production. Before making an application available to the world, consider that most of the world doesn’t speak your language. Even if your application is a web API used as a backend service or a library in a NuGet package for use in other applications, anything that can be exposed to an end user should be in a form that the user can understand. Dates, time zones, languages, measurements, and even sorting order depend on region and culture.
.NET includes powerful capabilities for internationalizing applications. In this chapter, you’ll learn about the recommended process for internationalization. We’ll disambiguate the terms localization, globalization, and internationalization. (World-ready is a Microsoft term to describe the whole process.) We’ll also explore the techniques and APIs for localization in .NET, beginning with an example application.