Bootstrap

Qt实现多国语言(即界面翻译)可实时进行切换

新建一个Qt Widgets Application的工程,

然后在UI界面上放置QLabel以及一个按钮

最终要实现点击按钮,实现QLabel上的文字进行中英切换


大致步骤:

1.由界面的UI信息,生成ts文件

2.由ts文件,翻译后,生成qm文件

3.通过代码调用qm文件,进行语言切换

然后,在工程的pro文件下添加:

TRANSLATIONS += qzher_en.ts

再在QtCreate菜单中,如下,选择Update Translations,就会生成一个 qzher_en.ts (此文件在工程目录下,即和main.cpp同级)

我们可以用记事本打开此ts文件,内容大致如下:

它主要是一个xml文件,里面包含了UI所有的文字信息

下一步,则需要将此文字信息进行对应地进行翻译

Linux下,则打开安装目录下的: linguist

Windows则在开始菜单中可以找到:

在打开的Liguist,把上一步生成的qzher_en.ts打开,选择Source text 进行逐个翻译

翻译完后,将 qzher_en.ts 进行保存

然后再回到QtCreate中,点击Release Translations

通过此步,可以实现qzher_en.ts 生成一个对应的 qzher_en.qm

此 qm 文件,即最终需要的,它为一个二进制文件,包含需要的多国语言翻译信息

;