Devexpress 汉化

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 ,上面汉化的比较完整,可以根据需要本地化相应的控件。

  

时间: 2024-12-25 11:41:56

Devexpress 汉化的相关文章

DevExpress汉化(WinForm)

/* *隔壁老王原创,2013-09-21,转载请保留本人信息及本文地址. *本文地址:http://wallimn.iteye.com/blog/1944191 */ 最简单的方式就是使用汉化资源,但我怎么也没有搞好,可能跟我使用PJ版的有关.没有办法,只能重定义Localizer了,这样汉化不太彻底,但自由度较高. 重定义Localizer的难点就是不好找到原来对应的英文字符串,如果自己一个个翻译也比较费劲儿.看着下载的汉化资源,分析了一下对应的资源源文件,发现就是XML格式的文件,可以简单

DevExpress汉化

static class Program { /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); System.Threading.Thread.CurrentThread.CurrentUICulture

DevExpress 14.2 批量汉化

1.下载DevExpress_.NET_Localization_Resources_14.2汉化包 2.解压后将zh-CN或zh-CHS复制到安装目录如D:\Program Files (x86)\DevExpress 14.2\Components\Bin\Framework 3.在开始菜中找到Visual Studio 命令提示(2010),并以管理员身份运行(WIN7,8) 4.切换命令行当前目录到D:\Program Files (x86)\DevExpress 14.2\Compon

DevExpress的Web控件汉化方法

原文:DevExpress的Web控件汉化方法 项目中用到devexpress的web控件,机器没有安装devexpress控件,直接在项目中引用的dev的dll,项目运行时发现都是英文界面,所以解决汉化问题. 项目中用的是v10.2版本,以此版本为例,其他版本方法应该类似. 步骤如下:   1.从官网下载对应的汉化包,地址:http://www.devexpresscn.com/news/DevExpress-news-94.html,找到对应的版本下载. 2.在下载的汉化文件里找到\Web\

DevExpress学习02——DevExpress 14.1的汉化

汉化资源: 汉化补丁:dxKB_A421_DXperience_v14.1_(2014-06-09):http://www.t00y.com/file/86576990 汉化工具:DXperienceUniversal-14.1.x中文语言包(201401119): http://www.t00y.com/file/86602039 汉化效果: 汉化方法: 1.关闭VS和涉及Devexpress的程序 2.右键以管理员身份运行"汉化工具.exe" 3.点击载入程序,选择zh-Hans里

[转]&#39;&#39;\\=DevExpress 中 汉化包 汉化方法

[DevExpress]DevExpress 中 汉化包 汉化方法 2016-02-17 21:13 1781人阅读 评论(0) 收藏 举报  分类: DevExpress(24)  版权声明:本文为博主原创文章,未经博主允许不得转载. 第一步: 在Debug 下添加 zh-CN 汉化包(自行下载) 第二步: 在 Program.cs中添加以下代码 : System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Glob

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

在较早期的Dev开发中,基本上都是在使用一个DLL包的汉化文件,如基于13.1的汉化包文件Dxper.LocalizationCHS.Win.v13.1.5.dll,这个汉化包也比较方便,大多数时候复制一个文件就搞定了.不过这样的汉化包一般同步更新比较慢,最近使用了DevExpress当前较新版本14.*后,希望集成使用官方的汉化文件,本文介绍在使用官方汉化文件的一些历程和心得,希望对后来者有帮助. 我们知道,如果使用有其他方处理汉化包文件(类似汉化包Dxper.LocalizationCHS.

DevExpress的xtraMessageBox汉化

原文:DevExpress的xtraMessageBox汉化 项目使用的界面库是DevExpress 相当好用,不过里面弹出对话框XtraMessageBox的按钮都是英文的, 可能会对用户造成困扰, 网上搜了搜,找到一种比较简单的方法解决这个问题,如下: 首先:定义一个继承自Localizer的类 using DevExpress.XtraEditors.Controls; namespace Com.SuyPower.Pgis.Main { class LocalizationCHS:Dev

[DevExpress]DevExpress 中 汉化包 汉化方法

第一步: 在Debug 下加入 zh-CN 汉化包(自行下载) 第二步: 在 Program.cs中加入下面代码 : System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("zh-CN"); 完毕 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I