To localize RadGridView to display control 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 RadGridLocalizationProvider 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:
Copy[C#] Localizing RadGridView Strings
public class MyEnglishRadGridLocalizationProvider : RadGridLocalizationProvider
{
public override string GetLocalizedString(string id)
{
switch (id)
{
case RadGridStringId.FilterFunctionBetween: return "Between";
case RadGridStringId.FilterFunctionContains: return "Contains";
case RadGridStringId.FilterFunctionDoesNotContain: return "Does not contain";
case RadGridStringId.FilterFunctionEndsWith: return "Ends with";
case RadGridStringId.FilterFunctionEqualTo: return "Equals";
case RadGridStringId.FilterFunctionGreaterThan: return "Greater than";
case RadGridStringId.FilterFunctionGreaterThanOrEqualTo: return "Greater than or equal to";
case RadGridStringId.FilterFunctionIsEmpty: return "Is empty";
case RadGridStringId.FilterFunctionIsNull: return "Is null";
case RadGridStringId.FilterFunctionLessThan: return "Less than";
case RadGridStringId.FilterFunctionLessThanOrEqualTo: return "Less than or equal to";
case RadGridStringId.FilterFunctionNoFilter: return "No filter";
case RadGridStringId.FilterFunctionNotBetween: return "Not between";
case RadGridStringId.FilterFunctionNotEqualTo: return "Not equal to";
case RadGridStringId.FilterFunctionNotIsEmpty: return "Is not empty";
case RadGridStringId.FilterFunctionNotIsNull: return "Is not null";
case RadGridStringId.FilterFunctionStartsWith: return "Starts with";
case RadGridStringId.FilterFunctionCustom: return "Custom";
case RadGridStringId.FilterOperatorBetween: return "Between";
case RadGridStringId.FilterOperatorContains: return "Contains";
case RadGridStringId.FilterOperatorDoesNotContain: return "NotContain";
case RadGridStringId.FilterOperatorEndsWith: return "EndsWith";
case RadGridStringId.FilterOperatorEqualTo: return "Equal";
case RadGridStringId.FilterOperatorGreaterThan: return "GreaterThan";
case RadGridStringId.FilterOperatorGreaterThanOrEqualTo: return "GreaterThanOrEqual";
case RadGridStringId.FilterOperatorIsEmpty: return "IsEmpty";
case RadGridStringId.FilterOperatorIsNull: return "IsNull";
case RadGridStringId.FilterOperatorLessThan: return "LessThan";
case RadGridStringId.FilterOperatorLessThanOrEqualTo: return "LessThanOrEqual";
case RadGridStringId.FilterOperatorNoFilter: return "No filter";
case RadGridStringId.FilterOperatorNotBetween: return "NotBetween";
case RadGridStringId.FilterOperatorNotEqualTo: return "NotEqual";
case RadGridStringId.FilterOperatorNotIsEmpty: return "NotEmpty";
case RadGridStringId.FilterOperatorNotIsNull: return "NotNull";
case RadGridStringId.FilterOperatorStartsWith: return "StartsWith";
case RadGridStringId.FilterOperatorIsLike: return "Like";
case RadGridStringId.FilterOperatorNotIsLike: return "NotLike";
case RadGridStringId.FilterOperatorIsContainedIn: return "ContainedIn";
case RadGridStringId.FilterOperatorNotIsContainedIn: return "NotContainedIn";
case RadGridStringId.FilterOperatorCustom: return "Custom";
case RadGridStringId.CustomFilterMenuItem: return "Custom";
case RadGridStringId.CustomFilterDialogCaption: return "RadGridView Filter Dialog";
case RadGridStringId.CustomFilterDialogLabel: return "Show rows where:";
case RadGridStringId.CustomFilterDialogRbAnd: return "And";
case RadGridStringId.CustomFilterDialogRbOr: return "Or";
case RadGridStringId.CustomFilterDialogBtnOk: return "OK";
case RadGridStringId.CustomFilterDialogBtnCancel: return "Cancel";
case RadGridStringId.CustomFilterDialogCheckBoxNot: return "Not";
case RadGridStringId.CustomFilterDialogTrue: return "True";
case RadGridStringId.CustomFilterDialogFalse: return "False";
case RadGridStringId.FilterMenuAvailableFilters: return "Available Filters";
case RadGridStringId.FilterMenuSearchBoxText: return "Search...";
case RadGridStringId.FilterMenuClearFilters: return "Clear Filter";
case RadGridStringId.FilterMenuButtonOK: return "OK";
case RadGridStringId.FilterMenuButtonCancel: return "Cancel";
case RadGridStringId.FilterMenuSelectionAll: return "All";
case RadGridStringId.FilterMenuSelectionAllSearched: return "All Search Result";
case RadGridStringId.FilterMenuSelectionNull: return "Null";
case RadGridStringId.FilterMenuSelectionNotNull: return "Not Null";
case RadGridStringId.FilterLogicalOperatorAnd: return "AND";
case RadGridStringId.FilterLogicalOperatorOr: return "OR";
case RadGridStringId.FilterCompositeNotOperator: return "NOT";
case RadGridStringId.DeleteRowMenuItem: return "Delete Row";
case RadGridStringId.SortAscendingMenuItem: return "Sort Ascending";
case RadGridStringId.SortDescendingMenuItem: return "Sort Descending";
case RadGridStringId.ClearSortingMenuItem: return "Clear Sorting";
case RadGridStringId.ConditionalFormattingMenuItem: return "Conditional Formatting";
case RadGridStringId.GroupByThisColumnMenuItem: return "Group by this column";
case RadGridStringId.UngroupThisColumn: return "Ungroup this column";
case RadGridStringId.ColumnChooserMenuItem: return "Column Chooser";
case RadGridStringId.HideMenuItem: return "Hide Column";
case RadGridStringId.UnpinMenuItem: return "Unpin Column";
case RadGridStringId.UnpinRowMenuItem: return "Unpin Row";
case RadGridStringId.PinMenuItem: return "Pinned state";
case RadGridStringId.PinAtLeftMenuItem: return "Pin at left";
case RadGridStringId.PinAtRightMenuItem: return "Pin at right";
case RadGridStringId.PinAtBottomMenuItem: return "Pin at bottom";
case RadGridStringId.PinAtTopMenuItem: return "Pin at top";
case RadGridStringId.BestFitMenuItem: return "Best Fit";
case RadGridStringId.PasteMenuItem: return "Paste";
case RadGridStringId.EditMenuItem: return "Edit";
case RadGridStringId.ClearValueMenuItem: return "Clear Value";
case RadGridStringId.CopyMenuItem: return "Copy";
case RadGridStringId.AddNewRowString: return "Click here to add a new row";
case RadGridStringId.ConditionalFormattingCaption: return "Conditional Formatting Rules Manager";
case RadGridStringId.ConditionalFormattingLblColumn: return "Format only cells with";
case RadGridStringId.ConditionalFormattingLblName: return "Rule name:";
case RadGridStringId.ConditionalFormattingLblType: return "Cell value:";
case RadGridStringId.ConditionalFormattingLblValue1: return "Value 1:";
case RadGridStringId.ConditionalFormattingLblValue2: return "Value 2:";
case RadGridStringId.ConditionalFormattingGrpConditions: return "Rules";
case RadGridStringId.ConditionalFormattingGrpProperties: return "Rule Properties";
case RadGridStringId.ConditionalFormattingChkApplyToRow: return "Apply this rule to entire row";
case RadGridStringId.ConditionalFormattingBtnAdd: return "Add new rule";
case RadGridStringId.ConditionalFormattingBtnRemove: return "Remove selected rule";
case RadGridStringId.ConditionalFormattingBtnOK: return "OK";
case RadGridStringId.ConditionalFormattingBtnCancel: return "Cancel";
case RadGridStringId.ConditionalFormattingBtnApply: return "Apply";
case RadGridStringId.ConditionalFormattingRuleAppliesOn: return "Rule applies on:";
case RadGridStringId.ConditionalFormattingChooseOne: return "[Choose one]";
case RadGridStringId.ConditionalFormattingEqualsTo: return "equals to [Value1]";
case RadGridStringId.ConditionalFormattingIsNotEqualTo: return "is not equal to [Value1]";
case RadGridStringId.ConditionalFormattingStartsWith: return "starts with [Value1]";
case RadGridStringId.ConditionalFormattingEndsWith: return "ends with [Value1]";
case RadGridStringId.ConditionalFormattingContains: return "contains [Value1]";
case RadGridStringId.ConditionalFormattingDoesNotContain: return "does not contain [Value1]";
case RadGridStringId.ConditionalFormattingIsGreaterThan: return "is greater than [Value1]";
case RadGridStringId.ConditionalFormattingIsGreaterThanOrEqual: return "is greater than or equal [Value1]";
case RadGridStringId.ConditionalFormattingIsLessThan: return "is less than [Value1]";
case RadGridStringId.ConditionalFormattingIsLessThanOrEqual: return "is less than or equal to [Value1]";
case RadGridStringId.ConditionalFormattingIsBetween: return "is between [Value1] and [Value2]";
case RadGridStringId.ConditionalFormattingIsNotBetween: return "is not between [Value1] and [Value1]";
case RadGridStringId.ColumnChooserFormCaption: return "Column Chooser";
case RadGridStringId.ColumnChooserFormMessage: return "Drag a column header from the\ngrid here to remove it from\nthe current view.";
case RadGridStringId.GroupingPanelDefaultMessage: return "Drag a column here to group by this column.";
case RadGridStringId.GroupingPanelHeader: return "Group by:";
case RadGridStringId.NoDataText: return "No data to display";
case RadGridStringId.CompositeFilterFormErrorCaption: return "Filter Error";
}
return string.Empty;
}
}
Copy[VB.NET] Localizing RadGridView Strings
Public Class MyEnglishRadGridLocalizationProvider
Inherits RadGridLocalizationProvider
Public Overrides Function GetLocalizedString(ByVal id As String) As String
Select Case id
Case RadGridStringId.FilterFunctionBetween
Return "Between"
Case RadGridStringId.FilterFunctionContains
Return "Contains"
Case RadGridStringId.FilterFunctionDoesNotContain
Return "Does not contain"
Case RadGridStringId.FilterFunctionEndsWith
Return "Ends with"
Case RadGridStringId.FilterFunctionEqualTo
Return "Equals"
Case RadGridStringId.FilterFunctionGreaterThan
Return "Greater than"
Case RadGridStringId.FilterFunctionGreaterThanOrEqualTo
Return "Greater than or equal to"
Case RadGridStringId.FilterFunctionIsEmpty
Return "Is empty"
Case RadGridStringId.FilterFunctionIsNull
Return "Is null"
Case RadGridStringId.FilterFunctionLessThan
Return "Less than"
Case RadGridStringId.FilterFunctionLessThanOrEqualTo
Return "Less than or equal to"
Case RadGridStringId.FilterFunctionNoFilter
Return "No filter"
Case RadGridStringId.FilterFunctionNotBetween
Return "Not between"
Case RadGridStringId.FilterFunctionNotEqualTo
Return "Not equal to"
Case RadGridStringId.FilterFunctionNotIsEmpty
Return "Is not empty"
Case RadGridStringId.FilterFunctionNotIsNull
Return "Is not null"
Case RadGridStringId.FilterFunctionStartsWith
Return "Starts with"
Case RadGridStringId.FilterFunctionCustom
Return "Custom"
Case RadGridStringId.FilterOperatorBetween
Return "Between"
Case RadGridStringId.FilterOperatorContains
Return "Contains"
Case RadGridStringId.FilterOperatorDoesNotContain
Return "NotContain"
Case RadGridStringId.FilterOperatorEndsWith
Return "EndsWith"
Case RadGridStringId.FilterOperatorEqualTo
Return "Equal"
Case RadGridStringId.FilterOperatorGreaterThan
Return "GreaterThan"
Case RadGridStringId.FilterOperatorGreaterThanOrEqualTo
Return "GreaterThanOrEqual"
Case RadGridStringId.FilterOperatorIsEmpty
Return "IsEmpty"
Case RadGridStringId.FilterOperatorIsNull
Return "IsNull"
Case RadGridStringId.FilterOperatorLessThan
Return "LessThan"
Case RadGridStringId.FilterOperatorLessThanOrEqualTo
Return "LessThanOrEqual"
Case RadGridStringId.FilterOperatorNoFilter
Return "No filter"
Case RadGridStringId.FilterOperatorNotBetween
Return "NotBetween"
Case RadGridStringId.FilterOperatorNotEqualTo
Return "NotEqual"
Case RadGridStringId.FilterOperatorNotIsEmpty
Return "NotEmpty"
Case RadGridStringId.FilterOperatorNotIsNull
Return "NotNull"
Case RadGridStringId.FilterOperatorStartsWith
Return "StartsWith"
Case RadGridStringId.FilterOperatorIsLike
Return "Like"
Case RadGridStringId.FilterOperatorNotIsLike
Return "NotLike"
Case RadGridStringId.FilterOperatorIsContainedIn
Return "ContainedIn"
Case RadGridStringId.FilterOperatorNotIsContainedIn
Return "NotContainedIn"
Case RadGridStringId.FilterOperatorCustom
Return "Custom"
Case RadGridStringId.CustomFilterMenuItem
Return "Custom"
Case RadGridStringId.CustomFilterDialogCaption
Return "RadGridView Filter Dialog"
Case RadGridStringId.CustomFilterDialogLabel
Return "Show rows where:"
Case RadGridStringId.CustomFilterDialogRbAnd
Return "And"
Case RadGridStringId.CustomFilterDialogRbOr
Return "Or"
Case RadGridStringId.CustomFilterDialogBtnOk
Return "OK"
Case RadGridStringId.CustomFilterDialogBtnCancel
Return "Cancel"
Case RadGridStringId.CustomFilterDialogCheckBoxNot
Return "Not"
Case RadGridStringId.CustomFilterDialogTrue
Return "True"
Case RadGridStringId.CustomFilterDialogFalse
Return "False"
Case RadGridStringId.FilterMenuAvailableFilters
Return "Available Filters"
Case RadGridStringId.FilterMenuSearchBoxText
Return "Search..."
Case RadGridStringId.FilterMenuClearFilters
Return "Clear Filter"
Case RadGridStringId.FilterMenuButtonOK
Return "OK"
Case RadGridStringId.FilterMenuButtonCancel
Return "Cancel"
Case RadGridStringId.FilterMenuSelectionAll
Return "All"
Case RadGridStringId.FilterMenuSelectionAllSearched
Return "All Search Result"
Case RadGridStringId.FilterMenuSelectionNull
Return "Null"
Case RadGridStringId.FilterMenuSelectionNotNull
Return "Not Null"
Case RadGridStringId.FilterLogicalOperatorAnd
Return "AND"
Case RadGridStringId.FilterLogicalOperatorOr
Return "OR"
Case RadGridStringId.FilterCompositeNotOperator
Return "NOT"
Case RadGridStringId.DeleteRowMenuItem
Return "Delete Row"
Case RadGridStringId.SortAscendingMenuItem
Return "Sort Ascending"
Case RadGridStringId.SortDescendingMenuItem
Return "Sort Descending"
Case RadGridStringId.ClearSortingMenuItem
Return "Clear Sorting"
Case RadGridStringId.ConditionalFormattingMenuItem
Return "Conditional Formatting"
Case RadGridStringId.GroupByThisColumnMenuItem
Return "Group by this column"
Case RadGridStringId.UngroupThisColumn
Return "Ungroup this column"
Case RadGridStringId.ColumnChooserMenuItem
Return "Column Chooser"
Case RadGridStringId.HideMenuItem
Return "Hide Column"
Case RadGridStringId.UnpinMenuItem
Return "Unpin Column"
Case RadGridStringId.UnpinRowMenuItem
Return "Unpin Row"
Case RadGridStringId.PinMenuItem
Return "Pinned state"
Case RadGridStringId.PinAtLeftMenuItem
Return "Pin at left"
Case RadGridStringId.PinAtRightMenuItem
Return "Pin at right"
Case RadGridStringId.PinAtBottomMenuItem
Return "Pin at bottom"
Case RadGridStringId.PinAtTopMenuItem
Return "Pin at top"
Case RadGridStringId.BestFitMenuItem
Return "Best Fit"
Case RadGridStringId.PasteMenuItem
Return "Paste"
Case RadGridStringId.EditMenuItem
Return "Edit"
Case RadGridStringId.ClearValueMenuItem
Return "Clear Value"
Case RadGridStringId.CopyMenuItem
Return "Copy"
Case RadGridStringId.AddNewRowString
Return "Click here to add a new row"
Case RadGridStringId.ConditionalFormattingCaption
Return "Conditional Formatting Rules Manager"
Case RadGridStringId.ConditionalFormattingLblColumn
Return "Format only cells with"
Case RadGridStringId.ConditionalFormattingLblName
Return "Rule name:"
Case RadGridStringId.ConditionalFormattingLblType
Return "Cell value:"
Case RadGridStringId.ConditionalFormattingLblValue1
Return "Value 1:"
Case RadGridStringId.ConditionalFormattingLblValue2
Return "Value 2:"
Case RadGridStringId.ConditionalFormattingGrpConditions
Return "Rules"
Case RadGridStringId.ConditionalFormattingGrpProperties
Return "Rule Properties"
Case RadGridStringId.ConditionalFormattingChkApplyToRow
Return "Apply this rule to entire row"
Case RadGridStringId.ConditionalFormattingBtnAdd
Return "Add new rule"
Case RadGridStringId.ConditionalFormattingBtnRemove
Return "Remove selected rule"
Case RadGridStringId.ConditionalFormattingBtnOK
Return "OK"
Case RadGridStringId.ConditionalFormattingBtnCancel
Return "Cancel"
Case RadGridStringId.ConditionalFormattingBtnApply
Return "Apply"
Case RadGridStringId.ConditionalFormattingRuleAppliesOn
Return "Rule applies on:"
Case RadGridStringId.ConditionalFormattingChooseOne
Return "[Choose one]"
Case RadGridStringId.ConditionalFormattingEqualsTo
Return "equals to [Value1]"
Case RadGridStringId.ConditionalFormattingIsNotEqualTo
Return "is not equal to [Value1]"
Case RadGridStringId.ConditionalFormattingStartsWith
Return "starts with [Value1]"
Case RadGridStringId.ConditionalFormattingEndsWith
Return "ends with [Value1]"
Case RadGridStringId.ConditionalFormattingContains
Return "contains [Value1]"
Case RadGridStringId.ConditionalFormattingDoesNotContain
Return "does not contain [Value1]"
Case RadGridStringId.ConditionalFormattingIsGreaterThan
Return "is greater than [Value1]"
Case RadGridStringId.ConditionalFormattingIsGreaterThanOrEqual
Return "is greater than or equal [Value1]"
Case RadGridStringId.ConditionalFormattingIsLessThan
Return "is less than [Value1]"
Case RadGridStringId.ConditionalFormattingIsLessThanOrEqual
Return "is less than or equal to [Value1]"
Case RadGridStringId.ConditionalFormattingIsBetween
Return "is between [Value1] and [Value2]"
Case RadGridStringId.ConditionalFormattingIsNotBetween
Return "is not between [Value1] and [Value1]"
Case RadGridStringId.ColumnChooserFormCaption
Return "Column Chooser"
Case RadGridStringId.ColumnChooserFormMessage
Return "Drag a column header from the" & vbLf & "grid here to remove it from" & vbLf & "the current view."
Case RadGridStringId.GroupingPanelDefaultMessage
Return "Drag a column here to group by this column."
Case RadGridStringId.GroupingPanelHeader
Return "Group by:"
Case RadGridStringId.NoDataText
Return "No data to display"
Case RadGridStringId.CompositeFilterFormErrorCaption
Return "Filter Error"
End Select
Return String.Empty
End Function
End ClassTo apply the custom localization provider, instantiate and assign it to the current localization provider:
Copy[C#] Assigning the Current Localization Provider
RadGridLocalizationProvider.CurrentProvider = new MyEnglishRadGridLocalizationProvider();
Copy[VB.NET] Assigning the Current Localization Provider
RadGridLocalizationProvider.CurrentProvider = New MyEnglishRadGridLocalizationProvider()
The code provided above illustrates the approach to be used to localize the RadGridView and is not intended as a full translation.