自己做店招的网站,十大互联网培训机构,公司网站建设排名,长沙企业网站开发微联讯点目录 1 引言2 实现步骤3 问题4 工具 1 引言
冷实现需要重启软件才会刷新软件显示资源。
2 实现步骤
创建Qt多语言翻译文件.ts#xff0c;比如命名为Project_zh.ts。 可以通过Qt Creator直接创建翻译文件#xff0c;也可以通过VS QT Tools进行生成。如果是Qt Creator工程。… 目录 1 引言2 实现步骤3 问题4 工具 1 引言
冷实现需要重启软件才会刷新软件显示资源。
2 实现步骤
创建Qt多语言翻译文件.ts比如命名为Project_zh.ts。 可以通过Qt Creator直接创建翻译文件也可以通过VS QT Tools进行生成。如果是Qt Creator工程。记得在pro配置文件中添加
#QT语言家
TRANSLATIONS Project_zh.tsts文件会将工程中携带了tr()函数包裹的字符串统计起来可以对这些资源进行翻译。 如
string BarTools tr(修改);则后续在ts文件中可以对这个字符串进行翻译更改。 而在代码中加载的翻译资源文件主要是.qm文件。 通过以下方式
QTranslator translator;
string LangFilePath m_laguage .qm; //这里添加路径使用绝对路径或者添加到qrc资源文件中
translator.load(QString::fromStdString(LangFilePath));
a.installTranslator(translator);其中m_laguage 是想实现的语言比如中文、英语、俄语分别都配置一个文件。
3 问题
若添加tr()之后在ts文件中没发现翻译资源是由于以下原因
头文件.h中没有添加Q_OBJECT因为ts文件的实现方式是遍历当前文件中有Q_OBJECT的文件进行收集所以未添加会出现识别不到的现象。宏定义不能添加tr()字符串可能和编译实现的方式有关。
4 工具
TS文件和EXCEL互转