如若转载请保证文章完整性及保留博客地址
引文
平时写应用程序,免不了有语言国际化的要求(无须重启程序).本文(示例)分别以INI及资源(二进制)存储字符串的方式对语言国际化进行探讨,这个版本仅限于WINDWS操作系统,后期将会增加跨平台版本!
改定履历
正文
正文的内容其实是我写在工程里的一个说明,就贴在这里吧!
示例程序分别采用INI字符串资源及二进制字符串资源实施语言国际化.
- INI文件实施:
可参考INI语言文件,每种语言单独放置于一个INI文件中. - 二进制资源文件实施
首先,可执行文件的相关资源(菜单,图标,对话框等),是以二进制资源的形式存放在文件中(.res)的,但这些资源并不在源代码中定义,而是由链接程序放入可执行文件的单独一个节区中,当运行中要用到资源的时候,必须借助API函数装入后才能使用.
资源文件的"源文件"是以.rc为扩展名的脚本文件,由资源编译器Rc.exe编译成为以.res为扩展名的二进制资源文件,最后在链接的时候由Link.exe链入可执行文件中.
-----------
综上,比较一下两种方式主要优缺点:
INI方式优点是修改添加比较方便,无须做其他变更.缺点是有可能被用户有意无意修改.
二进制方式优点是普通用户无法修改.缺点是,每次变更修改都要用RC.EXE重新编译一次.
------------
样例中,首先用INI方法实现了中英日三国语言的国际化.从说明问题(使用二进制资源)及学习方法(如何使用二进制资源)的角度考虑,仅用方式二实现部分文件的中英日语言国际化.-------就是你在工程运行后看到界面的三个文本框!
------------
第二种方式其实就是使用资源视图里的string table
-
样例完整工程可在 这里下载!