[Expand]General Information
[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]Office File API
[Expand]Reporting
[Expand]Report and Dashboard Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

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

Chart

ChartLocalizer

ChartStringId

DevExpress.Xpf.Charts.Localization

Pivot Grid

PivotGridLocalizer

PivotGridStringId

DevExpress.XtraPivotGrid.Localization

Scheduler

DevExpress.Xpf.Scheduling.Common.SchedulerLocalizer

DevExpress.Xpf.Scheduling.Common.SchedulerStringId

DevExpress.Xpf.Scheduling.Common

Rich Text Editor

DevExpress.Xpf.RichEdit.Localization.XpfRichEditLocalizer

DevExpress.Xpf.RichEdit.RichEditControl.StringId

DevExpress.Xpf.RichEdit.Localization

DevExpress.Xpf.RichEdit

Spreadsheet

DevExpress.Xpf.Spreadsheet.Localization.XpfSpreadsheetLocalizer

DevExpress.Xpf.Spreadsheet.SpreadsheetControlStringId

DevExpress.Xpf.Spreadsheet.Localization

DevExpress.Xpf.Spreadsheet

Gauge Controls

GaugeLocalizer

DevExpress.Xpf.Gauges.Localization

Dock Windows

DockingLocalizer

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

PdfViewerStringId

DevExpress.Xpf.PdfViewer

Expanded Example

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?​​​​​​​