aspnetmvc-402211-common-features-localization-global-resources.md
This topic describes the native ASP.NET localization technique and contains download links to localized resources for DevExpress ASP.NET components.
Tip
We recommend that you localize your application with the Satellite Resource Assemblies. This technique is more modern and allows you to get the most recent string translations.
You can download default and translated resources from the following link:
Note that the downloaded file contains translations that are relevant as of December 16, 2025. These translations were generated by the DevExpress developer community. You should verify accuracy before incorporating resources into your software project.
A resource file is an XML file that contains strings that can be translated into different languages. Resource files in ASP.NET have a .resx extension. Each localized resource file contains name/value pairs. You can use a text editor to customize a resource file’s string values.
Refer to the following topic in the Visual Studio documentation to learn more about global resource files: ASP.NET Web Page Resources Overview.
DevExpress ASP.NET products ship with a default resource file and numerous localized resource files (one for each culture).
List of default resource files
|
Product
|
Default Resource File
| | --- | --- | |
|
DevExpress_Web_ASPxGridView_v25.2.resx
| |
|
DevExpress_Web_v25.2.resx
| |
|
DevExpress_Web_ASPxEditors_v25.2.resx
| |
|
DevExpress_Web_ASPxDiagram_v25.2.resx
| |
|
DevExpress_Web_v25.2.resx
| |
|
DevExpress_Web_ASPxGantt_v25.2.resx
| |
|
DevExpress_Web_ASPxGridView_v25.2.resx
| |
|
DevExpress_Web_v25.2.resx
| |
|
DevExpress_Web_ASPxHtmlEditor_v25.2.resx
| |
|
DevExpress_Web_v25.2.resx
| |
|
DevExpress_Web_ASPxPivotGrid_v25.2.resx
| |
|
DevExpress_XtraReports_v25.2_Web.resx
| |
|
DevExpress_Web_ASPxRichEdit_v25.2.resx
| |
|
DevExpress_Web_ASPxScheduler_v25.2.resx
| |
|
DevExpress_Web_v25.2.resx
| |
|
DevExpress_Web_ASPxSpellChecker_v25.2.resx
| |
|
DevExpress_Web_ASPxSpreadsheet_v25.2.resx
| |
|
DevExpress_Web_ASPxTreeList_v25.2.resx
| |
|
DevExpress_Web_ASPxGridView_v25.2.resx
|
A localized resource file name consists of the corresponding default name and a culture name, such as the following:
List of available cultures
Chinese (Simplified) [zh-CHS] (prior v12.1 - see “zh-Hans” vs “zh-CHS” and “zh-Hant” vs “zh-CHT”)
Chinese [zh-Hans] v12.1+
Chinese [zh-Hant] v12.1+
Croatian [hr]
Czech [cs]
Danish [da]
French [fr]
German [de]
Greek [el]
Hungarian [hu]
Italian [it]
Polish [pl]
Portuguese (Brazil) [pt-BR]
Portuguese (Portugal) [pt-PT]
Romanian [ro]
Russian [ru]
Slovak [sk] v12.1+ Slovenian [sl]
Spanish [es]
Swedish [sv] v11.2+
Turkish [tr] v14.2+
Dutch - The Netherlands [nl]
Norwegian [no]
Japanese [ja] v11.1+
Copy localized and corresponding default resource files to the App_GlobalResources folder.
Note that if the App_GlobalResources folder contains only a localized resource file (DevExpress_Web_v25.2.de.resx), without the corresponding default resource file (DevExpress_Web_v25.2.resx), an exception will occur.
An application culture is defined by the Culture and UICulture properties. You can specify them in the following ways.
Set the Culture and UICulture properties to a certain culture ID. You can specify the properties at design time or runtime.
Add the globalization element to the Web.config file. Set the Culture and uiCulture attributes.
<globalization uiCulture="es" culture="es" />
...
Run Demo: Grid View - Localization
To switch a culture at runtime, specify the CurrentUICulture and CurrentCulture properties. One of the ways to adjust these properties across the entire application is handling the HttpApplication.AcquireRequestState event in the Global.asax file.
protected void Application_AcquireRequestState(object sender, EventArgs e) {
CultureInfo ci = new CultureInfo("de-DE");
Thread.CurrentThread.CurrentUICulture = ci;
Thread.CurrentThread.CurrentCulture = ci;
}
Protected Sub Application_AcquireRequestState(ByVal sender As Object, ByVal e As EventArgs)
Dim ci As New CultureInfo("de-DE")
Thread.CurrentThread.CurrentUICulture = ci
Thread.CurrentThread.CurrentCulture = ci
End Sub
See also: How to change the current culture at runtime
You can specify culture-independent settings in your application. For instance, always show currency in euros. To change settings without changing the current culture, follow the steps below:
CultureInfo.CultureInfo object. Note that it is possible to copy settings from another culture instead of setting them manually.CultureInfo object to CurrentCulture and CurrentUICulture properties.System.Globalization.CultureInfo newCulture = (System.Globalization.CultureInfo)System.Globalization.CultureInfo.CurrentCulture.Clone();
// Use the dot symbol as a thousand separator
newCulture.NumberFormat.NumberGroupSeparator = ".";
// Use the comma symbol as a decimal separator
newCulture.NumberFormat.NumberDecimalSeparator = ",";
// Show currency in euros
newCulture.NumberFormat.CurrencySymbol = "€";
// Copy date-time format from the en-us culture
newCulture.DateTimeFormat = new CultureInfo("En-US").DateTimeFormat;
System.Threading.Thread.CurrentThread.CurrentCulture = newCulture;
System.Threading.Thread.CurrentThread.CurrentUICulture = newCulture;
Dim newCulture As System.Globalization.CultureInfo = DirectCast(System.Globalization.CultureInfo.CurrentCulture.Clone(), System.Globalization.CultureInfo)
' Use the dot symbol as a thousand separator
newCulture.NumberFormat.NumberGroupSeparator = "."
' Use the comma symbol as a decimal separator
newCulture.NumberFormat.NumberDecimalSeparator = ","
' Show currency in euros
newCulture.NumberFormat.CurrencySymbol = "€";
' Copy date-time format from the en-us culture
newCulture.DateTimeFormat = (New CultureInfo("En-US")).DateTimeFormat
System.Threading.Thread.CurrentThread.CurrentCulture = newCulture
System.Threading.Thread.CurrentThread.CurrentUICulture = newCulture