【IT168技术文档】
XtraEditors 库的运行时界面能够用Localizer的对象来本地化。只有这样做,你必须首先建立一个Localizer 继承类,然后,重写 Localizer.GetLocalizedString方法来调整由editors提供的可视化元素的标题。最后,在必须的Localizer 继承类被建立以后,实例化并且设置它的Localizer.Active属性以便起作用。
附上VB.Net源码,DevExpress7.2控件的本地化,用法在summary中有,用起来非常简单,其他版本的只需要改里面少数的ID即可
Imports System Imports System.Collections.Generic Imports System.Text Imports DevExpress.XtraGrid.Localization Imports DevExpress.XtraBars.Localization Imports DevExpress.XtraCharts.Localization Imports DevExpress.XtraEditors.Controls Imports DevExpress.XtraLayout.Localization Imports DevExpress.XtraNavBar Imports DevExpress.XtraPivotGrid.Localization Imports DevExpress.XtraPrinting.Localization Imports DevExpress.XtraReports.Localization Imports DevExpress.XtraScheduler.Localization Imports DevExpress.XtraTreeList.Localization Imports DevExpress.XtraVerticalGrid.Localization Imports DevExpress.XtraBars.Customization Namespace Dxperience.LocalizationCHS ''' <summary> ''' GridControl本地化 ''' </summary> ''' <remarks>用法(语句放到Form_Load中): DevExpress.XtraGrid.Localization.GridLocalizer.Active = New DxperienceXtraGridLocalizationCHS(下同,相应的类对象做变化而已)</remarks> Public Class DxperienceXtraGridLocalizationCHS Inherits GridLocalizer Public Overrides Function GetLocalizedString(ByVal id As GridStringId) As String Select Case id Case GridStringId.FileIsNotFoundError Return "文件{0}没有找到" Case GridStringId.ColumnViewExceptionMessage Return "是否确定修改?" Case GridStringId.CustomizationCaption Return "自定义显示字段" Case GridStringId.CustomizationColumns Return "列" Case GridStringId.CustomizationBands Return "分区" Case GridStringId.PopupFilterAll Return "(所有)" Case GridStringId.PopupFilterCustom Return "(自定义)" Case GridStringId.PopupFilterBlanks Return "(空值)" Case GridStringId.PopupFilterNonBlanks Return "(非空值)" Case GridStringId.CustomFilterDialogFormCaption Return "自定义筛选条件" Case GridStringId.CustomFilterDialogCaption Return "条件为:" Case GridStringId.CustomFilterDialogRadioAnd Return "并且" Case GridStringId.CustomFilterDialogRadioOr Return "或者" Case GridStringId.CustomFilterDialogOkButton Return "确定(&O)" Case GridStringId.CustomFilterDialogClearFilter Return "清除筛选条件(&L)" Case GridStringId.CustomFilterDialog2FieldCheck Return "字段" Case GridStringId.CustomFilterDialogCancelButton Return "取消(&C)" Case GridStringId.CustomFilterDialogConditionEQU Return "等于=" Case GridStringId.CustomFilterDialogConditionNEQ Return "不等于<>" Case GridStringId.CustomFilterDialogConditionGT Return "大于>" Case GridStringId.CustomFilterDialogConditionGTE Return "大于或等于>=" Case GridStringId.CustomFilterDialogConditionLT Return "小于<" Case GridStringId.CustomFilterDialogConditionLTE Return "小于或等于<=" Case GridStringId.CustomFilterDialogConditionBlanks Return "空值" Case GridStringId.CustomFilterDialogConditionNonBlanks Return "非空值" Case GridStringId.CustomFilterDialogConditionLike Return "包含" Case GridStringId.CustomFilterDialogConditionNotLike Return "不包含" Case GridStringId.MenuFooterSum Return "合计" Case GridStringId.MenuFooterMin Return "最小" Case GridStringId.MenuFooterMax Return "最大" Case GridStringId.MenuFooterCount Return "计数" Case GridStringId.MenuFooterAverage Return "平均" Case GridStringId.MenuFooterNone Return "空" Case GridStringId.MenuFooterSumFormat Return "合计={0:#.##}" Case GridStringId.MenuFooterMinFormat Return "最小={0}" Case GridStringId.MenuFooterMaxFormat Return "最大={0}" Case GridStringId.MenuFooterCountFormat Return "{0}" Case GridStringId.MenuFooterAverageFormat Return "平均={0:#.##}" Case GridStringId.MenuColumnSortAscending Return "升序排序" Case GridStringId.MenuColumnSortDescending Return "降序排序" Case GridStringId.MenuColumnGroup Return "按此列分组" Case GridStringId.MenuColumnUnGroup Return "取消分组" Case GridStringId.MenuColumnColumnCustomization Return "显示/隐藏字段" Case GridStringId.MenuColumnBestFit Return "自动调整字段宽度" Case GridStringId.MenuColumnFilter Return "筛选" Case GridStringId.MenuColumnClearFilter Return "清除筛选条件" Case GridStringId.MenuColumnBestFitAllColumns Return "自动调整所有字段宽度" Case GridStringId.MenuGroupPanelFullExpand Return "展开全部分组" Case GridStringId.MenuGroupPanelFullCollapse Return "收缩全部分组" Case GridStringId.MenuGroupPanelClearGrouping Return "清除所有分组" Case GridStringId.PrintDesignerGridView Return "打印设置(表格模式)" Case GridStringId.PrintDesignerCardView Return "打印设置(卡片模式)" Case GridStringId.PrintDesignerBandedView Return "打印设置(区域模式)" Case GridStringId.PrintDesignerBandHeader Return "区标题" Case GridStringId.MenuColumnGroupBox Return "显示/隐藏分组区" Case GridStringId.CardViewNewCard Return "新卡片" Case GridStringId.CardViewQuickCustomizationButton Return "自定义格式" Case GridStringId.CardViewQuickCustomizationButtonFilter Return "筛选" Case GridStringId.CardViewQuickCustomizationButtonSort Return "排序:" Case GridStringId.GridGroupPanelText Return "拖动列标题到这进行分组" Case GridStringId.GridNewRowText Return "新增资料" Case GridStringId.GridOutlookIntervals Return "一个月以上;上个月;三周前;两周前;上周;;;;;;;;昨天;今天;明天; ;;;;;;;下周;两周后;三周后;下个月;一个月之后;" Case GridStringId.PrintDesignerDescription Return "为当前视图设置不同的打印选项." Case GridStringId.MenuFooterCustomFormat Return "自定={0}" Case GridStringId.MenuFooterCountGroupFormat Return "计数={0}" Case GridStringId.MenuColumnClearSorting Return "清除排序" End Select Return MyBase.GetLocalizedString(id) End Function 'GetLocalizedString End Class ''' <summary> ''' Bars本地化 ''' </summary> ''' <remarks></remarks> Public Class DxperienceXtraBarsLocalizationCHS Inherits BarLocalizer Public Overrides Function GetLocalizedString(ByVal id As BarString) As String Select Case id Case BarString.None Return "" Case BarString.AddOrRemove Return "新增或删除按钮(&A)" Case BarString.ResetBar Return "是否确实要重置对 '{0}' 工具栏所作的修改?" Case BarString.ResetBarCaption Return "自定义" Case BarString.ResetButton Return "重设工具栏(&R)" Case BarString.CustomizeButton Return "自定义(&C)..." Case BarString.ToolBarMenu Return "重设(&R)$删除(&D)$!命名(&N)$!标准(&L)$总使用文字(&T)$在菜单中只用文字 (&O)$图像与文本(&A)$!开始一组(&G)$常用的(&M)" Case BarString.ToolbarNameCaption Return "工具栏名称(&T):" Case BarString.NewToolbarCaption Return "新建工具栏" Case BarString.NewToolbarCustomNameFormat Return "自定义 {0}" Case BarString.RenameToolbarCaption Return "重新命名" Case BarString.CustomizeWindowCaption Return "自定义" Case BarString.MenuAnimationSystem Return "(系统默认)" Case BarString.MenuAnimationNone Return "空" Case BarString.MenuAnimationSlide Return "滚动" Case BarString.MenuAnimationFade Return "减弱" Case BarString.MenuAnimationUnfold Return "展开" Case BarString.MenuAnimationRandom Return "随机" End Select Return MyBase.GetLocalizedString(id) End Function 'GetLocalizedString End Class ''' <summary> ''' Charts本地化 ''' </summary> ''' <remarks></remarks> Public Class DxperienceXtraChartsLocalizationCHS Inherits ChartLocalizer Public Overrides Function GetLocalizedString(ByVal id As ChartStringId) As String Select Case id Case ChartStringId.SeriesPrefix Return "级联 " Case ChartStringId.PalettePrefix Return "调色板 " Case ChartStringId.ArgumentMember Return "参数" Case ChartStringId.ValueMember Return "值" Case ChartStringId.LowValueMember Return "低" Case ChartStringId.HighValueMember Return "高" Case ChartStringId.OpenValueMember Return "开启" Case ChartStringId.CloseValueMember Return "关闭" Case ChartStringId.DefaultDataFilterName Return "数据筛选" Case ChartStringId.DefaultChartTitle Return "图表标题" Case ChartStringId.MsgSeriesViewDoesNotExist Return "{0}级联视图不存在。" Case ChartStringId.MsgEmptyArrayOfValues Return "数组值为空。" Case ChartStringId.MsgItemNotInCollection Return "此聚集不能包含指定项。" Case ChartStringId.MsgIncorrectValue Return "Incorrect value ""{0}"" for the argument ""{1}""." Case ChartStringId.MsgIncompatiblePointType Return "The type of the ""{0}"" point isn't compatible with the {1} scale." Case ChartStringId.MsgIncompatibleArgumentDataMember Return "The type of the ""{0}"" argument data member isn't compatible with the {1} scale." Case ChartStringId.MsgDesignTimeOnlySetting Return "此属性不能设置运行时间。" Case ChartStringId.MsgInvalidDataSource Return "无效的数据源类型(不支持接口实施)" Case ChartStringId.MsgIncorrectDataMember Return "The datasource doesn't contain a datamember with the ""{0}"" name." Case ChartStringId.MsgInvalidColorEachValue Return "This view assumes that the ColorEach property is always set to ""{0}""." Case ChartStringId.MsgInvalidSortingKey Return "不能设置排序关键词的值为 {0}" Case ChartStringId.MsgInvalidFilterCondition Return "条件 {0} 不能适用于 ""{1}"" 数据" Case ChartStringId.MsgIncorrectDataAdapter Return "{0} 对象不是数据适配器" Case ChartStringId.MsgDataSnapshot Return "The data snapshot is complete. All series data now statically persist in the chart. Note, this also means that the chart is now in unbound mode." Case ChartStringId.MsgModifyDefaultPaletteError Return "调色板是默认的,于是不能被修改" Case ChartStringId.MsgAddExistingPaletteError Return "{0} 调色板已经存在于储存裤中" Case ChartStringId.MsgInternalPropertyChangeError Return "此属性仅仅在内部使用,你不允许改变它的值" Case ChartStringId.MsgPaletteNotFound Return "图表不能包含 {0} 调色板" Case ChartStringId.MsgLabelSettingRuntimeError Return """标签""属性不能设置运行时间" Case ChartStringId.MsgPointOptionsSettingRuntimeError Return """点选项""属性不能设置运行时间" 'Case ChartStringId.MsgIncorrectMinValueOfAxisRang ' Return "坐标范围的最小值应该小于最大值 ({0})" 'Case ChartStringId.MsgIncorrectMaxValueOfAxisRange ' Return "坐标范围的最大值应该大于最小值 ({0})" Case ChartStringId.MsgIncorrectNumericPrecision Return "精确度应该大于等于0" Case ChartStringId.MsgIncorrectAxisThickness Return "坐标宽度应该大于0" 'Case ChartStringId.MsgIncorrectAxisIndent ' Return "坐标缩进应该大于等于0" Case ChartStringId.MsgIncorrectBarWidth Return "条宽应该大于等于0" Case ChartStringId.MsgIncorrectBorderThickness Return "边框宽度应该大于0" Case ChartStringId.MsgIncorrectChartTitleIndent Return "标题缩进应该大于等于0小于1000" Case ChartStringId.MsgIncorrectLegendMarkerSize Return "图例大小应该大于0小于1000" Case ChartStringId.MsgIncorrectLegendSpacingVertical Return "图例垂直间距应该大于等于0小于1000" Case ChartStringId.MsgIncorrectLegendSpacingHorizontal Return "图例水平间距应该大于等于0小于1000" Case ChartStringId.MsgIncorrectMarkerSize Return "标记大小应该大于1" Case ChartStringId.MsgIncorrectMarkerStarPointCount Return "点的数目应该大于3小于101" Case ChartStringId.MsgIncorrectPieSeriesLabelColumnIndent Return "柱型图缩进应该大于等于0" Case ChartStringId.MsgIncorrectPercentPrecision Return "百分比的精确度应该大于0" Case ChartStringId.MsgIncorrectSeriesLabelLineLength Return "线条长度应该大于等于0小于1000" Case ChartStringId.MsgIncorrectStripMinLimit Return "条最小界限应该小于最大界限" Case ChartStringId.MsgIncorrectStripMaxLimit Return "条最大界限应该大于最小界限" Case ChartStringId.MsgIncorrectLineThickness Return "线条宽度应该大于0" Case ChartStringId.MsgIncorrectShadowSize Return "阴影大小应该大于0" Case ChartStringId.MsgIncorrectTickmarkThickness Return "刻度线宽度应该大于0" Case ChartStringId.MsgIncorrectTickmarkLength Return "刻度线长度应该大于0" 'Case ChartStringId.MsgIncorrectTickmarkMinorCount ' Return "刻度线较小的数目应该大于0小于100" Case ChartStringId.MsgIncorrectTickmarkMinorThickness Return "刻度线较小的宽度应该大于0" Case ChartStringId.MsgIncorrectTickmarkMinorLength Return "刻度线较小的长度应该大于0" Case ChartStringId.MsgIncorrectPercentValue Return "百分率应该大于等于0小于等于100" Case ChartStringId.MsgIncorrectSimpleDiagramDimension Return "简单图表的尺寸应该大于0小于100" Case ChartStringId.MsgIncorrectStockLevelLineLengthValue Return "股票的水平线长度应该大于等于0" Case ChartStringId.MsgIncorrectReductionColorValue Return "降低颜色值不能为空" Case ChartStringId.MsgIncorrectLabelAngle Return "标签的角度应该大于等于-360小于等于360" Case ChartStringId.MsgIncorrectImageBounds Return "不能创建图像为指定的大小" 'Case ChartStringId.MsgInternalFile ' Return "指定的文件是此工程的内部文件不能被使用" Case ChartStringId.MsgIncorrectUseImageProperty Return "图像属性不能使用在Web图表控件,请使用图像URL属性代替" Case ChartStringId.MsgIncorrectUseImageUrlProperty Return "图像URL属性只能使用在Web图表控件,请使用图像属性代替" Case ChartStringId.MsgEmptyArgument Return "参数不能为空。" Case ChartStringId.MsgIncorrectImageFormat Return "不能导出图表为指定的图像格式" Case ChartStringId.MsgIncorrectValueDataMemberCount Return "必须指定当前级联视图 {0} 数据项值。" Case ChartStringId.MsgPaletteEditingIsntAllowed Return "编辑不允许!" Case ChartStringId.MsgPaletteDoubleClickToEdit Return "双击进行编辑..." Case ChartStringId.MsgInvalidPaletteName Return "Can't add a palette which has an empty name ("""") to the palette repository. Please, specify a name for the palette." Case ChartStringId.VerbAbout Return "关于" Case ChartStringId.VerbAboutDescription Return "在XtraCharts显示基本信息" Case ChartStringId.VerbPopulate Return "填充" Case ChartStringId.VerbPopulateDescription Return "填充图表数据源" Case ChartStringId.VerbClearDataSource Return "清除数据源" Case ChartStringId.VerbClearDataSourceDescription Return "清除图表数据源" Case ChartStringId.VerbDataSnapshot Return "数据抽点打印" Case ChartStringId.VerbDataSnapshotDescription Return "从图表范围数据源复制数据和拆分数据源。" Case ChartStringId.VerbSeries Return "级联..." Case ChartStringId.VerbSeriesDescription Return "打开编辑聚集级联" Case ChartStringId.VerbEditPalettes Return "编辑调色板..." Case ChartStringId.VerbEditPalettesDescription Return "打开编辑调色板。" Case ChartStringId.VerbWizard Return "向导..." Case ChartStringId.VerbWizardDescription Return "运行图表向导,允许编辑哪个图表属性。" Case ChartStringId.PieIncorrectValuesText Return "饼图不能描绘负数。所有的值必须大于等于0。" Case ChartStringId.FontFormat Return "{0}, {1}pt, {2}" Case ChartStringId.TrnSeriesChanged Return "级联更改" Case ChartStringId.TrnDataFiltersChanged Return "数据筛选更改" Case ChartStringId.TrnValueDataMembersChanged Return "数据项值更改" Case ChartStringId.TrnChartTitlesChanged Return "图表标题更改" Case ChartStringId.TrnPalettesChanged Return "调色板更改" Case ChartStringId.TrnConstantLinesChanged Return "不变行更改" Case ChartStringId.TrnStripsChanged Return "条更改" Case ChartStringId.TrnCustomAxisLabelChanged Return "自定坐标更改" Case ChartStringId.TrnChartWizard Return "图表向导设置应用" Case ChartStringId.TrnSeriesDeleted Return "删除级联" Case ChartStringId.TrnChartTitleDeleted Return "删除图表标题" Case ChartStringId.TrnConstantLineDeleted Return "删除不变行" Case ChartStringId.AxisXDefaultTitle Return "坐标参数" Case ChartStringId.AxisYDefaultTitle Return "坐标值" Case ChartStringId.MenuItemAdd Return "新增" Case ChartStringId.MenuItemInsert Return "插入" Case ChartStringId.MenuItemDelete Return "删除" Case ChartStringId.MenuItemClear Return "清除" Case ChartStringId.MenuItemMoveUp Return "往上移" Case ChartStringId.MenuItemMoveDown Return "往下移" Case ChartStringId.WizBarSeriesLabelPositionTop Return "顶端" Case ChartStringId.WizBarSeriesLabelPositionCenter Return "居中" Case ChartStringId.WizPieSeriesLabelPositionInside Return "里面" Case ChartStringId.WizPieSeriesLabelPositionOutside Return "外面" Case ChartStringId.WizPieSeriesLabelPositionTwoColumns Return "两列" Case ChartStringId.WizBoundSeries Return "级联约束" Case ChartStringId.WizSeriesLabelDefaultText Return "<空>" Case ChartStringId.WizAddProjectDataSource Return "新增数据源..." Case ChartStringId.WizNullDataSourceConfirmation Return "在设置数据源为空后,所有的约束级联信息将丢失。你确定要继续?" Case ChartStringId.WizCurrentAppearance Return "当前外观" Case ChartStringId.WizNoSuitableData Return "没有数据适合于产生点级联" Case ChartStringId.SvnSideBySideBar Return "柱形图" Case ChartStringId.SvnStackedBar Return "横条图" Case ChartStringId.SvnFullStackedBar Return "100%堆叠柱形图" Case ChartStringId.SvnPie Return "饼图" Case ChartStringId.SvnPoint Return "泡泡图" Case ChartStringId.SvnLine Return "折线线" Case ChartStringId.SvnStepLine Return "分段折线图" Case ChartStringId.SvnStock Return "股票图(最高-最低-收盘)" Case ChartStringId.SvnCandleStick Return "股票图(开盘-最高-最低-收盘)" End Select Return MyBase.GetLocalizedString(id) End Function 'GetLocalizedString