Skip to main content
All docs
V25.2
  • 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.

    DevExpress Localization Tool

    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

    1. Open the DevExpress localization GitHub repository.
    2. Download the required .exe file from the “Localization Tool 25.2.0-preview2” release tag. This is a ready-to-use app.

      Localization Tool - Download the Tool, DevExpress

    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.

    Localization Tool - Download Localization Resources, DevExpress

    Getting Started

    Configure Localization Tool Settings

    1. Run the Localization Tool and specify a folder with downloaded localization resources as the source RESX folder.

      Localization Tool - Download Localization Resources, DevExpress

      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 SettingsImport & Export to modify the source RESX folder.

    2. Go to SettingsPlatform/Products and select platforms/products for localization.

      Localization Tool - Select Platforms/Products for Localization, DevExpress

    3. Go to SettingsImport & 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.

    Localization Tool - Add a Culture, DevExpress

    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

    1. Select an added culture and click Edit, or double-click the culture to open the resource editor:

      Localization Tool - Editing UI, DevExpress

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

      Localization Tool - Download Localization Resources, DevExpress

    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.

    1. In the main menu, select a culture and click Export ToAssemblies.

      Localization Tool - Open Export to Satellite Assemblies Dialog, DevExpress

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

      Localization Tool - Export to Satellite Assemblies, DevExpress

    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

    1. Install localization NuGet packages (if they have not been installed yet): check Community-Sourced Localization in the Unified Component Installer.

      Unified Component Installer, DevExpress

    2. Run the Localization Tool as administrator. In the main menu, select a culture and click Export ToNuGet Packages.

      Localization Tool - Export to NuGet Packages, DevExpress

    3. 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.

      Localization Tool - Export to NuGet Packages - Set Output Folder, DevExpress

    4. 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
      
    5. 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.

    1. Ensure that the local DevExpress NuGet feed is set as a package source in the project.

      Localization Tool - Export to NuGet Packages, DevExpress

    2. 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.

      Localization Tool - Export to NuGet Packages, DevExpress

    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

    1. In the Localization Tool’s main menu, select a culture and click Export to | Source RESX.

      Localization Tool - Export to Source RESX, DevExpress

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

      Localization Tool - Export to Source RESX, DevExpress

    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

    1. In the Localization Tool’s main menu, select a culture and click Export to | Merged RESX.

      Localization Tool - Export to Merged RESX, DevExpress

    2. 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

    1. Add the exported RESX files to the project folder. The files should appear in Solution Explorer.

      Localization Tool - Export to Merged RESX, DevExpress

    2. 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>
      
    3. 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());
              }
          }
      }
      
    4. 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

    1. In Settings | Export Folders, specify the required export folder.

      Localization Tool - Export to JSON, DevExpress

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

      Localization Tool - Export to JSON, DevExpress

      Files are exported automatically.

      Localization Tool - Export to JSON, DevExpress

    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.

    Localization Tool - Translation Merging, DevExpress

    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.

    Localization Tool - Translation Merging, DevExpress

    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:

    1. Download localization resources for the new version.
    2. In Settings | Export Folders, specify the folder with assemblies of the new version as the Source RESX folder.

      Localization Tool - Export to Satellite Assemblies, DevExpress

    3. In the main menu, click Update Database.

    4. Review related changes and adjust translations as required.