Localization
To localize RadDataLayout to display any text and messages in a specific language:
-
All required classes for localization are defined in Telerik.WinControls.UI.Localization namespace.
-
Start by creating a descendant of the LayoutControlLocalizationProvider class.
-
Override the GetLocalizedString(string id) method and provide a translation for the label and user messages. If a translation is not provided, the default value will be returned. This behavior is guaranteed by the call to the base GetLocalizedString method in the default clause of the switch statement in the example.
Below is a sample implementation of an English localization provider:
public class MyEnglishLayoutControlLocalizationProvider : LayoutControlLocalizationProvider
{
public override string GetLocalizedString(string id)
{
switch (id)
{
case LayoutControlStringId.CustomizeDialogHiddenItems:
return "Hidden Items ({0})";
case LayoutControlStringId.CustomizeDialogNewItems:
return "New Items ({0})";
case LayoutControlStringId.CustomizeDialogPageItems:
return "Items";
case LayoutControlStringId.CustomizeDialogPageStructure:
return "Structure";
case LayoutControlStringId.CustomizeDialogRootItem:
return "Root";
case LayoutControlStringId.CustomizeDialogSaveLayout:
return "Save Layout";
case LayoutControlStringId.CustomizeDialogLoadLayout:
return "Load Layout";
case LayoutControlStringId.NewGroupDefaultText:
return "Item Group";
case LayoutControlStringId.NewLabelDefaultText:
return "Label Item";
case LayoutControlStringId.CustomizeDialogNewItemsEmptySpace:
return "Empty Space";
case LayoutControlStringId.CustomizeDialogNewItemsLabel:
return "Label";
case LayoutControlStringId.CustomizeDialogNewItemsSeparator:
return "Separator";
case LayoutControlStringId.CustomizeDialogNewItemsSplitter:
return "Splitter";
case LayoutControlStringId.CustomizeDialogNewItemsGroup:
return "Group";
case LayoutControlStringId.CustomizeDialogNewItemsTabbedGroup:
return "Tabbed Group";
case LayoutControlStringId.ContextMenuCustomize:
return "Customize";
case LayoutControlStringId.ContextMenuHideItem:
return "Hide";
case LayoutControlStringId.CustomizeDialogTitle:
return "Customize";
case LayoutControlStringId.ErrorBoxTitle:
return "Error!";
case LayoutControlStringId.ErrorFileNotFoundMessage:
return "File not found!";
case LayoutControlStringId.ErrorLoadingLayoutMessage:
return "Error loading layout!";
}
return base.GetLocalizedString(id);
}
}
To apply the custom localization provider, instantiate and assign it to the current localization provider:
Assigning the Current Localization Provider
LayoutControlLocalizationProvider.CurrentProvider = new MyEnglishLayoutControlLocalizationProvider();