您的位置:首页 > 编程语言 > Qt开发

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工具生成文件。

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 多语言