1

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

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

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

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

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

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

4

1 回答 1

2

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

于 2015-07-23T16:22:43.827 回答