软件资源国际化 VC++教程.doc

软件资源国际化 VC++教程.doc

ID:53233036

大小:229.50 KB

页数:10页

时间:2020-04-02

软件资源国际化 VC++教程.doc_第1页
软件资源国际化 VC++教程.doc_第2页
软件资源国际化 VC++教程.doc_第3页
软件资源国际化 VC++教程.doc_第4页
软件资源国际化 VC++教程.doc_第5页
资源描述:

《软件资源国际化 VC++教程.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、KY•JL•A•02-JS-PR03软件国际化VC++教程第2页共10页1软件国际化概述随着计算机应用的普及,应用软件跨国使用越来越频繁,如何实现应用软件的国际化,成为许多程序员关心的问题。这种国际化问题相对使用某一种语言的用户来说,就是本地化问题。本地化的含义比仅仅翻译菜单栏和对话框的文本内容要广泛得多,如特定文化背景的位图和图标对不同的人来说,可能会有不同的含义。在Windows系统中,应用程序开发者可以通过利用VC动态链接库,只用一套源代码就能简洁地支持多种文字。本文介绍用VC的资源动态链接库解决国际化问题的具体方法和步骤。实现技术:利用VC编程,可以将所有的可见资源封装在一个资源

2、动态链接库中,以简化本地化工作。一般情况下,资源包含在应用程序中,但也可以将资源与应用程序(即源代码)分离的方式以确定根据语言需求加载不同语言版本的资源动态链接库DLL。当调用MFC函数比如CString::LoadString或其它LoadIcon时,MFC应用程序框架首先跟踪搜索EXE文件的资源,然后才是DLL和MFC的资源,因此在使用纯资源DLL时候,必须先人为改变资源的搜索顺序,调用AfxSetResourceHandle函数完成资源的引用。HINSTANCEm_hLangDLL=::LoadLibrary("AppLanguage.dll");AfxSetResourceHan

3、dle(m_hLangDLL);下面主要从两个典型的Demo实例简要说明软件国际化(以中英文为例)的实现:1.Demo1项目名:MultiLangDemo1,根据调用GetSystemDefaultLangID函数判断系统默认语种,以载入相应语言的资源动态链接库实现界面与系统的自动适应。2.Demo2项目名:MultiLangDemo2,根据界面菜单手动选择语种实现动态更改语言资源,包括图标、菜单、状态栏,以及显示不同区域的数据格式。2实现步骤DEMO1一、创建主工程:1.运行VC6.0->File->New->Project;选择MFCAppWizard(exe),在右边Project

4、Name下输入项目名MultiLangDemo1,完成(这里以SingleDocument为例,其他类似)。2.从项目中移出所有的资源文件,将FileView面板中的MultiLangDemo1.rc,Resource.h,以及ResourceFiles下的所有文件移出(不是从实际文件目录中删除)。注:项目中移出资源文件后,主工程必须要加载外部的语言资源DLL,如果没有找到或加载失败的话,程序将无法运行,所以这里也可以选择不移出,保留程序默认的资源(Demo1中已移出,Demo2中没有移出)。二、创建中、英文语言版(或其他语言)的资源DLL注:为统一起见,语言资源DLL名以“主工程名+R

5、es”的格式,不同语言资源以文件夹区分,如本例中中文资源DLL工程(MultiLangDemo1Res)可以创建在主工程MultiLangDemo1下的CHS文件夹中,英文资源DLL工程(MultiLangDemo1Res)可创建在主工程MultiLangDemo1下的ENG文件夹中。1.运行VC6.0->File->New->Project;选择MFCAppWizard(dll),在右边ProjectName下输入项目名MultiLangDemo1Res,下一步选择RegularDllUsingshareMFCDLL,单击Finish完成创建。2.删除该工程下的资源文件:将FileVi

6、ew面板中的MultiLangDemo1Res.rc,Resource.h,以及ResourceFiles下的所有文件移出,然后也将实际目录中的文件删除掉。第10页共10页3.复制相关资源文件:将MultiLangDemo1目录下的MultiLangDemo1.rc,Resource.h文件复制到MultiLangDemo1Res工程文件目录下,将MultiLangDemo1/res下的所有文件复制到MultiLangDemo1/res目录下(当然也可以根据需要,选择复制的文件)。4.将第3步复制的所有文件添加到项目中去。5.如果是创建英文资源dll,应将相关资源改为英文,将支持的语言改

7、为“英语(美国).",在Project菜单Setting对话框中Resource标签的缺省文字改为"英语(美国).”,同时删除在Resource标签下预处理定义中的"_AFXDLL"。这样用户的链接库包含通用的MFC资源;第10页共10页如果是创建中文资源dll,应将相关资源改为中文,将支持的语言改为“中文(中国)",在Project菜单Setting对话框中Link标签ProjectOptions的最后添加”/NOENTRY”。6

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。