Qt国际化静态翻译(Visual Studio + Qt插件)

静态翻译流程

一、在cpp中将待翻译字段使用tr()

labTotal->setText(QString(tr("Total:%1")).arg(rows));
QMenu* pMenuHelp = new QMenu(tr("Help"));
QMenu* pMenuLanguage = new QMenu(tr("Language"));

二、生成pro文件

三、在 pro 中加上 TRANSLATIONS

在 pro 中加上 TRANSLATIONS 设置,如 TRANSLATIONS += trans_zh_CN.ts,可以设置多个,每个对应生成的 ts 文件名

TRANSLATIONS += qrc/language/en_CN.ts\
        qrc/language/zh_CN.ts

四、生成ts文件

五、打开Liguist进行翻译并生成 qm文件

1、翻译未翻译项,并确认

2、保存当前翻译

3、发布生成qm文件

六、加载qm文件到进程中

国际化多语言翻译知识点

  • 翻译非Qt类

    如果要使一个类种的字符串支持国际化,那么该类或者继承自QObject类或者使用Q_OBJECT宏。而对于非Qt类,如果要支持翻译,需要在类定义的开始使用Q_DECLARE_TR_FUNCTIONS()宏,例如:        
class MyClass
{
    Q_DECLARE_TR_FUNCTIONS(MyClass)

public:
    MyClass();
    ...
}
  • tr 多个相同的源内容需要翻译成不同的 目标翻译

  • 程序安装qm文件

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值