如何解决tr() 在运行时在 Qt 中翻译文本的问题
我在 cpp 文件中有一些消息将发送到 UI 应用程序。我的应用工作可以在运行时使用
进行翻译QCoreApplication::removeTranslator(...);
...
QCoreApplication::installTranslator(..);
retranslate();
但是当我尝试仅使用返回默认语言时出现问题
removeTranslator(...);
retranslate();
这使 cpp 中带有 tr() 标记的某些文本不能成为默认值(因为我尽量不再次安装未翻译文件 ts,并且我不会将这些文本移动到 qml 文件,即使两种方式都可以解决此问题)。那么是否有现有的方法可以通过替换 tr() 来解决这个问题,因为我已经阅读了有关 Qt 中的 tr() 函数的文档,他们说
Warning: This method is reentrant only if all translators are installed before calling this method. Installing or removing translators while performing translations is not supported. Doing so will probably result in crashes or other undesirable behavior.
??? 使用 with tr() 的示例代码
errorCode[UPDATE_SUCCESS] = tr("some text");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。