动态重新翻译Qt Quick UI

Ori*_*ent 1 qt translation qml qt5 qtquick2

我想动态重新翻译Qt Quick GUI字符串.

重新创建受影响的字符串属性存在侵入性技巧,其中有关更改的通知无法集中.

是否有可能使qsTr(和其他)string类似返回的对象,其行为完全相同string,但行为类似于连接到常见"valueChanged"信号的全局属性(我想QEvent::LanguageChangeQCoreApplication发生时发出它).

我想我可以使用twitching Loaderactive属性,它包含整个顶级GUI元素,使所有用户可见的字符串重新翻译,但这种方法导致所有项目和组件的状态丢失,连接到Loader并且没有差异从完整的应用程序重启为我.

是否有可能创造这样的myQsTr功能?

jpn*_*rmi 5

在Qt 5.10中,计划于2017年11月发布,您可以在使用QCoreApplication :: installTranslator()安装新的转换器后调用QQmlEngine :: retranslate (),以确保您的用户界面显示最新的翻译.