[原创]如何翻译应用程序的简单教程---by jzj139
源代码如下:
#include <qapplication.h>
#include <qpushbutton.h>
#include <qtranslator.h>
int main( int argc, char **argv )
{
QApplication app( argc, argv );
QTranslator translator( 0 );//Creates a QTranslator object without a parent
translator.load( "ttl_zh-cn", "." );//Try to load a file called ttl_zh-cn.qm
app.installTranslator( &translator );//Add the translations from ttl_zh-cn.qm to the pool of translations
QPushButton hello( QPushButton::tr( "Hello world!" ), 0 );
app.setMainWidget( &hello );
hello.show();
return app.exec();
}
1.使用qmake -project生成.pro文件;
2.在.pro文件中加上如下语句:
TRANSLATIONS = ttl_zh-cn.ts
3.运行如下命令:
lupdate ttl.pro
生成ttl_zh-cn.ts文件;(PS:.ts的名字来自“翻译源”(translation source))
4.运行如下命令:
linguist ttl_zh-cn.ts
这时候会弹出一个图形界面工具:
1)单击左边窗口的QPushButton
2)双击中间窗口的helloworld!这时会弹出一个对话框,在Translation下输入:你好世界!
3)单击工具栏的Done and Next按钮(这个时候QPushButton的前面会变成绿色的对号)显示翻译完成
4)然后File->Release,这个是生成.qm文件(.qm来自“QT消息”Qt message),保存到当前目录下
也可以使用命令release ttl_zh-cn.ts来生成.qm文件的。
5)点击linguist“X”退出窗口,这个时候会提示保存ttl_zh-cn.ts文件,单击save,完成操作。
这一步的目的是把“你好世界!”来替代ttl_zh-cn.ts中的“unfinished”,这个只要了解就可以了,有兴趣的可以去看看QT参考文档。
5.运行如下命令:
qmake ttl.pro
6.运行如下命令:
make
7.运行如下命令:
./ttl
这个时候你会发现按钮是显示的是:“你好世界!” 而不是“helloworld!”
PS:lupdate和lrelease命令都可以带参数-verbose,这样会显示一些提示信息。这个 参数是可选的。