看到一个文档,关于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国际化相关推荐

  1. Qt学习笔记,Qt国际化

    Qt学习笔记,Qt国际化 Qt国际化步骤: 第一步:设置.pro文件,加入TRANSLATIONS为国际化做准备 TRANSLATIONS = language/language_en.ts\     ...

  2. 我的QT Creator学习笔记(二十一)——Qt国际化和Qt插件

    参考文献:<Qt Creator 快速入门>第三版 霍亚飞编著 一.国际化 Qt可以使用Qt Linguist工具完成应用程序的翻译工作,生成.qm文件,然后在不同情况下为应用程序安装不同 ...

  3. Qt国际化出错导致汉化不完全

    在使用qt的国际化功能时一直出现汉化不完全的现象,比如主窗口的文字都是汉化的,但打开一个子窗口却发现文字是英文的,本来应该被汉化的字符串却没有被汉化(注:翻译qm文件已经生成).一直都不明白是怎么回事 ...

  4. QT国际化,中英文等多语言界面显示的方法

    在网上学习了一下QT的国际化用法,最后将自己试成功的方法总结如下: 其中遇到的问题有:生成的ts文件中 代码中的中文 有的不显示,有的显示乱码.   步骤1: 生成.ts文件,在pro项目文件中加入T ...

  5. Qt文档阅读笔记-Qt4 Lower-Level API扩展Qt Applications(Qt4中Plugin的使用)解析与实例

    目录 官方解析 博主栗子 官方解析 Qt应用程序可以对插件进行扩展,要使用QPluginLoader这个类进行加载.插件可以提供任意的功能,而且不限制数据库驱动,图像格式,以及其他的Qt功能插件. 当 ...

  6. linux+qt4.8画波形图,Qt画笔实现波形区域图

    参考文章:https://blog.csdn.net/yuxing55555/article/details/79752978 效果图: void WareArea::paintEvent(QPain ...

  7. Qt国际化翻译(中英切换)步骤:可子界面翻译

    效果显示: 1.英文翻译: 2.中文翻译: 步骤 1.用一个函数用来设置控件的文本信息,因为每次切换语言,就要重新设置控件的文本信息,所以我这里用了一个FunSetText()函数封装(FunSetT ...

  8. Qt 国际化 (中英文切换)

    在工程中,新建一个资源文件,命名为translator 资源文件在工程目录中的结构 2. 修改pro 在pro文件中添加 TRANSLATIONS += resources/tr_zh.ts \res ...

  9. qt4 与php 通讯,Qt与外部程序通信问题

    后来我看了一下,这个C程序是执行的是个脚本,没有生成bin文件.文件树结构如下.我现在是在研究upnp例子.我在想,是不是不一定要生成bin文件? common |   |-- sample_util ...

最新文章

  1. Linux下修改Swap分区大小
  2. 四川大学计算机学院录取,四川大学计算机学院2018年硕士研究生招生拟录取名单及成绩公示...
  3. JSP EL表达式 格式化日期
  4. nginx 源码学习笔记(十)——基本容器——ngx_hash
  5. python自动排版 html_Python 实现自动完成A4标签排版打印功能
  6. perl 用网易发邮件报错 554 DT:SPM 163 smtp14
  7. Windows 下80端口被进程 System PID=4 占用的解决方法
  8. awk的基本使用方法
  9. vb代码转为c++代码_vb代码转为c++代码_VB源码转换工具(VBto Converter)
  10. 前端越早入行越吃香!【全新web前端开发视频教程】
  11. [buuctf.reverse] 144_[XMAN2018排位赛]easyvm 147_[XNUCA2018]Code_Interpreter
  12. ht城市介绍人口数量Html,城市人口热力图 城市热力图查询
  13. 从零开始学习Java设计模式 | 软件设计原则篇:依赖倒转原则
  14. 信息安全技术 应用软件安全编程指南
  15. 策略岗、分析岗、模型岗,在不同机构的组织架构是怎样的?
  16. S4 HANA MRP LIVE
  17. java鬼吹灯搬山法杖_倒斗四大门派卸岭、搬山、摸金、发丘,《鬼吹灯》为何不讲发丘...
  18. UltraEdit自动化脚本
  19. 安卓 sdk 离线包_百度离线ocr识别开发sdk包
  20. 从零开始一起学习SLAM-ICP原理及应用

热门文章

  1. git冲突解决办法合集
  2. Nebula Challenge 04
  3. MYSQL 源代码编绎脚本
  4. 无缝的缓存读取:双存储缓存策略
  5. 【Scala】Scala中特殊函数的使用(代码)
  6. jmeter 配置 slave 代理压测机
  7. 01-09 Linux三剑客-sed
  8. 动易软件上传文件服务器错误,动易 应用程序中的服务器错误
  9. linux终端下载vscode,如何在Ubuntu18上安装VScode
  10. vue 一个页面多个router-view如何配置子路由_浅谈vue前端开发架构