收藏 分享(赏)

多国语言编程之资源转换.docx

上传人:hyngb9260 文档编号:7785507 上传时间:2019-05-25 格式:DOCX 页数:3 大小:17.42KB
下载 相关 举报
多国语言编程之资源转换.docx_第1页
第1页 / 共3页
多国语言编程之资源转换.docx_第2页
第2页 / 共3页
多国语言编程之资源转换.docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、多国语言编程之资源转换1. 多国语言编程之资源转换问题不同国家的人使用着不同语言的操作系统。在 Microsoft Window s下,语言用代码页来识别,不同语言用不同代码页来表示,如“简体中文“用代码页 936表示,而“美国英语“则用代码页 1252表示。在用 Visual C+开发应用程序时,与语种相关信息一般存储在资源文件(*.RC 文件)中,因此,要编制不同语种应用程序(如中文应用程序、英文应用程序),实质上是要求编写出不同语种的资源文件。在实际编程中,我们可将不同语种的资源文件编译成相应的动态连接库。这样,在使用时,可根据操作系统所使用代码页异同,选用由相应语种的资源文件编译而成的

2、动态连接库,即可使应用程序正常运行。这就是所谓的多国语言编程问题。在开发中文应用程序时,常要求应用程序在中文操作系统和英文操作系统+外挂汉字平台这两种环境中都能正常运行。但由于工作环境不同,往往导致同一应用程序,在某种环境下能正常工作,在另一种环境下则不能正常工作。如中文版的Microsoft Word软件, 在中文操作系统下能正常运行,但在英文操作系统+外挂汉字平台这种环境下, 显示的就是一堆乱码。要解决这一问题,需为不同语种操作系统编制不同语种资源文件, 实际上这也是多国语言编程问题。所不同的是,由于此时所显示信息并不需随语种而变(无论在哪种环境下都只显示中文信息),因此,编制多个语种资源

3、文件可以有很简单的方法,此即本文所要讨论的资源转换问题。该问题可简单地描述为:如果已有了某一语种的资源文件,在资源内容不变的情况下,如何将其转换为另一语种的资源文件。例如, 已有了简体中文(代码页为 936)的资源文件,在资源内容不变的情况下 ,如何将其转换为美国英语(代码页为 1252)的资源文件。2. 如何进行资源转换下面以将资源文件从代码页 936(简体中文)转换到代码页 1252(美国英语)为例进行说明。容易想到但会带来灾难性后果的方法是,直接修改资源属性。这种方法过程是将Vis ual C+的 Workspace窗口切换到 Resource View, 选中某项资源,单击右键,从弹出

4、菜单中选择“Properties“命令,此时系统将会弹出一对话框。在弹出的对话框中,修改 Language 项的值, 将其由“简体中文“改为“美国英语“。如此对Resource View中其他各项资源进行修改,将所有资源项的 Language属性都改为“美国英语“。但是,经此种修改后,再打开资源,会发现资源里的内容变成了一堆不可读的乱码。更致命的是,即使将资源的 Language项的属性重新设为“ 简体中文“,资源内容仍是不可读的一堆乱码。也就是说,我们根本无法恢复资源原来内容。因此,如果在修改前没有将资源备份,此种修改带来的后果将是灾难性的。正确的方法是,以某文本编辑器(如 EDIT、NOT

5、EPAD)打开资源文件 ,在其中查找词“LA NGUAGE“,找到后可看到如下内容:/ Chinese (P. R. C.) resources#if !defined(AFX_RESOURCE_DLL) | defined(AFX_TARG_CHS)#ifdef _WIN32LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED#pragma code_page(936)#endif /_WIN32这段代码表示当前使用的代码页为 936,所代表的语种为简体中文。将以上代码段用如下代码段替换/ English (U.S.) resources#if !defined(AFX_RESOURCE_DLL) | defined(AFX_TARG_ENU)#ifdef _WIN32LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US#pragma code_page(1252)#endif /_WIN32以上代码说明资源使用代码页为 1252,所代表语种为美国英语。 经过上面简单修改,即可将代码页为 936资源文件转换为代码页为 1252 的资源文件,而资源内容不变。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报