用VC++实现软件的多语种支持 作者:卞远

本文详细介绍了如何利用VC++的MFC库,结合DLL动态链接库技术,实现软件的多语言支持。通过动态加载不同语言的资源文件,在Windows环境下为应用程序提供初始化和切换语言的功能,以满足国际化的软件需求。
摘要由CSDN通过智能技术生成
用VC++实现软件的多语种支持 作者:卞远 发布时间:2001/04/25
 
文章摘要:
  本文介绍了如何编制自己的双语或多语种软件。首先,创建一个包含所有英文资源的DLL,在使用这个资源DLL时,应用程序就会以英文形式出现,即软件为英文版;然后,创建中文DLL,再次运行StateDemo程序,程序就以中文形式出现(即使应用程序未被重新编译)。
  关键词 VC++,应用程序,英文资源,中文资源
       

正文:  


用VC++实现软件的多语种支持 


前言

  只用一套源代码就可以方便地支持多种文字和多个地域,那么这个软件就可以方便地被翻译成本地版本,这个过程叫做地域化(Localization)。怎样才能不修改任何源代码就使之能动态地转换到不同的地域资源上呢?那就是使用Windows的程序特性之一--资源。把在软件中用到的可见资源维系在一个资源DLL(Dynamic Link Library动态链接库)中,就能使地域化很容易地被实现,因为它把具体的文字组件单独提取放在一个文件中,所以,一个可执行文件就可以装载几种不同的语言文字,并且选择用子程序来装载适合的文字DLL。创建一个CString对象的实例,并用该字串的资源标识符(string ID)调用LoadString,即可避免繁琐的字串编码工作。
  在大多数情况下,资源包含在应用程序的单元中,如果调用AfxSetResource Handle,就可以指向另一个不同的单元,我下面给出的StateDemo程序就是这样处理的。调用AfxSetResource Handle,从DLL资源中采集软件所需资源,通过替换掉不同语种的DLL资源,程序便可以使用一套完全不同的资源(如String字串、Dialogue对话框、Bmp位图、Menu菜单等)。
  初始情况下,作为主执行体的StateDemo不含任何资源。首先,创建一个包含所有英文资源的DLL,在使用这个资源DLL时,应用程序就会以英文形式出现,即软件为英文版;然后

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值