将 Qt 框架中的特定短语添加到我的应用程序的翻译文件中
有没有办法将 Qt 框架的内部 .ts 文件中的特定短语添加到我的应用程序的翻译文件中?我只需要为 QMessageBox 和朋友翻译几个短语。
编辑:
我还想:
- 将短语捆绑在我的应用程序的 .ts 文件中
- 防止它们在例程
lupdate
之后变得过时
子类 QMessageBox 总有一个替代方案,但我'我想先尝试完美主义的解决方案。
编辑#2:
我通过从 Qt 发行版中随我的应用程序发送 .qm 文件,以丑陋的方式解决了这个问题。如果有人提出更优雅的解决方案,我将保留这个问题。
Is there a way to add specific phrases from Qt frameworks's internal .ts files to my application's translation files? I only need to translate several phrases for QMessageBox and friends.
EDIT:
I also want to:
- Bundle the phrases inside my application's .ts file
- Prevent them from going obsolete after a routine
lupdate
There's always an alternative to subclass QMessageBox, but I'd like to try a perfectionist solution first.
EDIT #2:
I've solved the problem the ugly way by shipping a .qm file with my application from the Qt distribution. I'll keep this question open in case somebody comes up with a more elegant solution.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
编辑:
对于内部 Qt 短语的自定义翻译,您只需要执行一些步骤:
translation
文件夹中修改适当的qt_lang.ts
。我强烈建议您使用 Qt linguist这个目的。qt_lang.ts
上使用 lrelease 实用程序来生成 .qm 文件。translations
文件夹,但您可以使用自定义 qt.conf。因此,当您更改应用程序语言时,您将获得所需的(由您翻译的)短语。
例如,如果你想为俄语朋友实现自定义翻译,你需要在
Qt Linguist
中打开qt_ru.ts
,找到QMessageBox
上下文并翻译所有需要的短语。然后按照上述说明进行操作。EDITED:
For custom translation of internal Qt phrases you only need to do some steps:
qt_lang.ts
intranslation
folder inside Qt SDK directory. I strongly recommend you to use Qt linguist for this purpose.qt_lang.ts
to produce .qm file.translations
folder, but you can change this dir by using custom qt.conf.So when you change app language you'll get needed (translated by you) phrases.
For example, if you want to achieve custom translation for russian friends you need to open
qt_ru.ts
inQt Linguist
, locate thereQMessageBox
context and translate all needed phrases. Then follow described above instruction.在 Qt 中,您可以为您的应用程序加载各种 ts 文件,我会尝试不提取所需的短语,而是加载 qt ts 文件以及您自己的翻译
In Qt you can load various ts files for your application, i would try not to extract the needed phrases but load the qt ts files along with your own translation