DXperience重编译汉化的方法
1、 必须有DXperience相应版本的全部源代码SourceCode。把全部源代码复制到\Program Files\Developer Express .NET vX.X\Sources目录。目标目录的默认位置是在C:\Program Files\Developer Express .NET vX.X\Sources\(其中X.X为应替换相应的版本号,以下不再重复说明)。
2、 必须创建一个强名称的文件。要创建此文件,必须执行下面的命令建立你自己的密钥:sn -k StrongKey.snk并且复制新生成的强命名密钥StrongKey.snk文件到Sources目录下的\ Devexpress.Key \目录。该强名称Sn.exe工具位于\Program Files\MicrosoftVisual Studio 8\SDK\v2.0\Bin目录。
提取导出公钥命令为:sn -p StrongKey.snk key.txt ;显示公钥命令为:sn -tp key.txt 或 sn -Tp StrongKey.snk 。
3、 解压编译脚本。将下载的相应版本的编译脚本压缩包解压,然后将所有文件(不包括子目录
PatchInternalVisibleTo)复制到DXperience安装目录的Sources子目录下。
4、 如果重编译后要恢复原来官方的assembly请运行clear.bat ,然后在修复模式重新安装DXperience。
5、 在记事本中打开defines.bat。如果在Visual Studio 2005中,将vsver = vs2008改为:vsver = vs2005 。
6、 运行clear.bat删除全局缓存中试用版的程序集DLL 。如果assembly已被锁定,请关闭所有正在运行的应用程序并重新启动IIS Admin服务,重新运行clear.bat 。
7、 运行buildall.cmd重新生成正式版的程序集DLL。编译时可能会显示一些黄色的警告(warning),不用担心,不会出现错误(error)的。
8、 重新生成工具箱选项卡。点击 开始菜单 -> 所有程序 -> Developer Express .NET vX.X -> Tools -> ToolboxCreator后先删除试用版的VS2005/VS2008工具箱选项卡,并重新生成正式版的VS2005/VS2008工具箱选项卡。
9、 从PublicKeyToken.txt(PublicKeyToken.txt文本文件是前面步骤编译时自动生成的,记录了公钥标记,在源码目录Sources下用新的公钥重新编译DevExpress .*的assembly 。参见下图:
10、 通过DXperience提供的项目转换器ProjectConverter升级原有的应用程序有三种方法:
1)、如果你一直使用正式版,则使用其提供的工具ProjectConverter,指定应用程序的目录然后升级即可。具体方法为:执行 开始 -> 所有程序 -> Developer Express .NET vX.X -> Tools -> ProjectConverter在弹出的对话框中选择VS项目文件所在的路径并去掉创建备份文件的勾然后按Upgrade就行了ProjectConverter会将项目中所有对老版本DXperience程序集的引用转换为新版本。
2)、如果你使用的是重新编译版,请找到编译版的公匙,用以下命令升级:
RUN 命令:
"C:\Program Files\Developer Express .NET vX.X\Tools\DXperience\ProjectConverter.exe" /s /k:公匙 "your_project_directory"
"C:\Program Files\Developer Express .NET vX.X\Tools\DXperience\ProjectConverter.exe" /s /k:
49d90c14d24271b5 "<your_project_directory>"
3)、最原始的方法是在工程中移除所有DEV控件的引用,然后重新添加即可。
11、 在DXperience的源代码中,你会发现Dev已经把各种资源放在了一个叫做LocalizationRes.resx的资源文件里面。该资源位于C:\Program Files\Developer Express .NET vX.XSources路径下各相应目录下。
1. 把LocalizationRes.resx文件拷贝一份到你自己的某个目录下,重命名为你需要的culture,比如要本地化为德文的话,就更名为"LocalizationRes.de.resx",当然我们需要的是中文,于是把它更名为LocalizationRes.zh-CHS.resx。窗体或用户控件也都用一个resx文件,同样可以使用这种方式汉化。
2. 现在我们可以借助VS开发环境对这个文件进行汉化了,如下图所示:
3. 现在我们需要借助资源文件生成器Resgen.exe把这个文件转化为一个resources文件。该文件位于E:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin目录中。
resgen LocalizationRes.zh-CHS.resx LocalizationRes.zh-CHS.resources。
4. 把这个资源文件打包到卫星配件中去,仍然使用VS提供的一个小工具程序集链接器--Al.exe。下面的命令行就是把LocalizationRes.zh-CHS.resources文件打包成卫星配件了。al /out:DevExpress.XtraEditors.Resources.Dll /v:0.0.0.0 /culture: zh-CHS /embed:LocalizationRes.zh-CHS.resources,DevExpress.XtraEditors.LocalizationRes.zh-CHS.resources /keyfile:strongkey.snk。上面各种参数就不赘述了。需要注意的是keyfile对应的strongkey必须跟DevExpress相应组件指定的strongkey一致。通过al命令也可以把多个resources文件打包成一个单一的配件。如下面这条命令把多种资源打包成配件。
%al% /out:..\zh-CHS\DevExpress.XtraPrinting.%VER_DLL%.Resources.dll /v:%VER_PSYS% /culture:zh-CHS /embed:ComponentEditorForm.zh-CHS.resources,DevExpress.XtraPrinting.ComponentEditorForm.zh-CHS.resources
/embed:LocalizationRes.zh-CHS.resources,LocalizationRes.zh-CHS.resources /embed:HeaderFooterForm.zh-CHS.resources,DevExpress.XtraPrinting.Native.WinControls.HeaderFooterForm.zh-CHS.resources /embed:WatermarkEditorForm.zh-CHS.resources,DevExpress.XtraPrinting.Native.WinControls.WatermarkEditorForm.zh-CHS.resources/keyfile:%KEYFILE%
通过这里大家可以看出,已经把几个窗体的资源也打进来了,不过需要注意的是/embed里的第二个参数要加上窗体或控件所在的命名空间。
现在卫星配件已经制作出来了,现在需要把它配置到一个地方以便Framework能够找到它。通常有两种方法,一种是直接把它放到GAC(Global Assembly Cache作用是可以存放一些有很多程序都要用到的公共Assembly)中,方便省事;另一种是把它们放到具体的程序目录下。
要放到GAC里面,简单的方法就是直接把卫星配件拖放到"Windows\assembly"目录下,也可以使用Microsoft提供的工具gacutil,使用如下命令:
gacutil /i:LocalizerRes.zh-CHS.resources.dll
如果不放到GAC中,那就放在你的程序的所在目录下(参见利用官方汉化资源的方法)。
利用官方汉化资源的方法:
1、 static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("zh-CHS"); //增加此行代码
Application.Run(new Form1());
}
2、将汉化官方汉化资源包中的zh-CN和zh-CNS两个目录复制到你的程序目录下(参见下图):
评估版下载地址http://www.devexpress.com/Downloads/NET/
编译脚本http://www.devexpress.com/Support/Center/KB/p/A609.aspx
官方卫星化资源http://www.devexpress.com/Support/Center/KB/p/A609.aspx
官方汉化资源http://www.devexpress.com/Support/Center/KB/p/A421.aspx
默认路径为 D:\Program Files\Developer Express .NET v8.3\Tools\DXperience>
出处:http://blog.csdn.net/sqyfzx/archive/2009/04/17/4086232.aspx
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("zh-CHS"); //增加此行代码
Application.Run(new Form1());
}
其实上面这一段可以不用加的,.NET会自动按操作系统的区域选项来识别,除非要手动切换到其它语言或要做多语言版本才有必要;
DXperience重编译汉化的方法的更多相关文章
- DevExpress DXperience 的本地化(汉化)方法
Devexpress的.net组件目前非常流行,在国内开发者中有非常高的热度,但是由于是国外控件,我们经常遇到的一个问题是汉化.目前Devexpress公司2011.2版以后使用了统一的本地化模式,针 ...
- recovery编译汉化源码开源地址
本Recovery基于xiaolu开源的不完全汉化版源码,进行完全汉化,并合并Philz的最新源码. 汉化耗费我将近一整天的精力,纯手打,可能有遗漏或翻译不准的地方,请到微博反馈 本Rec完全开源,便 ...
- Adobe flash CC 汉化破解方法
转载整理自:http://www.sdifenzhou.com/flashprofessionalcc.html 断网,解压下载的破解dmg文件得到这些文件 第一步,解压安装包,安装,并打开,不要输入 ...
- DevExpreess汉化使用方法及汉化包
1.在程序入口加入代码: System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.Cultu ...
- 将Magento后台汉化的方法
方法一: 打开/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Attribute/Set/Main.php文件, 找到几个用来显示的代码,替换成 ...
- recovery编译汉化
当BoardConfig.mk中定义了recovery的字体且为中文字体时,自动编译为中文版,否则编译为英文版 例如: BOARD_USE_CUSTOM_RECOVERY_FONT := \" ...
- eclipse 汉化详细方法
1.首先确认自己的 eclipse 是哪个版本,这个很关键,涉及到后面要用到的语言包需要与版本匹配,启动 eclipse,观察对应的版本号,比如我用的是 Photon 版本 2.参照官方给的方法进行下 ...
- 解决Acunetix 12中文汉化的方法
最近下载一款测试软件acunetix,苦于满屏英文的苦恼,看不懂,于是乎就问度娘,结果度娘就是给中文破解包: 我是12版的,网上提供的都是11版的,没法用.怎么办呢?还好我是做测试的,平时做兼容性测试 ...
- Eclipse 离线汉化的方法
本文感谢:http://jingyan.baidu.com/article/e75057f28401a8ebc91a899e.html 首先进入网址:http://www.eclipse.org/ba ...
随机推荐
- ubuntu中VNC的安装配置笔记
使用服务器时,利用远程桌面是非常方便的,否则需要跑到服务器机房操作非常的费事,或者需要远程操作机器是也可以使用,一般的操作系统都会带有远程桌面功能,但是不如第三方的的软件好用,对于linux系统常用的 ...
- framMaker、Velocity模版引擎
1.一种模板文件,可以自动加载数据到模板里面展现. 类似:Velocity 2.使用场景 1.web开发模式 WEB-INF/view/vm 在互联网公司的开发都是基于vm的开发,其次就是使用JS的框 ...
- IIS报错,App_global.asax.×××.dll拒绝访问
解决方案: ①找到C:\Windows下的temp文件夹 ②属性->安全->编辑->添加IIS_IUSERS,给其添加上可读写的权限,然后应用,确定即可
- Android中MenuInflater实例
我们知道,LayoutInflater是用来实例化整个布局文件,而MenuInflater是用来实例化Menu目录下的Menu布局文件的. 传统意义上的菜单定义需要Override Activity的 ...
- TextView里的文 html
一.[Android实例]实现TextView里的文字有不同颜色 转eoe:http://www.eoeandroid.com/thread-4496-1-1.html import android. ...
- 命令行运行jmeter脚本
1.通过gui界面的jmeter创建一份脚本:2.打开cmd,切换到jmeter程序的Bin目录:3.执行jmeter.bat -n -t bookair_0613.jmx -l log_3.jtl: ...
- panguan(判官):一个自研的任务执行引擎的工程实践
来某厂接近半年了,几乎没写过C++代码,说实话还真的有点手生.最近刚好有一个需求,然而我感觉我也没有办法用C++以外的语言去实现它.于是还是花了几天时间用C++完成编码,这是一个简单的任务执行引擎,它 ...
- 【LeetCode】13. Roman to Integer 罗马数字转整数
题目: Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from ...
- 学习练习 java 线程
package com.hanqi.xc; import java.util.*; public class lianxi extends Thread { public void run() { c ...
- ASP.NET MVC 开源项目学习之ProDinner (一)
首先在github上面将ProDinner项目通过 Git Bash 克隆到本地,接下来我们开始分析这个项目吧~ 系统采用.Net 4.5, Asp.net Mvc 5,VS2012,Sql serv ...