要实现多国语言切换功能不外乎以下几种方式:
1、将资源DLL化,将所有不同的语言资源打包成一个DLL
2、将资源DLL化,不同语言资源分别打包,FLASHGET就是这样做
3、使用XML或INI记录软件中所有字符串,并为其分配唯一值
目前监控客户端使用的是第二种方式,并将动态字符串放到string table中进行资源化,理由是:
第一种方式不够灵活
第三种方式因涉及到菜单、状态栏提示等信息的获取,需要编写相应代码方可实现,并且每个控件都需要去取配置中的对应字符串进行更新,效率可能会受点影响
第二种优点是简单便利,只需要在原工程中增加几行代码即可,缺点是翻译时只能基于VC环境,若需要其他人帮忙翻译时,不易将需要翻译的字符串统一成文档。
并且第二种方式还有一个缺点,就是今后软件的维护,比如说控件的更改、尺寸的改变等,都需要同时更新资源DLL,为此,我特意将原工程的RC资源保留,这样只需要在原工程里改好之后,使用Beyond Compare比较并导入其他资源DLL即可。
欢迎大家一起讨论,提出你的建议

3880

被折叠的 条评论
为什么被折叠?



