将 Qt 框架中的特定短语添加到我的应用程序的翻译文件中

发布于 2024-10-21 01:49:37 字数 342 浏览 2 评论 0原文

有没有办法将 Qt 框架的内部 .ts 文件中的特定短语添加到我的应用程序的翻译文件中?我只需要为 QMessageBox 和朋友翻译几个短语。

编辑:

我还想:

  1. 将短语捆绑在我的应用程序的 .ts 文件中
  2. 防止它们在例程 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:

  1. Bundle the phrases inside my application's .ts file
  2. 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

等你爱我 2024-10-28 01:49:37

编辑:
对于内部 Qt 短语的自定义翻译,您只需要执行一些步骤:

  1. 在 Qt SDK 目录内的 translation 文件夹中修改适当的 qt_lang.ts 。我强烈建议您使用 Qt linguist这个目的。
  2. qt_lang.ts 上使用 lrelease 实用程序来生成 .qm 文件。
  3. 修改你的代码。您需要使用 QTranslator 类在应用程序中安装生成的翻译文件。
  4. 使用生成的 .qm 分发您的应用程序。所有 .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:

  1. Modify appropriate qt_lang.ts in translation folder inside Qt SDK directory. I strongly recommend you to use Qt linguist for this purpose.
  2. Use lrelease utility on qt_lang.ts to produce .qm file.
  3. Modify your code. You need to install generated translation file in your app by using QTranslator class.
  4. Distribute your app with generated .qm. All .qm files must be arranged in special dir relative to your app binary. By default it is 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 in Qt Linguist, locate there QMessageBox context and translate all needed phrases. Then follow described above instruction.

﹂绝世的画 2024-10-28 01:49:37

在 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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文