一、QT之国际化
国际化的目的是为了让软件界面在不同语言之间比较自由的切换展示,这里我们只探讨中文和英文的书写以及切换问题。
如果没有自己的一套翻译流程,那么我们可以运用QT自带的翻译流程来完成。
1、在pro文件中添加以下内容
TRANSLATIONS += resources/tr_zh.ts
\ resources/tr_en.ts
2、代码中所有需要翻译的字符串用QObject::tr("")包含 例如: tr(“中文”),这是因为平时使用软件大部分都是中文显示界面
3、点击下图的更新翻译(lupdate)
4、然后找到生成的 tr_en.ts 和 tr_zh.ts 两个文件
5、打开tr_zh.ts (翻译成中文)、打开tr_en.ts(翻译成英文),以上面的tr("中文")为例
然后在"unfinished"后面添加翻译,可以翻译成中文或英文,当然我觉得前面tr函数写的是中文的话就没必要翻译成中文了,如果要做的话也可以,例如:
嫌麻烦的话还可以用Qt Linguist工具进行编辑
6、点击发布翻译(lrelease)
生成 tr_en.qm 和tr_zh.qm两个文件
7、使用的时候添加不同的qm文件即可
注意一点的是翻译文件加载的位置必须在界面实例化之前完成。
参考链接:https://blog.youkuaiyun.com/kidults/article/details/87969380