windowsforms-devexpress-dot-xtragrid-dot-localization.md
A base class that provides necessary functionality for custom localizers of the Data Grid control.
Namespace : DevExpress.XtraGrid.Localization
Assembly : DevExpress.XtraGrid.v25.2.dll
NuGet Packages : DevExpress.Win.Grid, DevExpress.Win.Navigation
public class GridLocalizer :
XtraLocalizer<GridStringId>
Public Class GridLocalizer
Inherits XtraLocalizer(Of GridStringId)
Note
There are controls that only satellite assemblies can translate (for example, the Search dialog in XtraReports). We recommend that you use satellite assemblies to translate the application. Also, note that satellite assemblies are ignored if you use a custom localizer.
For more information on utilizing the GridLocalizer class, refer to the Localizing WinForms Controls via Localizer Objects document.
The following example demonstrates how to create localizers to translate resources (menu items) of the Data Grid and Picture Editor into German:
using DevExpress.XtraEditors.Controls;
using DevExpress.XtraGrid.Localization;
public class GermanGridLocalizer : GridLocalizer {
public override string Language { get { return "Deutsch"; } }
public override string GetLocalizedString(GridStringId id) {
string ret = "";
switch (id) {
// ...
case GridStringId.GridGroupPanelText: return "Ziehen Sie eine Spaltenüberschrift in diesen Bereich, um nach dieser zu gruppieren";
case GridStringId.MenuColumnClearSorting: return "Sortierung entfernen";
case GridStringId.MenuGroupPanelHide: return "Gruppierungsfeld ausblenden";
case GridStringId.MenuColumnRemoveColumn: return "Spalte entfernen";
case GridStringId.MenuColumnFilterEditor: return "Filter &bearbeiten";
case GridStringId.MenuColumnFindFilterShow: return "Suche einblenden";
case GridStringId.MenuColumnAutoFilterRowShow: return "Zeige Auto Filterzeile";
case GridStringId.MenuColumnSortAscending: return "Aufsteigend sortieren";
case GridStringId.MenuColumnSortDescending: return "Absteigend sortieren";
case GridStringId.MenuColumnGroup: return "Gruppieren fur dieses Feld";
case GridStringId.MenuColumnUnGroup: return "Gruppierung aufheben";
case GridStringId.MenuColumnColumnCustomization: return "Laufzeit benutzerdefinierte Spalte";
case GridStringId.MenuColumnBestFit: return "Optimale Breite";
case GridStringId.MenuColumnFilter: return "Kann gruppieren";
case GridStringId.MenuColumnClearFilter: return "Filter aufheben";
case GridStringId.MenuColumnBestFitAllColumns: return "Optimale Breite (alle Spalten)";
// ...
default:
ret = base.GetLocalizedString(id);
break;
}
return ret;
}
}
public class GermanEditorsLocalizer : Localizer {
public override string Language { get { return "Deutsch"; }}
public override string GetLocalizedString(StringId id) {
switch(id) {
// ...
case StringId.PictureEditMenuCut: return "Ausschneiden";
case StringId.PictureEditMenuCopy: return "Kopieren";
case StringId.PictureEditMenuPaste: return "Einfugen";
case StringId.PictureEditMenuDelete: return "Loschen";
case StringId.PictureEditMenuLoad: return "Laden";
case StringId.PictureEditMenuSave: return "Speichern";
// ...
}
return base.GetLocalizedString(id);
}
}
Imports DevExpress.XtraEditors.Controls
Imports DevExpress.XtraGrid.Localization
Public Class GermanGridLocalizer
Inherits GridLocalizer
Public Overrides ReadOnly Property Language() As String
Get
Return "Deutsch"
End Get
End Property
Public Overrides Function GetLocalizedString(id As GridStringId) As String
Dim ret As String = ""
Select Case id
' ...
Case GridStringId.GridGroupPanelText
Return "Ziehen Sie eine Spaltenüberschrift in diesen Bereich, um nach dieser zu gruppieren"
Case GridStringId.MenuColumnClearSorting
Return "Sortierung entfernen"
Case GridStringId.MenuGroupPanelHide
Return "Gruppierungsfeld ausblenden"
Case GridStringId.MenuColumnRemoveColumn
Return "Spalte entfernen"
Case GridStringId.MenuColumnFilterEditor
Return "Filter &bearbeiten"
Case GridStringId.MenuColumnFindFilterShow
Return "Suche einblenden"
Case GridStringId.MenuColumnAutoFilterRowShow
Return "Zeige Auto Filterzeile"
Case GridStringId.MenuColumnSortAscending
Return "Aufsteigend sortieren"
Case GridStringId.MenuColumnSortDescending
Return "Absteigend sortieren"
Case GridStringId.MenuColumnGroup
Return "Gruppieren fur dieses Feld"
Case GridStringId.MenuColumnUnGroup
Return "Gruppierung aufheben"
Case GridStringId.MenuColumnColumnCustomization
Return "Laufzeit benutzerdefinierte Spalte"
Case GridStringId.MenuColumnBestFit
Return "Optimale Breite"
Case GridStringId.MenuColumnFilter
Return "Kann gruppieren"
Case GridStringId.MenuColumnClearFilter
Return "Filter aufheben"
Case GridStringId.MenuColumnBestFitAllColumns
Return "Optimale Breite (alle Spalten)"
Case Else
' ...
ret = MyBase.GetLocalizedString(id)
Exit Select
End Select
Return ret
End Function
End Class
Public Class GermanEditorsLocalizer
Inherits Localizer
Public Overrides ReadOnly Property Language() As String
Get
Return "Deutsch"
End Get
End Property
Public Overrides Function GetLocalizedString(ByVal id As StringId) As String
Select Case id
' ...
Case StringId.PictureEditMenuCut : Return "Ausschneiden"
Case StringId.PictureEditMenuCopy : Return "Kopieren"
Case StringId.PictureEditMenuPaste : Return "Einfugen"
Case StringId.PictureEditMenuDelete : Return "Loschen"
Case StringId.PictureEditMenuLoad : Return "Laden"
Case StringId.PictureEditMenuSave : Return "Speichern"
' ...
End Select
Return MyBase.GetLocalizedString(id)
End Function
End Class
Assign instances of the GermanGridLocalizer and GermanEditorsLocalizer classes to the GridLocalizer.Active and Localizer.Active properties before application startup to activate custom localizers.
public Form1() {
GridLocalizer.Active = new GermanGridLocalizer();
Localizer.Active = new GermanEditorsLocalizer();
InitializeComponent();
}
Public Sub Form1()
GridLocalizer.Active = New GermanGridLocalizer()
Localizer.Active = New GermanEditorsLocalizer()
InitializeComponent()
End Sub
Object XtraLocalizer XtraLocalizer<DevExpress.XtraGrid.Localization.GridStringId> GridLocalizer
See Also