Localization Tool
- 12 minutes to read
The DevExpress Localization Tool is a Windows-based application designed to to simplify resource management, improve translation quality, and promote collaboration across teams and products.

Note
Status Community Technology Preview (CTP)
Key Features
- Simpler localization string management
- Use advanced data shaping capabilities to search, filter, group, and manage localization strings.
- Enhanced translation consistency and coverage
- Locate duplicate strings, find inconsistent translations using built-in validation, review context information, and run batch operations.
- Multiple export types
Export translations as:
- Satellite assemblies
- NuGet packages
- A single merged RESX file for multiple products (replaces hundreds of assemblies)
- JSON files for JavaScript/TypeScript-based products
- Collaboration-first workflow
- Track changes, review updates, import/ export resources, and rely on built-in backups. You can work directly with RESX files, use the DevExpress Windows-based tool, or build your own localization engine.
- AI-powered translation
- Integrate your favorite AI service to automate and improve translation coverage directly within our Localization Platform.
Warning
With the release of the Localization Tool, Localization Service and Localization UI Client utilities are in maintenance mode.
Until we ensure that the Localization Tool addresses most existing customer needs effectively, the UI Localization Service will remain available, and you can use it to modify translation resources.
UI Localization Client and product-specific localization utilities like XAF’s Localization Tool will be deprecated as redundant.
Supported DevExpress Products
- WinForms, WPF
- Blazor, ASP.NET MVC 5, WebForms
- Reporting, BI Dashboard
- Cross-Platform .NET App Framework (XAF, WinForms/Blazor)
- ASP.NET Core (RichEdit, Spreadsheet only)
We have long-term plans to support JavaScript/TypeScript, .NET MAUI, and VCL-based apps. We aim to make the Localization Tool a universal utility for app localization.
How It Works
Our Localization Platform loads DevExpress localization resources from the official GitHub repository or from user-selected products, assemblies, NuGet references, or project files. Users select the required DevExpress version, products, and target cultures to define localization scope.
For each culture, the tool creates and maintains a separate XML-based localization database. This database stores all translations, metadata, comments, validation states, and change history. The database supports version upgrades and reuse of translations between DevExpress releases.
<T>
<Key>XtraSpreadsheetStringId.ConditionalFormattingRulesManagerForm_CaptionCancel</Key>
<Path>DevExpress.Spreadsheet.Core\LocalizationRes.resx</Path>
<English>Cancel</English>
<German>Abbrechen</German>
<Translation>Annuler</Translation>
<PrevTranslation>Fermer</PrevTranslation>
<User>User_Name</User>
<Date>20251218 11:48</Date>
</T>
Localization strings are presented in a powerful grid-based UI that supports instant search, filtering, grouping, and bulk operations. Users can translate large volumes of strings, apply consistent translations, review similar terms, add comments, and validate results using built-in quality checks, terminology rules, and optional AI-powered translation suggestions.
For collaborative scenarios, multiple contributors can work on the same language independently. Each contributor maintains his/her own culture database and later combines results using our built-in Merge feature. Validation detects conflicts, highlights differences, and helps resolve merge issues safely.
Once translations are complete, our platform generates ready-to-use localization output with a single action. Supported export formats include signed satellite assemblies, NuGet packages, RESX, and JSON. Export paths are generated automatically and can be customized in the settings, enabling a seamless, one-click localization workflows on Windows machines.
Prerequisites
Download the Localization Tool
- Open the DevExpress localization GitHub repository.
Download the required .exe file from the “Localization Tool 25.2.0-preview2” release tag. This is a ready-to-use app.

Download DevExpress Localization Resources
Clone the localization GitHub repository or download files as a ZIP archive. The Localization folder in the repository contains source RESX files for the Localization Tool.
Getting Started
Configure Localization Tool Settings
Run the Localization Tool and specify a folder with downloaded localization resources as the source RESX folder.

Tip
The Localization Tool automatically detects the resource source folder and configures import settings when the devexpress.localization.tool-win-xYY.exe file is located in the same directory as resources.
Go to Settings → Import & Export to modify the source RESX folder.
Go to Settings → Platform/Products and select platforms/products for localization.

Go to Settings → Import & Export, and specify output folders for export. The Localization Tool does not create satellite assemblies or NuGet packages during export. The tool updates/modifies existing assemblies and packages in your working folders.
Specify the following folder as the export folder for NuGet packages: C:\Program Files\DevExpress XX.X\Components\System\Components\packages. Source NuGet packages are located at this path.
Tip
You can download source assemblies from our GitHub repo and extract them to your working folder.
Add a Culture
In the main application view, click Add Culture, select a language, and click Add.

For each culture, the Localization Tool creates and maintains a separate XML-based localization database. This database stores all translations, metadata, comments, validation states, and change history. The database supports version upgrades and reuse of translations between DevExpress releases.
// Database Location
C:\Users\USER_NAME\AppData\Local\DevExpress\Localization.Tool\
Localize a Culture
Select an added culture and click Edit, or double-click the culture to open the resource editor:

