QT/E 2.3.7 国际化步骤

转载 2007年09月16日 05:04:00

 QT/E 2.3.7 国际化步骤


作者:海进 2005.12.23
基本的要求是你手头上有一个编译成功的还没有国际化的工程,其中的文件有(以hello为例):hello.cpp,hello.h,main.cpp和Makefile,把三个需要用的工具cp到当前的工程目录中,它们是lupdate,lrelease和linguist.

Step1:做好以上准备工作以后,修改main.cpp,加入#include<qtranslator.h>,并且把需要翻译的字符用QObject::tr()括起来,我的main.cpp是这样的:
int main( int argc, char **argv )
{
QApplication a(argc,argv);
QFont font1("unifont",16); //***重要
a.setFont(font1); //***重要
QTranslator *translator=new QTranslator(0); //***重要
translator->load("lang_zh.qm","."); //载入翻译文件为lang_zh.qm,这个是用lrelease工具生成的
a.installTranslator(translator); //***重要

QString s;
for ( int i=1; i<argc; i++ ) {
s += argv[i];
if ( i<argc-1 )
s += " ";
}
if ( s.isEmpty() )
s =QObject::tr("Hello, World");
Hello h( s );
h.setCaption(QObject::tr("my first qt project!"));
QObject::connect( &h, SIGNAL(clicked()), &a, SLOT(quit()) );
h.setFont(font1); //字体都设成font1
h.setBackgroundColor( Qt::white ); // default bg color
a.setMainWidget( &h );
h.show();
return a.exec();
}

Step2:修改hello.pro工程文件,在最后加入一个条目:
TRANSLATIONS = lang_zh.ts

Step3:用lupdate工具生成lang_zh.ts文件,命令为: [root@ding example]# ./lupdate hello.pro

Step4:用linguist工具进行翻译,就是点击相应的条目,打入汉字而已 ,命令为:[root@ding example]# ./linguist lang_zh.ts ,翻译完以后,点击保存就是拉

Step5:用lrelease工具生成hello.qm ,命令为[root@ding example]# ./lrelease hello.pro

Step6:make

Step7:不要我教你怎么运行程序吗哈哈

 

Qt国际化多国语言和发布例子

一  Qt Widgets Application类型工程 1. 创建Qt Widgets Application工程hello_i18n 2. 编辑pro工程文件,新增代码 TRANSLAT...
  • happyrabbit456
  • happyrabbit456
  • 2016年06月20日 17:40
  • 1408

QT国际化(中英转换)

QT国际化(中英转换)我们都知道在安卓中,想做国际化很简单,只需要建立对应的资源文件,在对应的strings里面修改字符即可。但在QT中相对会比较麻烦,没安卓那么简单,不过也不是很复杂,最近在弄国际化...
  • u012528526
  • u012528526
  • 2017年01月24日 13:34
  • 842

Qt国际化方法与国际化不完全问题小结

概述       最近自己在做项目的时候,由于需要跨平台,防止代码乱码,需要把项目中那些中文字都用英文代替,然后翻译成需要的语言。但是在我按照Qt国际化的步骤后,总是有的汉化成功了,有的却没有成功,...
  • Andy_93
  • Andy_93
  • 2016年12月07日 14:39
  • 765

QT国际化与多语言实现

1.Unicode编码         Unicode是一种支持世界上绝大多数文字系统的字符编码标准。QT中的QString类用于将字符串存储为Unicode。 2.应用程序如何翻译QT文件  ...
  • VIPCCJ
  • VIPCCJ
  • 2015年11月16日 13:25
  • 691

QT应用程序之国际化实例步骤及可能出错的细节

参考原址:  http://blog.163.com/bingcaihuang@126/blog/static/198942122010103115655557/ 下面是我的操作实例...
  • tjian2014
  • tjian2014
  • 2014年03月14日 19:55
  • 959

Qt应用程序国际化步骤

说明,本文档的开发环境如下Qt Creator 版本:2.4.1 Qt版本:4.7.0 Step1, 修改.pro文件 打开.pro文件,添加如下语句 TRANSLATIONS += mainw...
  • yTaoSky
  • yTaoSky
  • 2017年06月14日 18:51
  • 250

QT国际化动态切换

QT国际化动态切换在之前写的一篇QT国际化(中英文切换)中描述了如何用QT语言家工具来更新和发布翻译,以及如何在代码中加载语言库,如果你的需求是根据系统本地语言来切换,那么只需在程序入口处判断本地语言...
  • u012528526
  • u012528526
  • 2017年02月09日 13:41
  • 985

【Qt】VS开发Qt程序的国际化使用

一字一句,解读VS进行QT国际化翻译过程!
  • u010111033
  • u010111033
  • 2016年12月16日 14:00
  • 1073

QT国际化翻译的使用

1 首先所有需要翻译的文本都必须用tr包裹。 如果是在继承了某个QOjbect类里面使用比如 QWidget 等。可以直接使用tr。例如setText(tr("StopCapture")); ...
  • groundhappy
  • groundhappy
  • 2016年07月27日 18:22
  • 1068

Qt5多国语言国际化

一.国际化的支持的实现:(1)使用QString对象表示所有用户可见的文本。由于QString内部使用Unicode编码实现,所以它可以用于表示所有需要向用户呈现的文本。当然,对于仅程序员可见的文本并...
  • hejun_haitao
  • hejun_haitao
  • 2015年11月07日 19:58
  • 1507
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: QT/E 2.3.7 国际化步骤
举报原因:
原因补充:

(最多只允许输入30个字)