QT学习历程之国际化

一、QT之国际化

   国际化的目的是为了让软件界面在不同语言之间比较自由的切换展示,这里我们只探讨中文和英文的书写以及切换问题。

如果没有自己的一套翻译流程,那么我们可以运用QT自带的翻译流程来完成。

1、在pro文件中添加以下内容

TRANSLATIONS += resources/tr_zh.ts

                             \ resources/tr_en.ts

2、代码中所有需要翻译的字符串用QObject::tr("")包含 例如: tr(“中文”),这是因为平时使用软件大部分都是中文显示界面

3、点击下图的更新翻译(lupdate)

QT学习历程之国际化_第1张图片

4、然后找到生成的 tr_en.ts 和 tr_zh.ts 两个文件

5、打开tr_zh.ts (翻译成中文)、打开tr_en.ts(翻译成英文),以上面的tr("中文")为例

QT学习历程之国际化_第2张图片

然后在"unfinished"后面添加翻译,可以翻译成中文或英文,当然我觉得前面tr函数写的是中文的话就没必要翻译成中文了,如果要做的话也可以,例如:

嫌麻烦的话还可以用Qt Linguist工具进行编辑

6、点击发布翻译(lrelease)

QT学习历程之国际化_第3张图片

生成 tr_en.qm 和tr_zh.qm两个文件

7、使用的时候添加不同的qm文件即可

QT学习历程之国际化_第4张图片

注意一点的是翻译文件加载的位置必须在界面实例化之前完成。

参考链接:https://blog.csdn.net/kidults/article/details/87969380

你可能感兴趣的:(QT学习历程之国际化)