冷实现需要重启软件才会刷新软件显示资源。
创建Qt多语言翻译文件.ts,比如命名为Project_zh.ts。
可以通过Qt Creator直接创建翻译文件,也可以通过VS QT Tools进行生成。如果是Qt Creator工程。记得在pro配置文件中添加:
#QT语言家
TRANSLATIONS = Project_zh.ts
ts文件会将工程中携带了tr()函数包裹的字符串统计起来,可以对这些资源进行翻译。
如:
string BarTools = tr("修改");
则后续在ts文件中可以对这个字符串进行翻译更改。
而在代码中加载的翻译资源文件主要是.qm文件。
通过以下方式:
QTranslator translator;
string LangFilePath = m_laguage + ".qm"; //这里添加路径,使用绝对路径或者添加到qrc资源文件中
translator.load(QString::fromStdString(LangFilePath));
a.installTranslator(&translator);
其中m_laguage 是想实现的语言,比如中文、英语、俄语,分别都配置一个文件。
若添加tr()之后在ts文件中没发现翻译资源,是由于以下原因: