QT
程序
国际化
操作,
Qt
本身支持多语言,尤其是多文件切换特别方便,使用ts文件即可,下面介绍基本使用方式,如下操作是基于VS2013 并且已安装
QT
VS TOOLS 插件,展示中文的
翻译
操作
二.使用步骤
1.添加
翻译
文件
点击VS项目名称----》右键----》CreaeNew Translation File --->选择创建中文的
会生成 项目名称_zh.ts 在项目目录下
2.使用
翻译
文件
2.1.
Qt
语言家工具 的使用
双击VS项目列表下的 项目名称...
有的软件需要根据用户的设置来切换显示的语言,
Qt
提供了一套用于Internationalization 的机制来帮助我们实现语言切换。
大致的流程:首先用 l
update
工具根据源码中标记的字符串生成ts 文件,然后通过Linguist(
Qt
语言家)工具进行编辑,再用 lrelease 工具发布qm
翻译
文件,最后代码中加载这个 qm
翻译
文件。其中 l
update
/lrelease 工具的使用已经集成到
Qt
Creator 和 Linguist,可以快速地生成相应的文件。
操作流....
第一种:利用 QCoreApplication::tr() 函数
第二种:利用 QCoreApplication::translate() 函数
第三种:利用 QCoreApplication 类的 Q_DECLARE_T...
Qt
的
翻译
分为三步:
1.运行l
update
,从应用程序中提取所有经tr()标识过的字符串。生成一个后缀为*.ts的文件。
2.使用
Qt
Linguist
翻译
这个*.ts。然后用其生成*.qm。
3.在应用程序中用
QT
ranslator这个类加载*.qm文件。
要用lupd
我在用
Qt
语言家
更新
翻译
(l
update
)
翻译
语言包的时候,点击运行后直接没有反应了,一开始以为任务崩溃了,但是查看后台进程l
update
还存在,而且cpu占用率比较高,感觉像是一直在
翻译
,
翻译
不过来了,哈哈。最后经过Google查找,发现了端倪,参考了这个帖子 https://stackoverflow.com/questions/40471662/
update
-translation-file-using-boost-library-
qt
-c。
帖子上面说了引用三方库boost导致了该问题,巧
1、用一个函数用来设置控件的文本信息,我这里用了一个FunSetText()函数封装,并且文本信息用tr(“”);如QPushButton p要设置文本
p->setText(tr("Info")); //用tr("")设置,这是重点,不这样设置到时候
翻译
的时候识别不出来
2、pro文件中添加 ,添加这个语句之后
TRANSLATIONS = English.ts Chinese.ts
3、点击
Qt
工程中的
更新
翻译
,如下图所示,
更新
翻译
之后,在你的当前