Qt简单编程--发布多语言程序
2016-05-28 09:29
756 查看
因为程序要发给国外客户,所以需要个英文界面。在网上查了整天,只有下面文章帮助了我:
http://www.tinylab.org/qt-multi-languages-support/
简单地说,有以下步骤。这里说明是基于Qt Creator的ui界面的。
在项目的.pro文件里手动增加文件.ts。
运行Qt\外部\Qt语言家\更新翻译(lupdate),获得上面的文件*.ts。
打开*.ts文件编辑,增加翻译文本。
运行Qt\外部\Qt语言家\发布翻译(lrelease),获得*.qm文件。
在main.cpp文件中增加加载*.qm文件的翻译程序。
重新编译程序。
再详细说明上面步骤。
项目文件.pro中的代码以下,表示项目包括这个.ts文件,与其他文件不同,这里先在*.pro中说明文件名,再由Qt工具生成文件。
Qt中处理*.ts的工具。
编辑*.ts,我是用UE来编辑的。在translation字段中写入要翻译的文本。
运行Qt的翻译工具后,项目目录下会有2个文件。一个是可编辑的.ts文件,一个是编译后不可编辑的.qm文件,而程序中要用的是.qm文件,可随时修改.ts文件编译成*.qm来使用。
需要添加的翻译程序如下,应在main.cpp中增加。
这是用于发布另一语言程序的,若需要动态改变语言则需要另外的程序了。
http://www.tinylab.org/qt-multi-languages-support/
简单地说,有以下步骤。这里说明是基于Qt Creator的ui界面的。
在项目的.pro文件里手动增加文件.ts。
运行Qt\外部\Qt语言家\更新翻译(lupdate),获得上面的文件*.ts。
打开*.ts文件编辑,增加翻译文本。
运行Qt\外部\Qt语言家\发布翻译(lrelease),获得*.qm文件。
在main.cpp文件中增加加载*.qm文件的翻译程序。
重新编译程序。
再详细说明上面步骤。
项目文件.pro中的代码以下,表示项目包括这个.ts文件,与其他文件不同,这里先在*.pro中说明文件名,再由Qt工具生成文件。
TRANSLATIONS = afc_en.ts
Qt中处理*.ts的工具。
编辑*.ts,我是用UE来编辑的。在translation字段中写入要翻译的文本。
运行Qt的翻译工具后,项目目录下会有2个文件。一个是可编辑的.ts文件,一个是编译后不可编辑的.qm文件,而程序中要用的是.qm文件,可随时修改.ts文件编译成*.qm来使用。
需要添加的翻译程序如下,应在main.cpp中增加。
//多语言程序,以下用于中文翻译成英语,翻译对象:菜单所有文字,其他tr()中的字符 QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); QFont font1("Arial", 12, 50, FALSE); a.setFont(font1); QTranslator *t = new QTranslator(0); t->load(QString("afc_en.qm"), "."); a.installTranslator(t);
这是用于发布另一语言程序的,若需要动态改变语言则需要另外的程序了。
相关文章推荐
- QT学习 第一章:基本对话框
- 使用Shiboken为C++和Qt库创建Python绑定
- Qt 5.6更新至RC版,最终版本近在咫尺
- NopCommerce架构分析之(八)多语言支持
- php简单实现多语言切换的方法
- PHP中使用gettext来支持多语言的方法
- Qt定时器和随机数详解
- Qt实现图片移动实例(图文教程)
- ThinkPHP多语言支持与多模板支持概述
- Qt for Android开发实例教程
- Thinkphp搭建包括JS多语言的多语言项目实现方法
- CodeIgniter多语言实现方法详解
- CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
- asp.net web页面元素的多语言化(多国语化)实现分享
- asp.net 2.0多语言网站解决方法
- Silverlight4 多语言实现的方法
- asp.net 支持多语言站点的实现方法
- QModelIndex/Role/Model介紹<二>
- Qt Model/View/Delegate浅谈 - QAbstractListModel
- Qt Model/View/Delegate浅谈 - roleNames()