Qt学习笔记之QTranslator

QTranslator类为文本输出提供国际化支持。

此类的一个对象包含一组从源语言到目标语言的转换。QTranslator提供了在翻译文件中查找翻译的功能。翻译文件是使用Qt Linguist创建的。

QTranslator最常见的用法是:加载一个翻译文件,使用QCoreApplication::installTranslator()安装它,并通过QObject::tr()使用它。下面是一个使用QTranslator的main()函数示例:

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

      QTranslator translator;
      // look up e.g. :/translations/myapp_de.qm
      if (translator.load(QLocale(), QLatin1String("myapp"), QLatin1String("_"), QLatin1String(":/translations")))
          app.installTranslator(&translator);

      QPushButton hello(QCoreApplication::translate("main", "Hello world!"));
      hello.resize(100, 30);

      hello.show();
      return app.exec();
  }

注意:QTranslator必须在应用程序的小部件之前创建。

大多数应用程序将永远不需要对该类执行任何其他操作。该类提供的其他函数对于处理翻译文件的应用程序非常有用。

查找翻译

可以使用translate()(作为tr()和QCoreApplication::translate() do)查找翻译。


virtual QString 
translate(const char *context, const char *sourceText, const char *disambiguation = Q_NULLPTR, int n = -1) const

translate()函数有三个参数:

上下文——通常是tr()调用者的类名。

源文本——通常是tr()的参数。

消除歧义—一个可选的字符串,帮助消除同一文本在同一上下文中的不同用法的歧义。

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值