Log In
Home
Support
Demos
Documentation
Blogs
Training
Webinars
[Expand]Welcome to DevExpress .NET Documentation
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Collapse]WPF Controls
  Prerequisites
 [Expand]What's Installed
 [Expand]Common Concepts
 [Expand]MVVM Framework
 [Expand]Controls and Libraries
 [Expand]Scaffolding Wizard
 [Collapse]Localization
   Localizing WPF Controls via Satellite Resource Assemblies
   Localizing WPF Controls via Localizer Objects
  Redistribution and Deployment
  Get More Help
 [Expand]API Reference
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Document Server
[Expand]Reporting
[Expand]Report Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

Localizing WPF Controls via Localizer Objects

Each DevExpress component or library has a specific Localizer class (see the table below) that provides localized strings. For example, in the Data Grid control, this is the GridControlLocalizer class.

Note

Important: Not all strings can be translated via Localizer classes. Some components contain form resources (e.g., the XtraReports Search dialog), and the only way to translate them is to create satellite assemblies. Thus, localization via resources is the preferable solution.

Expanded Localization Process

Use custom localizers to provide translated strings for localization as follows.

  • Create a descendant of a corresponding Localizer class and override either the GetLocalizedString method (which returns strings for specific string resource identifiers) or PopulateStringTable method (which adds strings for specified resource identifiers).

  • To use this localizer, assign an instance of this class to the static Active property of the localizer class you inherited from.

The following table lists Localizer classes and Resource String enumerations for DevExpress WPF products.

Product Localizer Class Resource String Enumeration Namespace
Data Grid GridControlLocalizer GridControlStringId / GridControlRuntimeStringId DevExpress.Xpf.Grid
Diagram DiagramControlLocalizer DevExpress.Diagram.Core.Localization.DiagramControlStringId DevExpress.Xpf.Diagram
Toolbar-Menu / Ribbon BarsLocalizer DevExpress.Xpf.Bars.BarsStringId DevExpress.Xpf.Bars
Chart ChartLocalizer ChartStringId DevExpress.Xpf.Charts.Localization
Pivot Grid PivotGridLocalizer PivotGridStringId DevExpress.XtraPivotGrid.Localization
Scheduler SchedulerControlLocalizer SchedulerControlStringId DevExpress.Xpf.Scheduler
Gauge Controls GaugeLocalizer DevExpress.Xpf.Gauges.Localization.GaugeStringId DevExpress.Xpf.Gauges.Localization
Dock Windows DockingLocalizer DevExpress.Xpf.Docking.Base.DockingStringId DevExpress.Xpf.Docking.Base
Printing-Exporting PrintingLocalizer PrintingStringId DevExpress.Xpf.Printing
Report Designer ReportDesignerLocalizer ReportDesignerStringId DevExpress.Xpf.Reports.UserDesigner.Localization
Data Editors EditorLocalizer EditorStringId DevExpress.Xpf.Editors
Navigation Bar NavBarLocalizer NavBarStringId DevExpress.Xpf.NavBar
PDF Viewer PdfViewerLocalizer DevExpress.Xpf.PdfViewer.PdfViewerStringId DevExpress.Xpf.PdfViewer

Expanded Example

Show Me

A complete sample project is available in the DevExpress Code Examples database at http://www.devexpress.com/example=E962.

The following example demonstrates how to localize the DXGrid control via a custom localizer. For other localization approaches, refer to Localizing WPF Controls via Satellite Resource Assemblies.

Is this topic helpful?​​​​​​​