Select a row and click Add Translation in the header menu or in the popup context menu. Click Save to save changes.

Edit Translations
Do one of the following to edit a single translation:
- Double-click a row and edit the translation in the Translate dialog.
- Click a cell in the Translation column and specify the translation.
- Select a row and click Translate in the top menu.
- Right-click a row and click Translate in the popup menu.
To edit multiple translations in a batch, do one of the following:
- Select multiple rows (hold Ctrl during selection) and click Add Translation.
- Select a group row and click Translate.
- Right-click a group row and click Translate in the popup menu.
Press Ctrl + S or click Save to save changes.
Note
Only translations with identical English strings can be edited simultaneously.
Customize UI and Shape Data
Right-click a column header and select Column Chooser in the popup menu to display or hide any of the following columns:
- Status
- Product/Namespace
- English
- Translation
- Date
- Key
- Key Prefix
- Key Prefix(ID)
- Path
- User
- Comment
You can sort, filter and/or group data, and use the built-in search box to find specific resource strings.
Export to Satellite Assemblies
Satellite assemblies store resource files separately from the main application executable to reduce the size of the main assembly. New languages are easy to add (no recompilation required), and different versions of resources can exist independently. Refer to the following help topic for more information: Satellite Resource Assemblies.
Compatible Platforms/Products
- WinForms
- WPF
- Blazor
- ASP.NET Web Forms
- ASP.NET MVC
- .NET Reports
- BI Dashboard
- .NET MAUI
- Cross-Platform .NET App Framework (XAF)
- JavaScript / DevExtreme (Angular, React, Vue)
Export Steps
The Localization Tool does not create satellite assemblies during export. The tool updates/modifies existing assemblies in your working folder.
In the main menu, select a culture and click Export To → Assemblies.

In the export dialog, select the folder with source assemblies for the required language. Click Export to update source assemblies with your modifications.

Tip
Refer to the following help topic for platform-specific information on how to localize your application with satellite assemblies: Platform-Specific Localization.
Note
If you deploy a .NET Framework application to a Microsoft Internet Information Services (IIS) web server, use only Source RESX, Merged RESX, or JSON export formats.
The other formats involve modified satellite/localization assemblies. The default IIS policy blocks such assemblies. (The following error is thrown: “Could not load file or assembly ‘XXX’ or one of its dependencies. Strong name signature could not be verified…(Exception from HRESULT: 0x80131045)”.)
This limitation does not apply to other deployment environments or .NET-based apps.
Export to Merged/Single RESX
RESX files are easy to manage and do not require signing. Merged RESX files can be used together with localization assemblies included in the DevExpress installation (for example, de, es, ja).
The Export to Merged/Single RESX export option is useful when you need to modify specific strings while preserving the default translations provided by DevExpress. Modify the required strings, select Export Only Modified Resources in the export dialog, and export a small merged RESX file that contains only your changes. At runtime, your custom strings override the default localization, while all other strings continue to use the built-in translations.
Compatible Platforms/Products
- WinForms
- WPF
- Blazor
- ASP.NET Web Forms
- ASP.NET MVC
- .NET Reports
Export Steps
In the Localization Tool’s main menu, select a culture and click Export To → Merged RESX.

In the Export dialog:
- Specify the target folder as the export folder for resources (if it is not already set in Settings).
- Choose platforms and products to be localized.
- Click Export to save the RESX files for the original English culture and the target culture.
Tip
Check Export Only Modified Resources to reduce file size.

App Localization
Add the exported RESX files to the project folder.

Register custom resources in the .csproj (or .vbproj) file. The following code registers the French culture:
<EmbeddedResource Update="DevExpress_Localization.resx"> <Generator>ResXFileCodeGenerator</Generator> <LastGenOutput>DevExpress_Localization.Designer.cs</LastGenOutput> <SubType>Designer</SubType> </EmbeddedResource> <EmbeddedResource Update="DevExpress_Localization.fr.resx"> <DependentUpon>DevExpress_Localization.resx</DependentUpon> </EmbeddedResource> <Compile Update="DevExpress_Localization.Designer.cs"> <DependentUpon>DevExpress_Localization.resx</DependentUpon> <AutoGen>True</AutoGen> <DesignTime>True</DesignTime> </Compile>Set the custom culture as the current culture and specify the custom localization manager at application startup. The following code snippet specifies the French culture in a WinForms application:
namespace myApp { internal static class Program { [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); UserLookAndFeel.Default.SetSkinStyle(SkinStyle.WXICompact); Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr"); Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr"); DevExpress.Utils.Localization.XtraLocalizer.UserResourceManager = DevExpress_Localization.ResourceManager; Application.Run(new Form1()); } } }Rebuild the project.
Export to Source/Multiple RESX (Advanced)
When you save changes for a culture, the Localization Tool updates an intermediate, XML-based localization database. This database stores all translations, metadata, comments, validation states, and change history for that culture.
Use the Export to Source/Multiple RESX export option when you need to share localization changes, merge updates into a remote repository, or manually build satellite assemblies. The Localization Tool updates the source folder (or its copy).
Compatible Platforms/Products
- WinForms
- WPF
- Blazor
- ASP.NET Web Forms
- ASP.NET MVC
- .NET Reports
- BI Dashboard
- .NET MAUI
- Cross-Platform .NET App Framework (XAF)
- JavaScript / DevExtreme (Angular, React, Vue)
Export Steps
In the Localization Tool’s main menu, select a culture and click Export To → Source RESX.

