目标:
翻译 tr("xxxx")中的内容,和控件,菜单栏的内容
本来以为qt 自己能翻译的,既然有语言家,我还是大意了
需要手动翻译
大前提: 这个文件之前已经添加 ,本来工程中没有的哈
步骤:
1、pro文件添加
TRANSLATIONS += zh.ts //这个名字自己写一个
2、更新翻译
在概要信息中出现如下信息即可
3、添加到工程目录
添加最后一个zh.ts 即可
4、翻译
使用qt 语言家打开该文件
这个应该都是灰色的问号,因为之前改过 ,所以不一样
源文下边写上你想要的翻译
然后点击这个最右侧的绿色对号,然后继续翻译
5、保存 发布 (先保存 后发布)
6、生成qm 文件
最下方的文件就是生成的翻译文件
发布后工程文件内会生成qm 文件,将其拷贝到 生成的debug 目录下的bin 同级目录
也可以根据自己的情况调整,只要能够让翻译器识别到qm 文件即可
7、main函数导入翻译器
建议添加到main () 靠前的位置 不然会出问题
QTranslator *qtTranslator = new QTranslator;
//获取翻译文件路径并加载
if(qtTranslator->load(QCoreApplication::applicationDirPath() + "/zh.qm")){
a.installTranslator(qtTranslator);
qDebug()<<"ssssssssssss";
}
else{
qDebug("load failed!!\n");
qDebug() << QCoreApplication::applicationDirPath();
}
然后调试运行 ,大功告成
注意:
另外如果多次修改有无用的配置需要删除
那么需要在
在更新翻译参数后添加
-no-obsolete
这个就是删除无效命令,每次更新就会自动删除
多次更新怎么办?
先更新翻译 再发布即可 ,因为之前的翻译文件路径没变