第一步: 将要翻译地文字用tr()括起来,比如要翻译“一二三”,则应该写成tr(‘一二三‘);
第二步:在工程文件中新建一个文件夹(language)用于保存语言包
第三步:为工程添加资源文件,设置语言包存放路径,在.pro文件中添加如下语句
TRANSLATIONS +=language/tr_zh.ts \ language/tr_en.ts
路径名字一定要与文件夹名字相同,否则会出现找不到路径地错误。
例如:假设文件夹地名字叫resource,则.pro中添加的语句则应该是TRANSLATIONS +=resource/tr_zh.ts \ resource/tr_en.ts
第四步:点击【工具】-【外部】-【Qt语言家】-【lupdate】
看到如下信息则说明成功了,此时打开language文件夹便可以看到tr_zh.ts和tr_en.ts两个文件
第五步:用Qt Linguist打开tr_en.ts文件进行翻译工作。编辑完成之后点击发布,然后就能在language文件夹中看到tr_en.qm文件。或者在Linguist中点击保存保存,然后在Qt中手动点击【工具】-【外部】-【Qt语言家】-【release】。成功之后能看到当前的翻译情况
因为tr_zh.qm为中文文件,不用翻译,因此有57个忽略,tr_en.qm,翻译成功54个,13个忽略。
第六步:将qm文件添加到资源文件中,添加成功之后如下图所示
第七步:进入main.cpp文件,添加头文件#include <QTranslator>,然后在“QApplication a(argc, argv);”下面添加如下代码:
QTranslator translator;
translator.load(":/new/prefix1/language/tr_en.qm");
a.installTranslator(&translator);
括号中绿色部分为路径,可以直接右键点击文件,复制路径到括号中即可成功更换语言包。
至此静态更换(在代码中事先选择好而不是到软件中选择语言)语言就已经完成了。
原文:https://www.cnblogs.com/leocc325/p/12643883.html