当我changeEvent(QEvent* event)
收到接收类型event->type() == QEvent::LanguageChange
时,如何获取有关我的应用中新语言的信息?
答案 0 :(得分:1)
您可以将已翻译的字符串与其已知的翻译进行比较:
void changeEvent(QEvent *event)
{
if (event->type() == QEvent::LanguageChange) {
QString translated = QCoreApplication::translate("some context", "Button");
if (translated == "Button")
// language is English
else if (translated == "Кнопка")
// language is Russian
...
}
}
答案 1 :(得分:0)
Qt没有任何对象代表申请语langugae。所以你应该自己实现它。
changeEvent(QEvent* event)
类型QEvent::LanguageChange
installTranslator(QTranslator*)
通常由{{1}}引起,因此您应该知道加载到翻译器并将其存储在本地的巫婆语。