• 4670阅读
  • 9回复

zhengtianzuo系列-Qt语言切换 [复制链接]

上一主题 下一主题
离线zhengtianzuo
 

只看楼主 倒序阅读 楼主  发表于: 2017-09-30
    首先在工程文件.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
博客地址: https://blog.csdn.net/zhengtianzuo06
Github: https://github.com/zhengtianzuo
个人产品: https://github.com/zhengtianzuo/Silk
产品网站: http://www.camelstudio.cn
离线shepher

只看该作者 1楼 发表于: 2017-10-12
楼主,我先在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

只看该作者 2楼 发表于: 2017-10-12
回 shepher 的帖子
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变量试试
博客地址: https://blog.csdn.net/zhengtianzuo06
Github: https://github.com/zhengtianzuo
个人产品: https://github.com/zhengtianzuo/Silk
产品网站: http://www.camelstudio.cn
离线shepher

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

内容来自[短消息]
离线zhengtianzuo

只看该作者 4楼 发表于: 2017-10-12
回 shepher 的帖子
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\ 试试
博客地址: https://blog.csdn.net/zhengtianzuo06
Github: https://github.com/zhengtianzuo
个人产品: https://github.com/zhengtianzuo/Silk
产品网站: http://www.camelstudio.cn
离线zzzzzzhuzhu

只看该作者 5楼 发表于: 2017-11-23
大神,求助,,,qml多语言切换,不是5.10版本,是5,.9.2版本,,,应该怎么处理,,弄一天了没弄出来,。。。。
离线zhengtianzuo

只看该作者 6楼 发表于: 2017-11-24
回 zzzzzzhuzhu 的帖子
zzzzzzhuzhu:大神,求助,,,qml多语言切换,不是5.10版本,是5,.9.2版本,,,应该怎么处理,,弄一天了没弄出来,。。。。[表情]  (2017-11-23 17:44) 

我写的qml的语言动态切换 需要qt5.10及以上版本 5.9.2是不支持的  这篇文章的qt widgets方式是可以的
博客地址: https://blog.csdn.net/zhengtianzuo06
Github: https://github.com/zhengtianzuo
个人产品: https://github.com/zhengtianzuo/Silk
产品网站: http://www.camelstudio.cn
离线zzzzzzhuzhu

只看该作者 7楼 发表于: 2017-11-24
回 zhengtianzuo 的帖子
zhengtianzuo:我写的qml的语言动态切换 需要qt5.10及以上版本 5.9.2是不支持的  这篇文章的qt widgets方式是可以的 (2017-11-24 09:23) 

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

只看该作者 8楼 发表于: 2017-11-24
回 zzzzzzhuzhu 的帖子
zzzzzzhuzhu:有没有方法5.9.2切换语言呢,,,qml的,,,能不能写个例子出来呢,,,谢了 (2017-11-24 09:33) 

可以切换 不过不是动态的 需要重启程序
博客地址: https://blog.csdn.net/zhengtianzuo06
Github: https://github.com/zhengtianzuo
个人产品: https://github.com/zhengtianzuo/Silk
产品网站: http://www.camelstudio.cn
离线big_mouse

只看该作者 9楼 发表于: 2020-04-23
快速回复
限100 字节
 
上一个 下一个