VC多语种软件开发(多个RC资源文件)问题

eeixy2000 2017-12-27 11:43:24
项目需要中文版和英文版,开发环境vc2013,win7系统,准备在一个工程中同时维护2个RC资源文件,使用中英文软件共享源代码,通过不同配置实现即可编译为中文版,也可编译为英文版。现在已经实现将2个RC资源文件加入该工程中,但是不知道如何配置(比如在项目设置中选择不同的RC文件),各位大侠帮个忙,在线等,谢谢
...全文
1102 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lbm2018 2018-04-14
  • 打赏
  • 举报
回复
不要用多个资源 用ini,参考android和ios的多语言实现办法
汪宁宇 2018-04-02
  • 打赏
  • 举报
回复
引用 8 楼 yjryym 的回复:
[quote=引用 4 楼 wangningyu 的回复:] 1楼已经讲得很清楚了,一般用资源DLL,把resource.h和.rc文件拷贝出来,建一个资源DLL文件分开翻译,如果以后增加,得在对应的h和rc分别手动添加!!!!! 做微软VC的多语言实在太痛苦了!QT的多语言,敲几个命令行同步一下,lupdate lrelease 即可,只需要翻译新加的几条就可以了!!! 微软要是能把这个功能简易化,那是相当赞的!
VC本身就可以在一个资源中添加不同的语言版本,并且运行时系统会自动按系统语言来选择合适版本。[/quote] 维护起来很麻烦,没有办法自动同步,你加任何控件,那其他语言需要手动再加一编,界面和控件多了真不适合,这一点QT里面多语言完全秒杀VS
yjryym 2018-04-01
  • 打赏
  • 举报
回复
引用 4 楼 wangningyu 的回复:
1楼已经讲得很清楚了,一般用资源DLL,把resource.h和.rc文件拷贝出来,建一个资源DLL文件分开翻译,如果以后增加,得在对应的h和rc分别手动添加!!!!! 做微软VC的多语言实在太痛苦了!QT的多语言,敲几个命令行同步一下,lupdate lrelease 即可,只需要翻译新加的几条就可以了!!! 微软要是能把这个功能简易化,那是相当赞的!
VC本身就可以在一个资源中添加不同的语言版本,并且运行时系统会自动按系统语言来选择合适版本。
flyhigh 2018-01-03
  • 打赏
  • 举报
回复
用SOUI支持多语言就简单了。
http://www.cnblogs.com/setoutsoft/p/6743006.html
赵4老师 2017-12-28
  • 打赏
  • 举报
回复
danscort2000 2017-12-28
  • 打赏
  • 举报
回复
除了语言还有其他什么不同吗?如果其他都相同 完全可以把语言文件独立出来,做成文件,然后根据语言分别读取就是了 其他图标什么的,如果不同也可以通过打包软件来解决,例如inno setup 这种不同语言不同编译开关的方式,到后面往往变成一锅乱粥,
孤客天涯 2017-12-27
  • 打赏
  • 举报
回复
多语言切换一般有两种方式实现: 1.资源库切换实现 2.字典库实现 对于资源库的切换实现,一般把自己的资源编译成一个dll,在exe中通过调用AfxSetResourceHandle的方式来切换当前资源从而实现语言的切换 优点:1.实现简单 2.对于不同语言,可以修改相应资源适应界面,不会出现界面显示不完整的问题 缺点:1.资源dll比较多,如果要支持更多的语言极不方便 2.对于不熟悉的语言,自己没法翻译,也不可能交给别人来翻译(资源库,对话框,菜单,等等这些资源,翻译公司不可能帮你修改这些东西的) 字典库实现多语言切换,实现相对复杂一点,原理是枚举软件中所有资源,将这些资源中的中文字符串记录到字典中,在字典中分别根据不同的语言翻译成不同的字符串, 软件界面呈现时从字典库中取出相应的翻译串进行显示就OK。 优点:1.可以切换任何一种语言,只要能翻译出来,方便切换 2.第三方翻译时不会受限于资源工程源文件,可以随时翻译 3.切换语言无需AfxSetResourceHandle切换资源,比较方便 缺点:1.由于不需要修改界面等资源进行切换语言,会导致切换到不同的语言时,界面文字可能显示不完整
worldy 2017-12-27
  • 打赏
  • 举报
回复
为什么要用两个资源文件?一个资源文件可以支持多语种
汪宁宇 2017-12-27
  • 打赏
  • 举报
回复
1楼已经讲得很清楚了,一般用资源DLL,把resource.h和.rc文件拷贝出来,建一个资源DLL文件分开翻译,如果以后增加,得在对应的h和rc分别手动添加!!!!! 做微软VC的多语言实在太痛苦了!QT的多语言,敲几个命令行同步一下,lupdate lrelease 即可,只需要翻译新加的几条就可以了!!! 微软要是能把这个功能简易化,那是相当赞的!

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