查看完整版本: [-- zhengtianzuo系列-Qt语言切换 --]

QTCN开发网 -> Qt代码秀 -> zhengtianzuo系列-Qt语言切换 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

zhengtianzuo 2017-09-30 17:00

zhengtianzuo系列-Qt语言切换

    首先在工程文件.pro中加入TRANSLATIONS = zh_CN.ts en_US.ts
    两个翻译文件, 支持中英文两种语言切换

    然后在Qt的Designer进入ui文件的设计界面, 选择菜单 工具->外部->语言家->更新翻译(lupdate)


    执行完后在代码目录里就可以看到生成了 zh_CN.ts, en_US.ts 两个翻译文件
    接下来用Qt的Linguist分别打开和编辑ts文件



    然后点击各个源文中的项, 并在下面的译文中填写与语言对应的文字就行了.
    全部填写完成, 再运行菜单 文件->发布就会生成对应的.qm文件. 这个文件就是我们程序在实际运行中需要加载的翻译文件了.

    代码中的加载过程:

```
        translator.load(":/zh_CN.qm");
        qApp->installTranslator(&translator);
        ui->retranslateUi(this);
```

需要完整代码请访问 QtWidgetsExamples

shepher 2017-10-12 15:18
楼主,我先在pro文件中增加了TRANSLATIONS = ...

但是在使用语言家时提示了错误
Starting external tool "C:\Qt\5.9.1\mingw53_32\bin\lupdate.exe" "D:/JUBO/QT Sample/QUI/QUI.pro"
WARNING: Project ERROR: Cannot run compiler 'g++'. Maybe you forgot to setup the environment?

"C:\Qt\5.9.1\mingw53_32\bin\lupdate.exe" finished

按照意思是g++的配置有问题,但是项目工程编译执行都很正常,不太清楚是什么地方的配置不正确,请问该怎么配置?

我的环境是
win7 qtcreate 4.4 qt 5.9 mingW。


zhengtianzuo 2017-10-12 16:20
shepher:楼主,我先在pro文件中增加了TRANSLATIONS = ...
但是在使用语言家时提示了错误
Starting external tool "C:\Qt\5.9.1\mingw53_32\bin\lupdate.exe" "D:/JUBO/QT Sample/QUI/QUI.pro"
WARNING: Project ERROR: Cannot run compiler 'g++'. Maybe you .. (2017-10-12 15:18) 

可以检查下环境配置 或者可以设置path变量试试

shepher 2017-10-12 16:42
我增加了操作系统环境变量
C:\Qt\5.9.1\mingw53_32\mkspecs\win32-g++
仍然是同样的错误。  或者定位错误了?
如果更改环境配置,是修改
QT Creater的工具——选项——环境——下面的那一项呢?

内容来自[短消息]

zhengtianzuo 2017-10-12 17:55
shepher:我增加了操作系统环境变量
C:\Qt\5.9.1\mingw53_32\mkspecs\win32-g++
仍然是同样的错误。  或者定位错误了?
如果更改环境配置,是修改
QT Creater的工具——选项——环境——下面的那一项呢?
....... (2017-10-12 16:42) 

path里增加 C:\Qt\5.9.1\mingw53_32\bin\ 试试

zzzzzzhuzhu 2017-11-23 17:44
大神,求助,,,qml多语言切换,不是5.10版本,是5,.9.2版本,,,应该怎么处理,,弄一天了没弄出来,。。。。

zhengtianzuo 2017-11-24 09:23
zzzzzzhuzhu:大神,求助,,,qml多语言切换,不是5.10版本,是5,.9.2版本,,,应该怎么处理,,弄一天了没弄出来,。。。。[表情]  (2017-11-23 17:44) 

我写的qml的语言动态切换 需要qt5.10及以上版本 5.9.2是不支持的  这篇文章的qt widgets方式是可以的

zzzzzzhuzhu 2017-11-24 09:33
zhengtianzuo:我写的qml的语言动态切换 需要qt5.10及以上版本 5.9.2是不支持的  这篇文章的qt widgets方式是可以的 (2017-11-24 09:23) 

有没有方法5.9.2切换语言呢,,,qml的,,,能不能写个例子出来呢,,,谢了

zhengtianzuo 2017-11-24 11:39
zzzzzzhuzhu:有没有方法5.9.2切换语言呢,,,qml的,,,能不能写个例子出来呢,,,谢了 (2017-11-24 09:33) 

可以切换 不过不是动态的 需要重启程序

big_mouse 2020-04-23 09:22


查看完整版本: [-- zhengtianzuo系列-Qt语言切换 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled