C++语言国际化(附完整源程序)

来源:互联网 发布:员工工资管理系统c语言 编辑:程序博客网 时间:2024/04/27 15:27

如若转载请保证文章完整性及保留博客地址

 

引文

平时写应用程序,免不了有语言国际化的要求(无须重启程序).本文(示例)分别以INI及资源(二进制)存储字符串的方式对语言国际化进行探讨,这个版本仅限于WINDWS操作系统,后期将会增加跨平台版本!

 

改定履历

正文

正文的内容其实是我写在工程里的一个说明,就贴在这里吧!

示例程序分别采用INI字符串资源及二进制字符串资源实施语言国际化.

  • INI文件实施:
    可参考INI语言文件,每种语言单独放置于一个INI文件中.
  • 二进制资源文件实施
    首先,可执行文件的相关资源(菜单,图标,对话框等),是以二进制资源的形式存放在文件中(.res)的,但这些资源并不在源代码中定义,而是由链接程序放入可执行文件的单独一个节区中,当运行中要用到资源的时候,必须借助API函数装入后才能使用.
    资源文件的"源文件"是以.rc为扩展名的脚本文件,由资源编译器Rc.exe编译成为以.res为扩展名的二进制资源文件,最后在链接的时候由Link.exe链入可执行文件中.
    -----------
    综上,比较一下两种方式主要优缺点:
    INI方式优点是修改添加比较方便,无须做其他变更.缺点是有可能被用户有意无意修改.
    二进制方式优点是普通用户无法修改.缺点是,每次变更修改都要用RC.EXE重新编译一次.

 ------------
样例中,首先用INI方法实现了中英日三国语言的国际化.从说明问题(使用二进制资源)及学习方法(如何使用二进制资源)的角度考虑,仅用方式二实现部分文件的中英日语言国际化.-------就是你在工程运行后看到界面的三个文本框!

------------
第二种方式其实就是使用资源视图里的string table

 

 

  • 样例完整工程可在这里下载!

 

原创粉丝点击