QT4 designer的使用 QT国际化
看到一个文档,关于Qt4Design使用的,其中一部分关于国际化的,很有价值。一直还没做到这块,看了之后,才知道上一篇tr()的作用。。
详细请看附件文档。
六、QT国际化(i18n)
要使得应用程序支持多种 语言,并且能够灵活切换,就需要添加QT的国际化支持。
打开QTDemo.pro,添加如下语句:
TRANSLATIONS += en.ts zh_CN.ts zh_TW.ts
然后在命令行窗口中输入 以下命令:
lupdate QTDemo.pro
这样就生成了3个语言文件:en.ts,zh_CN.ts,zh_TW.ts,分别存放英文、中文、繁体中
文的字符串。en.ts的内容如下:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS><TS version="1.1">
<context>
<name>Form</name>
<message>
<location filename="form1.ui" line="13"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="form1.ui" line="25"/>
<source>Exit</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>
这是一个XML文件,其中存放了所有工程中涉及到的字符串。
用linguist(在QT安装目录下的bin目录中)打开zh_CN.ts,选择“编辑”->“翻译文件设置…”,选择
Chinese/China:
选中某一个字符串,在译文文本框中输入对应于中文的字符串:
在翻译完成后一定要记得点击一下字符串前面的“?”,使其变成一个“√”:
最 后选择“文件”->“另外发布为…”,将语言文件发布为zh_CN.qm文件
用同样的方法生成zh_TW.qm文件,唯一不同的地方就是翻译文件设置中应该选择Chinese/Taiwan。
对于en.ts 文 件,不需要翻译,直接发布为en.qm即可。
下面在程序中添加对国际 化的支持,将main.cpp修改为如下内容:
#include <QApplication>
#include <QTranslator>
#include "MyDlg.h"
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QTranslator translator;
translator.load(QString(argv[1]));
app.installTranslator(&translator);
MyDlg *mydlg = new MyDlg;
return mydlg->exec();
}
重新执行make命令,生成可执行程序。
在运行程序时通过传递命 令行参数指定所使用的语言,注意不需要指定扩展名.qm,例
如:
QTDemo zh_CN
这样运行程序时界面就编 程中文的了,是不是很简单啊~
QT4 designer的使用 QT国际化相关推荐
- Qt学习笔记,Qt国际化
Qt学习笔记,Qt国际化 Qt国际化步骤: 第一步:设置.pro文件,加入TRANSLATIONS为国际化做准备 TRANSLATIONS = language/language_en.ts\ ...
- 我的QT Creator学习笔记(二十一)——Qt国际化和Qt插件
参考文献:<Qt Creator 快速入门>第三版 霍亚飞编著 一.国际化 Qt可以使用Qt Linguist工具完成应用程序的翻译工作,生成.qm文件,然后在不同情况下为应用程序安装不同 ...
- Qt国际化出错导致汉化不完全
在使用qt的国际化功能时一直出现汉化不完全的现象,比如主窗口的文字都是汉化的,但打开一个子窗口却发现文字是英文的,本来应该被汉化的字符串却没有被汉化(注:翻译qm文件已经生成).一直都不明白是怎么回事 ...
- QT国际化,中英文等多语言界面显示的方法
在网上学习了一下QT的国际化用法,最后将自己试成功的方法总结如下: 其中遇到的问题有:生成的ts文件中 代码中的中文 有的不显示,有的显示乱码. 步骤1: 生成.ts文件,在pro项目文件中加入T ...
- Qt文档阅读笔记-Qt4 Lower-Level API扩展Qt Applications(Qt4中Plugin的使用)解析与实例
目录 官方解析 博主栗子 官方解析 Qt应用程序可以对插件进行扩展,要使用QPluginLoader这个类进行加载.插件可以提供任意的功能,而且不限制数据库驱动,图像格式,以及其他的Qt功能插件. 当 ...
- linux+qt4.8画波形图,Qt画笔实现波形区域图
参考文章:https://blog.csdn.net/yuxing55555/article/details/79752978 效果图: void WareArea::paintEvent(QPain ...
- Qt国际化翻译(中英切换)步骤:可子界面翻译
效果显示: 1.英文翻译: 2.中文翻译: 步骤 1.用一个函数用来设置控件的文本信息,因为每次切换语言,就要重新设置控件的文本信息,所以我这里用了一个FunSetText()函数封装(FunSetT ...
- Qt 国际化 (中英文切换)
在工程中,新建一个资源文件,命名为translator 资源文件在工程目录中的结构 2. 修改pro 在pro文件中添加 TRANSLATIONS += resources/tr_zh.ts \res ...
- qt4 与php 通讯,Qt与外部程序通信问题
后来我看了一下,这个C程序是执行的是个脚本,没有生成bin文件.文件树结构如下.我现在是在研究upnp例子.我在想,是不是不一定要生成bin文件? common | |-- sample_util ...
最新文章
- Linux下修改Swap分区大小
- 四川大学计算机学院录取,四川大学计算机学院2018年硕士研究生招生拟录取名单及成绩公示...
- JSP EL表达式 格式化日期
- nginx 源码学习笔记(十)——基本容器——ngx_hash
- python自动排版 html_Python 实现自动完成A4标签排版打印功能
- perl 用网易发邮件报错 554 DT:SPM 163 smtp14
- Windows 下80端口被进程 System PID=4 占用的解决方法
- awk的基本使用方法
- vb代码转为c++代码_vb代码转为c++代码_VB源码转换工具(VBto Converter)
- 前端越早入行越吃香!【全新web前端开发视频教程】
- [buuctf.reverse] 144_[XMAN2018排位赛]easyvm 147_[XNUCA2018]Code_Interpreter
- ht城市介绍人口数量Html,城市人口热力图 城市热力图查询
- 从零开始学习Java设计模式 | 软件设计原则篇:依赖倒转原则
- 信息安全技术 应用软件安全编程指南
- 策略岗、分析岗、模型岗,在不同机构的组织架构是怎样的?
- S4 HANA MRP LIVE
- java鬼吹灯搬山法杖_倒斗四大门派卸岭、搬山、摸金、发丘,《鬼吹灯》为何不讲发丘...
- UltraEdit自动化脚本
- 安卓 sdk 离线包_百度离线ocr识别开发sdk包
- 从零开始一起学习SLAM-ICP原理及应用