当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]qt程序中文国际化

中文国际化是在QT程序设计中很重要的一个环节,这里用一个简单的例子介绍中文国际化得过程。

在这里我们还是写一个经典的helloworld的例子。

zh_CN.cpp

#include

#include hbutton>

#include

#include

#include

int main(int argc, char **argv)

{

QApplicaTIon app(argc, argv);

QTextCodec::setCodecForTr(QTextCodec::codecForname("UTF-8")) ;

app.setFont(QFont("simsun", 10));

QTranslator translator( 0 );

translator.load( "zh_CN", "." );

app.inSTallTranslator( &translator );

QPushButton *pushbutton = new QPushButton(QObject::tr("helloworld!"));

pushbutton->show();

return app.exec();

}

代码中红色部分为关键代码。

QTextCodec::setCodecForTr(QTextCodec::codecForNAME("UTF-8")) ;

这段代码是设置文字的编码格式,这里选择UTF-8.

app.setFont(QFont("simsun", 10));

设置字体为宋体,字体大小为10磅。这个设置的前提是我们有这个字库。simsun.ttc在windows的字体库中可以找到。当然也可以选择其他的字体,如wenquanyi,simfang等。我们把字库拷贝到开发板的字库目录下,修改字库目录下fontdir文件,添加如下内容:

simsun simsun.ttc TTC n 50 120 u

QTranslator translator( 0 );

translator.load( "zh_CN", "." );

app.installTranslator( &translator );

上面三段代码是程序运行时需要装载的翻译文件设置。

QObject::tr("helloworld!")

这句是告诉编译器,这个字符串是可以翻译的。

下面是翻译过程:

1、修改zh_CN.pro文件,添加如下内容:

TRASHLATI* = zh_CN.ts

2、生产ts文件

lupdate zh_CN.ts

查看zh_CH.ts文件:

< xml version="1.0" encoding="utf-8" >

QObject

helloworld!

 

 

 

3、生产 qm文件

这个可以有两种方法,一种是使用linguist,通过图形界面去生产qm文件,这里介绍另外一种方法。

修改ts文件为:

< xml version="1.0" encoding="utf-8" >

QObject

helloworld!

你好!

 

 

 

然后就是生成qm文件了

lrelease zh_CN.ts –qm zh_CN.qm

4、编译程序。将可执行文件和qm文件拷贝到文件系统中运行,你就可以看到一个汉化的节面了。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