Back to Devexpress

GridLocalizer Class

windowsforms-devexpress-dot-xtragrid-dot-localization.md

latest8.5 KB
Original Source

GridLocalizer Class

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

Declaration

csharp
public class GridLocalizer :
    XtraLocalizer<GridStringId>
vb
Public Class GridLocalizer
    Inherits XtraLocalizer(Of GridStringId)

Remarks

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.

Example

The following example demonstrates how to create localizers to translate resources (menu items) of the Data Grid and Picture Editor into German:

csharp
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);
   }
}
vb
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.

csharp
public Form1() {
    GridLocalizer.Active = new GermanGridLocalizer();
    Localizer.Active = new GermanEditorsLocalizer();
    InitializeComponent();
}
vb
Public Sub Form1()
    GridLocalizer.Active = New GermanGridLocalizer()
    Localizer.Active = New GermanEditorsLocalizer()
    InitializeComponent()
End Sub

Inheritance

Object XtraLocalizer XtraLocalizer<DevExpress.XtraGrid.Localization.GridStringId> GridLocalizer

See Also

GridLocalizer Members

Localization

DevExpress.XtraGrid.Localization Namespace