【问题标题】:Qt translations with arguments带参数的 Qt 翻译
【发布时间】:2015-07-23 15:31:53
【问题描述】:

我在使用 Qt 动态翻译应用程序时遇到了问题。 UI 中显示的所有字符串都包含在 tr() 调用中,因此我可以在 QtLinguist 中看到它们。

我现在的问题是:假设我有一个带有占位符 %1 的字符串: tr("Foo %1");

我知道我可以这样填充占位符

tr("Foo %1").arg(myPlaceholder);tr("Foo %1").arg(tr(myPlaceholder));

但没有单独调用 myPlaceholder 的可能值,因此它们不会出现在 QtLinguist 中。

将可能的占位符值添加到我的翻译文件中的最佳方法是什么?我在另一个线程中读到手动编辑 *.ts 文件是错误的。

【问题讨论】:

  • 当您将字符串文字分配给myPlaceholder 时,您应该使用tr,而不是像上面所做的那样在arg 中。
  • @RA。 ....是的,这会更有意义。谢谢。

标签: c++ qt translation qt-linguist


【解决方案1】:

tr() 的参数必须是字符串文字。 tr 表达式的值是 QString - 这就是为什么您可以使用它的 arg 方法等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-22
    • 1970-01-01
    • 2020-12-29
    • 2015-12-25
    • 1970-01-01
    • 1970-01-01
    • 2014-11-30
    • 1970-01-01
    相关资源
    最近更新 更多