如何使用特定翻译运行Qt5应用程序?

如何使用特定翻译运行Qt5应用程序?,qt,internationalization,qt5,translation,Qt,Internationalization,Qt5,Translation,我正在将翻译添加到一个Qt5项目中,我希望使用特定的翻译运行应用程序,以使用不同的语言对其进行测试。我已经有了.ts文件并生成了相应的.qm文件。但是,我没有找到关于如何使用特定翻译运行Qt5应用程序的信息。我发现了一些关于在linux中设置LANG环境变量的参考,但没有成功 有人知道是否可以使用特定语言运行Qt5应用程序吗?如果是,设置Qt5应用程序使用哪种语言的最佳方法是什么?将翻译+=langua.ts添加到.pro文件中。然后添加到main() 要更改翻译,请在translator.lo

我正在将翻译添加到一个Qt5项目中,我希望使用特定的翻译运行应用程序,以使用不同的语言对其进行测试。我已经有了.ts文件并生成了相应的.qm文件。但是,我没有找到关于如何使用特定翻译运行Qt5应用程序的信息。我发现了一些关于在linux中设置
LANG
环境变量的参考,但没有成功


有人知道是否可以使用特定语言运行Qt5应用程序吗?如果是,设置Qt5应用程序使用哪种语言的最佳方法是什么?

翻译+=langua.ts
添加到.pro文件中。然后添加到
main()

要更改翻译,请在
translator.load()
中加载另一个文件。
您的所有翻译都将使用
QObject::tr()

阅读,正如我在问题中提到的,我已经完成了翻译。我所没有的是一种通过指定应用程序运行时应该使用哪些翻译来测试特定翻译的方法。@RAM这个答案可以改进,但基本上是正确的。如果你想使用不同的翻译,你必须自己编程安装。您可以添加自己的命令行开关以传入不同的语言环境名称,并使用它来参数化您的翻译程序。@JasonHaslam翻译程序的可用性不是问题,硬编码翻译程序语言完全是错误的。设置语言的标准Qt方法是使用默认的
QLocale
对象调用
QTranslator::load()
,该对象设置在应用程序启动时根据系统的语言环境设置确定的语言环境信息。因此,更改系统的语言环境设置也将决定Qt应用程序将运行的语言环境,而无需硬编码任何内容。@RAM我没有说您应该硬编码语言。我说你应该在你的应用程序中添加一个命令行开关,以通过你想要测试的语言。然后,如果给出了切换,请在加载翻译时使用该语言而不是系统语言环境。@JasonHaslam抱歉,我无法理解您的观点。我不得不同意你的建议确实解决了这个问题。
QApplication a(argc, argv);
QTranslator translator;
translator.load("lang_ua");
a.installTranslator(&translator);