【发布时间】: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