Xtreme.Toolkit.Pro v11.2.1汉化方法
来源:互联网 发布:路由器设置映射端口 编辑:程序博客网 时间:2024/05/29 12:43
环境:Xtreme.Toolkit.Pro v11.2.1+vs2008sp1
在工作中用到了CXTPCommandBars,但是按照默认的,是英文的,这样拿给客户,肯定是不行的,所以需要改成中文。我想着改一下资源文件里面的内容(我理解就是改一下宏)。这样改了以后,发现中文会出现乱码。然后我设想设置一下setlocale,但是,事实证明,我这个拍脑袋的想法行不通。最后,认真查看了资料,发现其实Xtreme本身就提供了多语言的支持,不需要自己改资源文件,已经有现成的资源文件了。
现在,开始我们的汉化。
一、打开ToolkitPro_vc90.sln项目,然后查看ToolkitPro.rc源代码,拉到文件最后,会发现如下的定义:
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)#ifdef _WIN32LANGUAGE 9, 1#pragma code_page(1252)#endif //_WIN32#include "XTToolkitPro.rc" // non-Microsoft Visual C++ edited resources#include "afxres.rc" // Standard components#endif
代码中定义包含的文件"XTToolkitPro.rc" 是在Toolkit.Pro的Source文件夹下的,"XTToolkitPro.rc" 文件集中定义的是界面库各种控件的资源文件。
二、打开"XTToolkitPro.rc"文件,我们发现文件开头几行定义说明了一切问题。
#define LANGUAGE_DEFAULT(ProdName) <##ProdName##\res\Resource.rc>#ifdef _XTP_RESOURCE_LANGUAGE #define LANGUAGE_LOCALIZED__(ProdName, LangName) <##ProdName##\res\Resource_##LangName##.rc> #define LANGUAGE_LOCALIZED_(ProdName, LangName) LANGUAGE_LOCALIZED__(ProdName, LangName) #define LANGUAGE_LOCALIZED(ProdName) LANGUAGE_LOCALIZED_(ProdName, _XTP_RESOURCE_LANGUAGE)#else #define LANGUAGE_LOCALIZED(ProdName) LANGUAGE_DEFAULT(ProdName)#endif
#define LANGUAGE_DEFAULT(ProdName) <##ProdName##\res\Resource.rc> 定义了缺省的语言
#ifdef _XTP_RESOURCE_LANGUAGE
定义的标识_XTP_RESOURCE_LANGUAGE可以看出定义的即是语言的标识。那么只要在程序库中定义该标识就可以使界面库应用相对应的语言资源库了。
三、打开Source文件下每个控件的文件夹下都可以看到许多后缀为.rc的资源文件
由资源文件的名称(Resource_zh_CN.rc),再由定义
#define LANGUAGE_LOCALIZED__(ProdName, LangName) <##ProdName##/res/Resource_##LangName##.rc>
可以很容易猜得到中文的定义为zh_CN,自然可知定义中文的语句即为:
#define _XTP_RESOURCE_LANGUAGE zh_CN
这个定义我习惯放在XTToolkitPro.rc文件的开头
#include "afxres.h"#define _XTP_RESOURCE_LANGUAGE zh_CN#define LANGUAGE_DEFAULT(ProdName) <##ProdName##\res\Resource.rc>#ifdef _XTP_RESOURCE_LANGUAGE #define LANGUAGE_LOCALIZED__(ProdName, LangName) <##ProdName##\res\Resource_##LangName##.rc> #define LANGUAGE_LOCALIZED_(ProdName, LangName) LANGUAGE_LOCALIZED__(ProdName, LangName) #define LANGUAGE_LOCALIZED(ProdName) LANGUAGE_LOCALIZED_(ProdName, _XTP_RESOURCE_LANGUAGE)#else #define LANGUAGE_LOCALIZED(ProdName) LANGUAGE_DEFAULT(ProdName)#endif
当然也可以放在其他地方,只要在#ifdef _XTP_RESOURCE_LANGUAGE之前就好了。
四、在ToolkitPro.rc文件中找到
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
修改为
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
五、重新编译一下,就可以使用了。
注:我的编译后有一个函数使用的时候有点问题,不保证编译后,E文正确的中文也正确。本来想把汉化好的bin和lib分享给大家,无奈文件太大了,还好这个汉化的步骤不复杂,大家应该都可以成功。如果有问题,欢迎大家留言交流
- Xtreme.Toolkit.Pro v11.2.1汉化方法
- Xtreme.Toolkit.Pro v11.2.1 汉化方法及全过程
- Xtreme.Toolkit.Pro v11.2.1 汉化方法及全过程
- Xtreme Toolkit Pro v11.2.1 汉化全过程
- Xtreme Toolkit Pro v11.2.1 汉化全过程(文章收藏)
- Xtreme.Toolkit.Pro v12.0.0 汉化发布
- 汉化 XTreme.ToolKit.Pro.v12.0.1发布
- Xtreme.Toolkit.Pro v12.1.1汉化 发布
- Xtreme.Toolkit.Pro v12.0.0 汉化(2008.06.14更新)
- Codejock.Xtreme.Toolkit.Pro.v13.2.1 正式版
- Xtreme.Toolkit.Pro
- Xtreme Toolkit Pro 免费下载地址
- Xtreme.Toolkit.Pro 安装详解
- Xtreme.Toolkit.Pro 安装详解
- Xtreme Toolkit Pro Assertion Failed!
- Xtreme Toolkit Pro在静态链接到MFC时的若干汉化问题
- C++界面库 - Xtreme Toolkit Pro
- Xtreme Toolkit Pro v12.0.1 正式版
- Gartner:2011年十大战略性IT技术
- atol实现
- JOJ 1984: A Round Peg in a Ground Hole (判断点在凸多边形内)
- 关于BitmapData画图方法效率的测试和对比
- linux学习笔记(二) linux下发布tomcat应用程序
- Xtreme.Toolkit.Pro v11.2.1汉化方法
- 非递归方式遍历目录及其子目录的文件
- Android---AlarmManager(全局定时器/闹钟)指定时长或以周期形式执行某项操作
- QTP9.2破解方法
- UltraEdit search and replace
- Make sure Drupal file types are recognized as PHP files
- Android.mk 编写
- form中的onsubmit
- 调用服务器时间的倒计时程序