generalinformation-405620-localization-localization-tool.md
The DevExpress Localization Tool is a Windows application that allows you to localize DevExpress WinForms controls. This application replaces the *Localization Client to simplify resource management, improve translation quality, and promote collaboration across teams and products.
Note
This application is currently available as a Community Technology Preview (CTP).
Simpler localization string managementUse advanced data shaping capabilities to search, filter, group, and manage localization strings.Enhanced translation consistency and coverageLocate duplicate strings, find inconsistent translations using built-in validation, review context information, and run batch operations.Multiple export types
Export translations as:
Collaboration-first workflowTrack 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 translationIntegrate 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.
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.
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.
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.
Run the Localization Tool and specify a folder with downloaded localization resources as 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.
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\
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.
Do one of the following to edit a single translation:
To edit multiple translations in a batch, do one of the following:
Press Ctrl + S or click Save to save changes.
Note
Only translations with identical English strings can be edited simultaneously.
Right-click a column header and select Column Chooser in the popup menu to display or hide any of the following columns:
You can sort, filter and/or group data, and use the built-in search box to find specific resource strings.
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.
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 an application with the help of 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.
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.
In the Localization Tool’s main menu, select a culture and click Export To → Merged RESX.
In the Export dialog:
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:
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:
Rebuild the project.
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).
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.
Locate a signed DevExpress assembly. For example, use the following path:
Locate the sn.exe file at the following (or similar) path:
Open Command Prompt as administrator. In Command Prompt, open the folder that contains the sn.exe file. For example:
Run a command with the following parameters to export the public key:
Open the following solution file in Visual Studio: C:\work\localization\Localization\Localization.sln. Right-click a project and select Properties :
Select Sign the assembly and specify the key file (.snk). Select Delay sign only. Repeat this for every project you want to build with delayed signing.
Create a new file: C:\work\localization\Localization\Directory.Build.targets. Change its content as follows:
Create a new file: C:\work\localization\Localization\DevExpress.DelaySigning.props. Change its content as follows:
Open the Command Prompt with administrator privileges.
In Command Prompt, open the Localization folder that contains the Localization.sln solution.
Execute MSBuild with the following parameters: Localization.sln /t:Rebuild /p:Configuration=Release /p:Platform="Any CPU" /m
Refer to the following help topic for platform-specific information on how to localize your application with the help of satellite assemblies: Platform-Specific Localization.
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.
DevExtreme widgets used in ASP.NET Core/Reporting.
In Settings → Export Folders , specify the export folder.
In the main menu, select a culture and click Export To → JSON.
Refer to the following component-specific help topics for information:
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).
The following DevExpress UI components cannot be localized with NuGet packages:
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.
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.
Track ChangesThe Localization Tool displays information about the current and previous translations, as well as the author and date of the last change.Merge TranslationsThe 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.
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:
The Localization Tool features a built-in mechanism for AI-powered translation.
Specify the following AI-related settings in Settings → AI :
Select the 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.
In the translation dialog, click the AI translation button :
|
Page
|
Setting
|
Description
| | --- | --- | --- | |
UI Options
|
Multi line editor mode
|
Specifies whether to use in-place or popup editor for multi-line text.
| |
Grid row auto height
|
Specifies whether grid rows adjust their height to display the entire text.
| |
Skip hidden rows
|
Specifies whether to remove hidden rows from visible records. You can deactivate this option to restore hidden rows.
| |
Synchronize product collections with data changes
|
Specifies whether to regenerate the collection of platforms and products on each data source update.
If this setting is disabled, the data source updates slightly faster.
We recommend that you enable this setting. If the product collection changes and this setting is inactive, the export process malfunctions.
| |
Platform/Products
| |
This page lists DevExpress products. The editing UI shows translation resources for selected products.
| |
Export & Import
|
Source RESX
|
Specifies the folder with source localization resources.
| |
Satellite assemblies
|
Specifies the export folder for satellite assemblies.
| |
Satellite NuGet packages
|
Specifies the export folder for satellite NuGet packages.
| |
Merged RESX
|
Specifies the export folder for merged RESX files.
| |
JSON
|
Specifies the export folder for JSON files.
| |
AI
|
Azure OpenAI endpoint
|
Specifies the Azure OpenAI endpoint.
| |
OpenAI API key
|
Specifies the Azure OpenAI API key.
| |
Deployment name
|
Specifies the AI model to use.
| |
Request
|
Specifies the AI prompt.
| |
Temperature
|
Specifies the randomness and creativity of AI output.
| |
Diagnostics
| |
This page lists available diagnostic metrics. Selected diagnostic metrics are included in the diagnostic log.
| |
Appearance
|
Use system settings
|
Specifies whether to use the default system skin/palette for the Localization Tool.
| |
Compact mode
|
Specifies whether to activate compact mode.
| |
Skin[1]
|
Specifies the application skin.
| |
Palette[1]
|
Specifies the palette for the selected skin.
|
Footnotes