Qt简单编程--发布多语言程序

因为程序要发给国外客户,所以需要个英文界面。在网上查了整天,只有下面文章帮助了我:
http://www.tinylab.org/qt-multi-languages-support/
简单地说,有以下步骤。这里说明是基于Qt Creator的ui界面的。

  1. 在项目的.pro文件里手动增加文件.ts。
  2. 运行Qt\外部\Qt语言家\更新翻译(lupdate),获得上面的文件*.ts。
  3. 打开*.ts文件编辑,增加翻译文本。
  4. 运行Qt\外部\Qt语言家\发布翻译(lrelease),获得*.qm文件。
  5. 在main.cpp文件中增加加载*.qm文件的翻译程序。
  6. 重新编译程序。

再详细说明上面步骤。
项目文件.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);

这是用于发布另一语言程序的,若需要动态改变语言则需要另外的程序了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值