Localization Tool
- 12 minutes to read
The DevExpress Localization Tool is an open-source 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.

Translation Editing
The editing UI supports the following capabilities:
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.
Note
Only translations with identical English strings can be edited simultaneously.
Press Ctrl + S or click Save to save changes.
Customize Grid 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
- 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 wih 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 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
- 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 yet): 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.

In the export dialog, specify the following folder as the export folder: C:\Program Files\DevExpress XX.X\Components\System\Components\packages. Source NuGet packages are located at this path. Click Export to apply your custom changes to source packages.

Clear the NuGet cache to remove older NuGet packages: for example, execute the following command in the Command Prompt:
dotnet nuget locals global-packages --clear- Clear the DevExpress NuGet cache: open the C:\Program Files\DevExpress 25.2\Components\Offline Packages folder, find the folder that corresponds to the modified package, and delete it.
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.
Ensure that the local DevExpress NuGet feed is set as a package source in the project.

Use the Visual Studio NuGet Package Manager to install the modified NuGet package. Ensure that an older version is not cached anywhere. Custom translations should be applied after this step.

Export to Source/Multiple RESX (Advanced)
When you save changes to a culture, an intermediate database is updated. If you want to share/merge your changes to a remote repository or manually generate satellite assemblies, you can update the source folder or its copy with the same structure.
Compatible Platforms/Products
- WinForms
- WPF
- Blazor
- ASP.NET Web Forms
- ASP.NET MVC
- 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.

In the export dialog, select the folder with source RESX localization resources. Click Export to update resources wih your custom changes.

Export to Merged/Single RESX
RESX files are easy to manage and do not require signing. You can also use merged RESX files together with localization assemblies included in the DevExpress installation (for de, es, ja). Check Export only modified resources in the export dialog to reduce file size.
Compatible Platforms/Products
- WinForms
- WPF
- Blazor
- ASP.NET Web Forms
- ASP.NET MVC
- Reports
Export Steps
In the Localization Tool’s main menu, select a culture and click Export to | Merged RESX.

- In the export dialog, select the target folder for RESX resources and choose platforms and products to be localized. Click Export to save the resulting RESX files (one for the original English culture and one for the target culture).
App Localization
Add the exported RESX files to the project folder. The files should appear in Solution Explorer.

Register custom resources in the .csproj (or .vbproj) file. The following code registers a 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>Specify the custom culture as the current culture and specify a custom localization manager at application startup (in the Program.cs file). The following code snippet implements these steps in a WinForms application:
namespace myApp { internal static class Program { [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); UserLookAndFeel.Default.SetSkinStyle(SkinStyle.WXICompact); // Specify a culture of your choice Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr"); Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr"); // Specify a custom localization manager DevExpress.Utils.Localization.XtraLocalizer.UserResourceManager = DevExpress_Localization.ResourceManager; Application.Run(new Form1()); } } }Rebuild the project. Custom translations should be applied after this step.
Export to JSON
Specific ASP.NET components include client-based controls that are only localized with JSON. The Localization Tool generates 5 JSON files: two for Reports, one for RichEdit, one for Spreadsheet, and one for Dashboards.
Compatible platforms/products
DevExtreme widgets used in ASP.NET Core/Reporting.
Export Steps
In Settings | Export Folders, specify the required export folder.

In the main menu, select a culture and click Export to | JSON.

Files are exported automatically.

App Localization
For information on how to localize controls with JSON, refer to the following component-specific help topics:
Collaboration Infrastructure
- Translation Tracking
- The Localization Tool displays information about the current translation, previous translation, author, and date of the last change.
- Translation Merging
- The Merge Database option allows multiple translation authors to work on a single culture. Authors share modified database files, and a reviewer can import their changes, review modified translations, and resolve translation conflicts (if any).
Files that can be merged are stored in the culture’s Settings Folder.

Authors can share an .xml file from this folder - this is an intermediate data source that contains all changes and can be merged with another data source.
To import changes from a database, click Merge Database in the main menu and specify the path of a database file with remote changes.

Version Control
An existing culture is version-independent, but a new DevExpress version may introduce localization-related changes. Do the following to ensure localization resources are fully compatible with the new version:
- 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.

In the main menu, click Update Database.
Review related changes and adjust translations as required.