Devexpress是很好的第三方控件。但是需要汉化,在从网上下载的zh-CN文件夹里都是*.resources.dll文件,由于汉化的工作量很大,难免有些地方汉化错误或者不合适(如下图)。花了些时间修改它们(大部分时间花在‘实现无需加入GAC即可见汉化效果’),将过程记录如下。

1、首先,知道上面图片错误的起因是DevExpress.Xpf.Core.v13.2.resources.dll资源翻译的错误。因此将DevExpress.Xpf.Core.v13.2.resources.dll复制到E:\qq文件夹下。

2、反编译DevExpress.Xpf.Core.v13.2.resources.dll

3、反编译后生成文件如下

4、知道Calculator的资源位于文件DevExpress.Xpf.Core.Editors.LocalizationRes.zh-CN.resources。所以下面将其转为DevExpress.Xpf.Core.Editors.LocalizationRes.zh-CN.resx来编辑资源。先将DevExpress.Xpf.Core.Editors.LocalizationRes.zh-CN.resources复制到D:\Program Files (x86)\Microsoft Visual Studio 12.0下,然后操作如下:

5、然后用VS2013打开生成的DevExpress.Xpf.Core.Editors.LocalizationRes.zh-CN.resx把错误值修改过来。并保存。

6、下面将原来的DevExpress.Xpf.Core.Editors.LocalizationRes.zh-CN.resources删除。再将DevExpress.Xpf.Core.Editors.LocalizationRes.zh-CN.resx转为DevExpress.Xpf.Core.Editors.LocalizationRes.zh-CN.resources。并将其剪切覆盖到E://qq文件夹。

7、下面进行再编译。首先移除DevExpress.Xpf.Core.v13.2.resources.il的强名。然后再重新生成生成强名。再编译为DevExpress.Xpf.Core.v13.2.resources_Output.dll。

8、强名伪造替换。先载入DevExpress.Xpf.Core.v13.2.resources.dll,获取其强名。保存为Dev.snk。

9、然后再载入DevExpress.Xpf.Core.v13.2.resources_Output.dll。选择强名文件Dev.snk,再替换。

10、再将更改后的DevExpress.Xpf.Core.v13.2.resources_Output.dll更名为DevExpress.Xpf.Core.v13.2.resources.dll复制覆盖到zh-CN文件夹。即达到更改效果。运行对比效果如下:

注:要想不需要把DevExpress.Xpf.Core.v13.2.resources.dll加入GAC就能达到修改效果,必须两次强名不一样。即第7步是实现不加入GAC就能达到修改效果的关键。