DevExpress是一个比较有名的界面控件套件,提供了一系列的界面控件套件的DotNet界面控件。对于较老的版本(例如之前项目中遇到的dev9),对于汉化(应该说本地化Localization)支持较少。高版本接触较少,不知道后续版本(dev13之后)对于本地化的支持怎么样,所以不做讨论。

       对于DEV本地化,网上到处可见的资源包,对dev引用的dll进行修改,但是本地化的效果并不会,汉化的不完全,并且灵活性较差,我们自己根本无法根据自己的需要进行修改。后来在网上找的资料,将dev各个控件中对应的Localizer中Active属性进行修改。由于写这篇文章的时候已经项目过去很久,无法列出当时参考的文章地址,忘见谅。

static void Main()
{ DevExpress.XtraEditors.Controls.Localizer.Active = new LocalizationCHS();
DevExpress.XtraGrid.Localization.GridLocalizer.Active = new XtraGrid_CN();
DevExpress.XtraBars.Localization.BarLocalizer.Active = new XtraBar_CN();
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DevExpress.XtraGrid.Localization;
using DevExpress.XtraBars.Localization; namespace RNDManagementSys
{
public class LocalString
{
public LocalString()
{
GridLocalizer.Active = new XtraGrid_CN();
}
}
#region gridcontrol本地汉化
public class XtraGrid_CN : GridLocalizer
{
public override string Language
{
get
{
return "简体中文";
}
} public override string GetLocalizedString(GridStringId id)
{
switch (id)
{
case GridStringId.CardViewNewCard: return "新卡片";
case GridStringId.CardViewQuickCustomizationButton: return "自定义格式";
case GridStringId.CardViewQuickCustomizationButtonFilter: return "筛选";
case GridStringId.CardViewQuickCustomizationButtonSort: return "排序";
case GridStringId.ColumnViewExceptionMessage: return "是否确定修改?";
case GridStringId.CustomFilterDialog2FieldCheck: return "字段";
case GridStringId.CustomFilterDialogCancelButton: return "取消";
case GridStringId.CustomFilterDialogCaption: return "条件为:";
case GridStringId.CustomFilterDialogConditionBlanks: return "空值";
case GridStringId.CustomFilterDialogConditionEQU: return "等于=";
case GridStringId.CustomFilterDialogConditionGT: return "大于>";
case GridStringId.CustomFilterDialogConditionGTE: return "大于或等于>=";
case GridStringId.CustomFilterDialogConditionLike: return "包含";
case GridStringId.CustomFilterDialogConditionLT: return "小于<";
case GridStringId.CustomFilterDialogConditionLTE: return "小于或等于>=";
case GridStringId.CustomFilterDialogConditionNEQ: return "不等于<>";
case GridStringId.CustomFilterDialogConditionNonBlanks: return "非空值";
case GridStringId.CustomFilterDialogConditionNotLike: return "不包含";
case GridStringId.CustomFilterDialogFormCaption: return "清除筛选条件(&L)";
case GridStringId.CustomFilterDialogOkButton: return "确定(&O)";
case GridStringId.CustomFilterDialogRadioAnd: return "和(&A)";
case GridStringId.CustomFilterDialogRadioOr: return "或者(&O)";
case GridStringId.CustomizationBands: return "分区";
case GridStringId.CustomizationCaption: return "自定义显示字段";
case GridStringId.CustomizationColumns: return "列";
case GridStringId.FileIsNotFoundError: return "文件{0}没找到!";
case GridStringId.GridGroupPanelText: return "拖曳一列页眉在此进行排序";
case GridStringId.GridNewRowText: return "单击这里新增一行";
case GridStringId.GridOutlookIntervals: return "一个月以上;上个月;三周前;两周前;上周;;;;;;;;昨天;今天;明天; ;;;;;;;下周;两周后;三周后;下个月;一个月之后;";
case GridStringId.MenuColumnBestFit: return "自动调整字段宽度";
case GridStringId.MenuColumnBestFitAllColumns: return "自动调整所有字段宽度";
case GridStringId.MenuColumnClearFilter: return "清除筛选条件";
case GridStringId.MenuColumnColumnCustomization: return "显示/隐藏字段";
case GridStringId.MenuColumnFilter: return "筛选";
case GridStringId.MenuColumnGroup: return "按此列分组";
case GridStringId.MenuColumnGroupBox: return "分组区";
case GridStringId.MenuColumnSortAscending: return "升序排序";
case GridStringId.MenuColumnSortDescending: return "降序排序";
case GridStringId.MenuColumnUnGroup: return "取消分组";
case GridStringId.MenuFooterAverage: return "平均";
case GridStringId.MenuFooterAverageFormat: return "平均={0:#.##}";
case GridStringId.MenuFooterCount: return "计数";
case GridStringId.MenuFooterCountFormat: return "{0}";
case GridStringId.MenuFooterMax: return "最大值";
case GridStringId.MenuFooterMaxFormat: return "最大值={0}";
case GridStringId.MenuFooterMin: return "最小";
case GridStringId.MenuFooterMinFormat: return "最小值={0}";
case GridStringId.MenuFooterNone: return "没有";
case GridStringId.MenuFooterSum: return "合计";
case GridStringId.MenuFooterSumFormat: return "求和={0:#.##}";
case GridStringId.MenuGroupPanelClearGrouping: return "取消所有分组";
case GridStringId.MenuGroupPanelFullCollapse: return "收缩全部分组";
case GridStringId.MenuGroupPanelFullExpand: return "展开全部分组";
case GridStringId.PopupFilterAll: return "(所有)";
case GridStringId.PopupFilterBlanks: return "(空值)";
case GridStringId.PopupFilterCustom: return "(自定义)";
case GridStringId.PopupFilterNonBlanks: return "(非空值)";
case GridStringId.PrintDesignerBandedView: return "打印设置(区域模式)";
case GridStringId.PrintDesignerBandHeader: return "区标题";
case GridStringId.PrintDesignerCardView: return "打印设置(卡片模式)";
case GridStringId.PrintDesignerDescription: return "为当前视图设置不同的打印选项.";
case GridStringId.PrintDesignerGridView: return "打印设置(表格模式)";
case GridStringId.WindowErrorCaption: return "错误";
case GridStringId.MenuColumnFilterEditor: return "过滤编辑";
case GridStringId.MenuColumnRemoveColumn: return "移除列";
case GridStringId.MenuColumnResetGroupSummarySort: return "重置排序";
case GridStringId.MenuColumnClearSorting: return "清除排序";
case GridStringId.FilterBuilderApplyButton: return "应用";
case GridStringId.FilterBuilderCancelButton: return "取消";
case GridStringId.FilterBuilderOkButton: return "确定";
case GridStringId.FilterPanelCustomizeButton: return "自定义";
case GridStringId.FilterBuilderCaption: return "筛选编辑";
case GridStringId.CustomFilterDialogEmptyValue: return "空值";
case GridStringId.CustomFilterDialogEmptyOperator: return "操作"; }
return base.GetLocalizedString(id);
}
}
#endregion
#region
public class XtraBar_CN : BarLocalizer
{
public override string Language
{
get
{
return "简体中文";
}
} public override string GetLocalizedString(BarString id)
{
switch (id)
{
case BarString.AddOrRemove: return "新增或删除按钮(&A)";
case BarString.CustomizeButton: return "自定义(&C)";
case BarString.CustomizeWindowCaption: return "自定义";
case BarString.MenuAnimationFade: return "减弱";
case BarString.MenuAnimationNone: return "空";
case BarString.MenuAnimationRandom: return "任意";
case BarString.MenuAnimationSlide: return "滑动";
case BarString.MenuAnimationSystem: return "(系统默认值)";
case BarString.MenuAnimationUnfold: return "展开";
case BarString.NewToolbarCaption: return "新建工具栏";
case BarString.None: return "空";
case BarString.RenameToolbarCaption: return "重新命名";
case BarString.ResetBar: return "是否确实要重置对 '{0}' 工具栏所作的修改?";
case BarString.ResetBarCaption: return "自定义";
case BarString.ResetButton: return "重设工具栏(&R)";
case BarString.ToolBarMenu: return "重设(&R)$删除(&D)$!命名(&N)$!标准(&L)$总使用文字(&T)$在菜单中只用文字(&O)$图像与文本(&A)$!开始一组(&G)$常用的(&M)";
case BarString.ToolbarNameCaption: return "工具栏名称(&T):";
case BarString.NewMenuName: return "主菜单";
//case BarString.: return ""; }
return base.GetLocalizedString(id);
}
} #endregion
}

上面是项目中针对常用的控件Grid以及Toolbar为例,进行的汉化,dev版本是dev9.15。对于其他版本,id的枚举值都会不同,所以因版本而已,但主体是相同的。根据英文,然后修改成相应中文,推荐一个比较好的网站 http://devlocalization.codeplex.com/SourceControl/latest ,上面汉化的比较完整,可以根据需要本地化相应的控件。

  

Devexpress 汉化的更多相关文章

  1. DevExpress控件库 开发使用经验总结2 DevExpress汉化之WinForm开发模式汉化

    2015-01-24 DevExpress控件库默认安装后,使用的本地资源为英文.Developer Express .NET产品都有本地化资源,比如按钮属性,控件属性描述,菜单项,确认和错误的信息等 ...

  2. DevExpress汉化(WinForm)

    /* *隔壁老王原创,2013-09-21,转载请保留本人信息及本文地址. *本文地址:http://wallimn.iteye.com/blog/1944191 */ 最简单的方式就是使用汉化资源, ...

  3. Devexpress 汉化 代码 zt

    将一下代码放到需要汉化的窗体Load事件中 解压汉化初丁文件 /// <summary> /// 汉化DX控件 /// </summary> private void Chin ...

  4. Devexpress汉化修改 已经汉化过后生成的*.resources.dll文件 z

    Devexpress 是很好的第三方控件.但是需要汉化,在从网上下载的zh-CN文件夹里都是*.resources.dll文件,由于汉化的工作量很大,难免有些地方汉化 错误或者不合适(如下图).花了些 ...

  5. DevExpress控件安装、汉化使用教程

    前言 DevExpress是一个庞大的控件库,也很是好用(没用过,听说),但是要收费. 网上关于DevExpress的教程满天飞,我找了一下午也没找到正确的安装.简单实用教程,还是自己摸索吧. 自己动 ...

  6. DevExpress 控件汉化方法

    Ø  简介 本文介绍下 DevExpress 控件的汉化方法,对于英文不怎么好的同学来说,还是非常有必要的.DevExpress 汉化分为运行时汉化,和设计时汉化. 1.   运行时汉化 1)   首 ...

  7. [转]''\\=DevExpress 中 汉化包 汉化方法

    [DevExpress]DevExpress 中 汉化包 汉化方法 2016-02-17 21:13 1781人阅读 评论(0) 收藏 举报  分类: DevExpress(24)  版权声明:本文为 ...

  8. 使用DevExpress官方汉化文件对界面进行汉化的过程

    在较早期的Dev开发中,基本上都是在使用一个DLL包的汉化文件,如基于13.1的汉化包文件Dxper.LocalizationCHS.Win.v13.1.5.dll,这个汉化包也比较方便,大多数时候复 ...

  9. DevExpress DXperience 的本地化(汉化)方法

    Devexpress的.net组件目前非常流行,在国内开发者中有非常高的热度,但是由于是国外控件,我们经常遇到的一个问题是汉化.目前Devexpress公司2011.2版以后使用了统一的本地化模式,针 ...

随机推荐

  1. JS正则表达式验证账号、手机号、电话和邮箱

    JS正则表达式验证账号.手机号.电话和邮箱 效果体验:http://keleyi.com/keleyi/phtml/jstexiao/15.htm 验证帐号是否合法 验证规则:字母.数字.下划线组成, ...

  2. [原创.数据可视化系列之二]使用cesium三维地图展示美国全球军事基地分布

    基于浏览器的三维地图还算是一个比较高冷的东西,最主要的技术难点是如何在浏览器上 多快好省 的显示三维数据,很遗憾,还真的没有太好的的方案,只能说还有可行的方案. 很久之前用过skyline,使用CS居 ...

  3. 内存工具类:MemoryManager

    个人学习,仅供参考! package com.example.administrator.filemanager.utils;import android.app.ActivityManager;im ...

  4. 干货|宏巍软件之Java线程监控之旅

    宏巍软件 许向 大家好,我是上海宏巍信息技术有限公司(简称:宏巍软件)的许向,宏巍软件成立于2005年,是一家以电商ERP软件开发为主的高新技术科技型软件公司,致力于为大型网商和电子商务企业提供专业. ...

  5. c++常见面试题

    1.class和struct的区别? 在c++中,在class中声明的成员默认为private成员,而在struct中声明的成员默认为public成员,class的默认继承方式为private,str ...

  6. Python—函数的参数组合

    参数组合 在Python中定义函数,可以用必选参数.默认参数.可变参数.关键字参数和命名关键字参数,这5种参数都可以组合使用.但是请注意,参数定义的顺序必须是:必选参数.默认参数.可变参数.命名关键字 ...

  7. 解决 VMWARE MAC 10.12无法全屏的问题

    昨天我在VMware上装了10.10,然后通过APP store 升级了系统到 10.12,升级前安装VMware tools 能自动全屏,可是升级后不行. 然后在网上查了很多资料,发现并没有这方面的 ...

  8. 错误:E:Unable to locate package ...

    安装NFS软件包: sudo apt-get install nfs-common 安装tftp软件: sudo apt-get install tftpd-hpa tftp-hpa 均出现此错误:E ...

  9. java中的static使用--静态变量、静态方法

    Java 中的 static 使用之静态变量 大家都知道,我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立.然而在某些时候,我们更希望该类所有的对象共享同一个成员.此时就是 s ...

  10. SVM学习笔记(二):什么是交叉验证

    交叉验证:拟合的好,同时预测也要准确 我们以K折交叉验证(k-folded cross validation)来说明它的具体步骤.{A1,A2,A3,A4,A5,A6,A7,A8,A9} 为了简化,取 ...