参考了众多汉化方式,发现都不靠谱。
当然,不知为什么官方本地化资源导入也不能用。。。
参考了一个百度文库的内容,进行了完善。主要更新了一些字段,我用的9.3.3
最终代码如下:
using System; using DevExpress.XtraEditors.Controls; using DevExpress.XtraGrid.Localization; using DevExpress.XtraBars.Customization; using DevExpress.XtraBars.Localization; using DevExpress.XtraNavBar; using DevExpress.XtraPrinting.Localization; using DevExpress.XtraReports.Localization; using DevExpress.XtraTreeList.Localization; using DevExpress.XtraVerticalGrid.Localization; /** * 作者 :王文斌 * 作成日期:2013-1-7 * 目的 : 对DevExpress窗体控件实现汉化,导入官方本地化资源文件不起总用,基于官方资源文件汉化信息提取部分 * 手动实现对于控件的汉化。 * 使用方法:在Main函数中,Appliaction.Run()前调用ChineseLanguage.Chinese.UseChinese();即可实现汉化。 * 备注 :本汉化类基于DevExpress 9.3系列实现汉化。如果出现遗漏汉化,或者汉化错误,请联系作者进行修改。 * Print部分可能部分向导没汉化,因为作者暂时没用到,如果需要汉化,请联系。 * 联系方式:QQ:231076364 **/ namespace ChineseLanguage { public class Chinese { public static void UseChinese() { Localizer.Active = new XtraEditors_CN(); GridLocalizer.Active = new XtraGrid_CN(); BarLocalizer.Active = new XtraBar_CN(); BarLocalizer.Active.Customization = new XtraBarsCustomizationLocalization_CN(); NavBarLocalizer.Active = new XtraNavBar_CN(); PreviewLocalizer.Active = new XtraPrinting_CN(); ReportLocalizer.Active = new XtraReports_CN(); TreeListLocalizer.Active = new XtraTreeList_CN(); VGridLocalizer.Active = new XtraVerticalGrid_CN(); } } public class XtraEditors_CN : Localizer { public XtraEditors_CN() { // // TODO: 在此处添加构造函数逻辑 // } public override string Language { get { return "简体中文"; } } public override string GetLocalizedString(StringId id) { switch (id) { case StringId.CalcButtonBack: return "后退"; case StringId.CalcButtonSqrt: return "平方根"; case StringId.CalcError: return "计算错误"; case StringId.Cancel: return "取消"; case StringId.CaptionError: return "错误"; case StringId.CheckChecked: return "校验"; case StringId.CheckIndeterminate: return "不确定"; case StringId.CheckUnchecked: return "非校验"; case StringId.ColorTabCustom: return "自定义"; case StringId.ColorTabSystem: return "系统"; case StringId.ColorTabWeb: return "网页"; case StringId.DataEmpty: return "没有图像数据"; case StringId.DateEditClear: return "清除"; case StringId.DateEditToday: return "今天"; case StringId.ImagePopupEmpty: return "(空)"; case StringId.ImagePopupPicture: return "(图像)"; case StringId.InvalidValueText: return "无效值"; case StringId.LookUpColumnDefaultName: return "名称"; case StringId.LookUpEditValueIsNull: return "[编辑值为空]"; case StringId.LookUpInvalidEditValueType: return "无效的 LookUpEdit 编辑值类型。"; case StringId.MaskBoxValidateError: return "输入值不完整,是否修正? 是 - 返回编辑器,修正该值. 否 -保留该值. 取消 - 重设为原来的值."; case StringId.NavigatorAppendButtonHint: return "追加"; case StringId.NavigatorCancelEditButtonHint: return "取消编辑"; case StringId.NavigatorEditButtonHint: return "编辑"; case StringId.NavigatorEndEditButtonHint: return "结束编辑"; case StringId.NavigatorFirstButtonHint: return "第一个"; case StringId.NavigatorLastButtonHint: return "最后一个"; case StringId.NavigatorNextButtonHint: return "下一个"; case StringId.NavigatorNextPageButtonHint: return "下一页"; case StringId.NavigatorPreviousButtonHint: return "前一个"; case StringId.NavigatorPreviousPageButtonHint: return "前一页"; case StringId.NavigatorRemoveButtonHint: return "删除"; case StringId.NavigatorTextStringFormat: return "记录 {0} of {1}"; case StringId.NotValidArrayLength: return "无效的数组长度。"; case StringId.OK: return "确定(&O)"; case StringId.PictureEditMenuCopy: return "复制"; case StringId.PictureEditMenuCut: return "剪切"; case StringId.PictureEditMenuDelete: return "删除"; case StringId.PictureEditMenuLoad: return "调用"; case StringId.PictureEditMenuPaste: return "粘贴"; case StringId.PictureEditMenuSave: return "保存"; case StringId.PictureEditOpenFileError: return "错误的图像格式"; case StringId.PictureEditOpenFileErrorCaption: return "打开错误"; case StringId.PictureEditOpenFileFilter: return ";*.ico;*.位图文件 (*.bmp)|*.bmp|GIF文件 (*.gif)|*.gif|JPEG文件 (*.jpg;*.jpeg)|*.jpg;*.jpeg|Icon 文件 (*.ico)|*.ico|所有图像文件 |*.bmp;*.gif;*.jpg;*.jpeg;*.ico;*.png;*.tif|所有文件 |*.*"; case StringId.PictureEditOpenFileTitle: return "打开"; case StringId.PictureEditSaveFileFilter: return "位图文件 (*.bmp)|*.bmp|GIF文件 (*.gif)|*.gif|JPEG 文件 (*.jpg)|*.jpg"; case StringId.PictureEditSaveFileTitle: return "另存为"; case StringId.TabHeaderButtonClose: return "关闭"; case StringId.TabHeaderButtonNext: return "向右滚动"; case StringId.TabHeaderButtonPrev: return "向左滚动"; case StringId.TextEditMenuCopy: return "复制(&C)"; case StringId.TextEditMenuCut: return "剪切(&t)"; case StringId.TextEditMenuDelete: return "删除(&D)"; case StringId.TextEditMenuPaste: return "粘贴(&P)"; case StringId.TextEditMenuSelectAll: return "全选(&A)"; case StringId.TextEditMenuUndo: return "撤销(&U)"; case StringId.UnknownPictureFormat: return "未知的图形格式"; case StringId.XtraMessageBoxAbortButtonText: return "中断(&A)"; case StringId.XtraMessageBoxCancelButtonText: return "取消"; case StringId.XtraMessageBoxIgnoreButtonText: return "忽略(&I)"; case StringId.XtraMessageBoxNoButtonText: return "否(&N)"; case StringId.XtraMessageBoxOkButtonText: return "确定(&O)"; case StringId.XtraMessageBoxRetryButtonText: return "重试(&R)"; case StringId.XtraMessageBoxYesButtonText: return "是(&Y)"; } return base.GetLocalizedString(id); } } public class XtraGrid_CN : GridLocalizer { public override string Language { get { return "简体中文"; } } public override string GetLocalizedString(GridStringId id) { switch (id) { case GridStringId.CardViewCaptionFormat: return "记录 N {0}"; 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 "取消(&C)"; case GridStringId.CustomFilterDialogCaption: return "显示符合下列条件的行:"; case GridStringId.CustomFilterDialogClearFilter: return "清除过滤器(&L)"; case GridStringId.CustomFilterDialogConditionBlanks: return "空白"; case GridStringId.CustomFilterDialogConditionEQU: return "等于"; case GridStringId.CustomFilterDialogConditionGT: return "大于"; case GridStringId.CustomFilterDialogConditionGTE: re
首先安装必要的基础设施组件:
sudo yum -y install autoconf apr-devel apr-util-devel java-devel libssh2-devel libtermcap-devel libxslt-devel ncurses-devel net-snmp-devel openldap-devel openssl-devel pcre-devel postgresql-devel udns-devel uuid-devel zlib-devel libtool
源码安装protobuf-c
svn checkout http://protobuf-c.googlecode.com/svn/trunk/ protobuf-c-read-only ./autogen.sh configure make sudo make install
然后下载编译安装:
git clone git://github.com/omniti-labs/reconnoiter.git
autoconf ./configure make sudo make install
安装PostgresSQL数据库:
http://wiki.postgresql.org/wiki/YUM_Installation
说来遗憾,在CSDN这么久,一直都是转载和收藏同行精英门写的好文章。这也许就是自己编程水平久久上不去的原因吧,是该改改东一榔头西一棒子的坏习惯了。耶稣说的对,“好记性不如烂笔头”,哥从现在开始要写原创文章了。这篇文章作为算法学习笔记开篇,本人学习算法是看的王晓东的《计算机算法设计与分析》。一开始是买了本《算法导论》,书到的时候翻了翻,砖头啊,那个难度恐怕乔帮主在世也未必能琢磨得透吧。还是看国产的书容易些,文字叙述方式、难度、内容适合现阶段水平。
第一章,算法概述,定义什么的,复杂度什么的没有什么新鲜的,是个程序员都知道。相对来时,值得一提的是NP完全性理论。累赘的话不多说,直接来几个定义:
多项式时间:在计算复杂度理论中,指的是一个问题的计算时间m(n)不大于问题大小n的多项式倍数。通俗点来说,多项式时间就是指时间复杂度是个多项式,或者说,就是这个程序运行的时间随着数据规模n变化的函数为f(n),那么,f(n)是个多项式函数,那么就可以说是控制在多项式之内。举个例子,现在从n阶图中找两点的最短路径,复杂度为n^2级别(即O(n^2),O是大写欧),而n^2对于n是多项式(单项式当然也算),这就称为是多项式复杂度,或者多项式时间,其中问题(算法)的规模是n。如果某一个算法的规模是n,但是复杂度比如是2^n,写不成n的多项式,那就不是多项式时间。
P类问题:所有可以在多项式时间内求解的判定问题构成P类问题。判定问题:判断是否有一种能够解决某一类问题的能行算法的研究课题。
NP类问题:所有的非确定性多项式时间可解的判定问题构成NP类问题。非确定性算法:非确定性算法将问题分解成猜测和验证两个阶段。算法的猜测阶段是非确定性的,算法的验证阶段是确定性的,它验证猜测阶段给出解的正确性。设算法A是解一个判定问题Q的非确定性算法,如果A的验证阶段能在多项式时间内完成,则称A是一个多项式时间非确定性算法。有些计算问题是确定性的,比如加减乘除之类,你只要按照公式推导,按部就班一步步来,就可以得到结果。但是,有些问题是无法按部就班直接地计算出来。比如,找大质数的问题。有没有一个公式,你一套公式,就可以一步步推算出来,下一个质数应该是多少呢?这样的公式是没有的。再比如,大的合数分解质因数的问题,有没有一个公式,把合数代进去,就直接可以算出,它的因子各自是多少?也没有这样的公式。这种问题的答案,是无法直接计算得到的,只能通过间接的“猜算”来得到结果。这也就是非确定性问题。而这些问题的通常有个算法,它不能直接告诉你答案是什么,但可以告诉你,某个可能的结果是正确的答案还是错误的。这个可以告诉你“猜算”的答案正确与否的算法,假如可以在多项式(polynomial)时间内算出来,就叫做多项式非确定性问题。
NPC问题:NP中的某些问题的复杂性与整个类的复杂性相关联.这些问题中任何一个如果存在多项式时间的算法,那么所有NP问题都是多项式时间可解的.这些问题被称为NP-完全问题(NPC问题)。
P类问题,NP类问题,NPC之间的关系可有下图(此图正确性有待证明)表示:
总结:P类问题是可以在多项式时间内解决的,polynomial problem。
NP类问题,可以在多项式的时间里验证一个解的问题,non deterministic polynomial
NPC问题,最不可能转换为p决定的问题的集合,np complete