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()的参数。

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

 

你可能感兴趣的:(#,Qt学习之路)