"Для каждого предусмотрен его личный конец света."
Хенрик Ягодзиньский
Создание многоязычных web-сайтов имеет особенно большое значение в неанглоговорящих странах. Изначально ASP .NET настроена на английский язык, причем на его американскую разновидность. Причины этого очевидны. Но платформа .NET поддерживает концепцию информации о культуре, а строки хранятся в формате Unicode, что позволяет писать их на множестве языков. Глобализация — это создание приложений, способных работать в разных культурных средах. Локализация — создание ресурсов для работы с конкретной культурой. Ресурсы должны быть отделены от программного кода.
Классы для работы с информацией о культурах заключены в пространстве имен Globalization. Класс CultureInfo содержит свойство CurrentCulture, которое позволяет узнать все данные о текущей культуре — форматы отображения, календарь, кодовую страницу и другие.
Файлы ресурса содержат строки, которые могут быть написаны на разных языках для различных культурных сред. Формат этих файлов — XML, следующий специальной схеме Microsoft ResX. Файлы .resx автоматически включаются в сборку для использования на страницах. Кроме строк, файлы ресурса могут содержать картинки и другие файлы. Их можно использовать для создания многоязычных приложений. В отличие от предыдущих версий, ресурсы не нужно компилировать вручную в сборку-сателлит — ASP .NET 2.0 делает это сама.
В папке App_GlobalResources хранятся файлы ресурсов, названия которых соответствуют культурной схеме.