找回密码
 立即注册
收起左侧

界面动态库的国际化

3
回复
5490
查看
[复制链接]

尚未签到

来源: 2019-1-22 15:00:29 显示全部楼层 |阅读模式
5Qter豆
一个可执行程序,需要好多个带界面的动态库,这些动态库的翻译,如何加载??

回复

使用道具 举报

尚未签到

2019-1-22 15:20:25 显示全部楼层
两种方案:
第一:在动态库的构造函数中加载翻译,然后画界面,这个实际操作之后,没问题;
第二:将多个ts文件合并,生成一个qm文件,进行加载,库太多,没有验证这个操作,不好管理。
参考链接:https://bbs.csdn.net/topics/392045980
回复

使用道具 举报

累计签到:41 天
连续签到:1 天
2019-1-22 16:35:24 显示全部楼层
参考链接:http://www.qter.org/forum.php?mo ... id=20424&extra=
参考代码:把下述代码中的aaaaaa、bbbbbb改为您的翻译文件目录、翻译文件名即可。然后照着下面的代码写多次加载。
QString strPath= aaaaaa; // 获取翻译文件所在目录
strPath +="/system/lang";       //$TRAINDEVHOME/system/lang/ks03_01.qm
QScopedPointer<QTranslator>gpTranslator(new QTranslator(QCoreApplication::instance()));
if(gpTranslator->load("bbbbb.qm", strPath))
{
     QCoreApplication::installTranslator(gpTranslator.take());
}
回复

使用道具 举报

尚未签到

2019-1-23 14:37:22 显示全部楼层
我的做法是在每个动态库工程里生成自己的ts文件,然后在主工程里统一加载,我个人感觉这种方式还是挺好的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了