Specify the folder with source RESX localization resources (if the source folder is not already set in Settings) and click Export to update resources wih your modifications.

Export to JSON
Specific ASP.NET components include client-based controls that are only localized with JSON. The Localization Tool generates JSON files for Reports, RichEdit, Spreadsheet, and BI Dashboard.
Compatible platforms/products
DevExtreme widgets used in ASP.NET Core/Reporting.
Export Steps
In Settings → Export Folders, specify the export folder.

In the main menu, select a culture and click Export To → JSON.

App Localization
Refer to the following component-specific help topics for information:
- ASP.NET Core Reports Localization
- ASP.NET Core RichEdit Localization
- ASP.NET Core Spreadsheet Localization
- ASP.NET Core BI Dashboard Localization
Export to NuGet Packages
NuGet packages facilitate easy distribution and versioning of localization resources, support dependency management, and can include multiple cultures in one package for convenient resource management.
Note
The Localization Tool only updates existing NuGet packages. App localization with NuGet packages is only possible for pre-built localized resources (de, es, ja).
Compatible Platforms/Products
- WinForms
- WPF
- Blazor
- ASP.NET Web Forms
- ASP.NET MVC
- .NET Reports
- BI Dashboard
- .NET MAUI
- Cross-Platform .NET App Framework (XAF)
- JavaScript / DevExtreme (Angular, React, Vue)
Limitations
The following DevExpress UI components cannot be localized with NuGet packages:
- ASP.NET Core RichEdit
- ASP.NET Core Spreadsheeet
- ASP.NET (Web Forms/MVC/Bootstrap) Spreadsheet for localization of functions and context menu items
- Web Dashboard Control for Angular, React, Vue, JavaScript, and Blazor WebAssembly
- Web Reporting Controls for Angular, React, Vue, JavaScript, and Blazor WebAssembly if the application does not load localization from the server
- Web Reporting Controls for Standalone Blazor WebAssembly
- Native Report Viewer for Standalone Blazor WebAssembly
Export Steps
Install localization NuGet packages (if they have not been installed). Check Community-Sourced Localization in the Unified Component Installer.

Run the Localization Tool as administrator. In the main menu, select a culture and click Export To → NuGet Packages.

Source NuGet packages are located in the following folder: C:\Program Files\DevExpress 25.2\Components\System\Components\packages. In the Export dialog, specify this folder as the export folder (if it is not already set in Settings) and click Export.

Close Visual Studio. Clear the NuGet cache to remove older NuGet packages.
Execute the following command in the Command Prompt as administrator:
dotnet nuget locals global-packages --clear- Clear the DevExpress NuGet cache.
- Open the C:\Program Files\DevExpress 25.2\Components\Offline Packages folder.
- Delete the folder that corresponds to the modified package.
App Localization
Note
Patching a package invalidates its original NuGet signature. This does not affect application runtime behavior. However, restore or build failures and security alerts can occur, depending on NuGet settings, security policies, and supply-chain analysis tools in the environment. If the environment blocks unsigned NuGet packages, use a different export format or manually sign the modified packages.
In the NuGet Package Manager, set the local DevExpress NuGet feed as a package source in the project.

Install the modified NuGet package with localized resources. Before installation, ensure that an older version of the package is not cached.

Collaboration Infrastructure
- Track Changes
- The Localization Tool displays information about the current and previous translations, as well as the author and date of the last change.
- Merge Translations
- The Merge Database option allows multiple authors to work on the same culture. Authors share modified database files, and a reviewer can import these changes, review modified translations, and resolve any translation conflicts.
Files that can be merged with other translations are located in the culture’s Settings Folder. Authors can share .xml files from this folder. These files are intermediate databases that contain modifications and can be merged with other databases.
To import changes, do the following:
- Select a culture.
Click Merge Database in the main or popup menu.

In the Merge Database dialog, specify the import path to the XML-based database with remote changes.

Version Control
An existing culture is version-independent, but a new DevExpress version may introduce localization-related changes. To ensure your localization resources are fully compatible with the new version, follow these steps:
- Download localization resources for the new version.
- In Settings → Export Folders, specify the folder with assemblies of the new version as the Source RESX folder.
- Select the target culture.
- In the main or popup menu, click Update Database.
- After the update operation completes, review related changes and adjust translations as needed.