Qt 翻译 多国语言 本地化。。。Step by Step

国际化!!!!!

创建一个空白的Qt工程

添加一个main.cpp


#include <QApplication>
#include <QPushButton>
#include <QLayout>
#include <QTranslator>

int main(int argc, char *argv[])
{
QApplication a(argc, argv)
QWidget* pWnd = new QWidget();

QPushButton* pBtn = new QPushButton(QPushButton::tr("Test Translate"))
QVBoxLayout* pVlayout = new QVBoxLayout();
pVlayout->addWidget(pBtn)
pWnd->setLayout(pVlayout);
pWnd->show();

return a.exec();

}


即可运行起来。。。。 此工程中,只有按钮上有文字。。。运行如下图示:





在工程中加入: TRANSLATIONS += testTrans_en.ts (ts文字名可随意取)

然后执行: Tools -> External -> Linguist -> Update Translations(lupdate)


Qt 翻译 多国语言 本地化。。。Step by Step_第1张图片


提示完成: /usr/local/Qt5.4.0/5.4/gcc_64/bin/lupdate" finished

在工程中,可以发现多了一个 testTrans_en.ts 文件,此文件可用文本编辑器打开进行查看,如:


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

<!DOCTYPE TS>
<TS version="2.1" language="en_US">
<context>
<name>QPushButton</name>
<message>
<location filename="main.cpp" line="13"/>
<source>Test Translate</source>
<translation type="unfinished"></translation>
</message>
</context>

</TS>


此步骤是将工程中的文字(加tr等包含的文字)进行提取到ts文件中


接下来,在终端运行 x@x:~$ linguist 打开 Qt Linguist 翻译工具,对文字进行逐个翻译并保存


Qt 翻译 多国语言 本地化。。。Step by Step_第2张图片



在工程中再执行: Tools -> External -> Linguist -> Release Translations(lrelease)
结果提示:/usr/local/Qt5.4.0/5.4/gcc_64/bin/lrelease" finished
在工程中,可以发现多了一个 testTrans_en.qm文件,此文件为二进制格式文件,即我们最终使用的翻译文件

然后添加Qt资源,将testTrans_en.qm添加进来

Qt 翻译 多国语言 本地化。。。Step by Step_第3张图片


修改main.cpp文件,将翻译文件添加进来,最终执行

#include <QApplication>
#include <QPushButton>
#include <QLayout>
#include <QTranslator>

int main(int argc, char *argv[])
{
QApplication a(argc, argv);

QTranslator qtTranslator;
qtTranslator.load(":/translate/testTrans_en.qm")
a.installTranslator(&qtTranslator);


QWidget* pWnd = new QWidget();
QPushButton* pBtn = new QPushButton(QPushButton::tr("Test Translate"))
QVBoxLayout* pVlayout = new QVBoxLayout();
pVlayout->addWidget(pBtn)
pWnd->setLayout(pVlayout);

pWnd->show()


return a.exec()
}


最终执行结果:



工程下载:

我的资源中:

Qt5翻译基础工程-Translate.tar.gz  Qt5 多国语言  C++  Ubuntu 14.04 Qt5

http://download.csdn.net/detail/yulinxx/8405723





你可能感兴趣的:(本地化,qt,国际化)