如何在 SwiftUI 中使用动态本地化密钥

How to use dynamic localization keys with SwiftUI

我正在尝试显示基于 ID 的本地化文本。我有很多这样的东西,所以直接将 ID 动态添加到字符串中感觉效率更高。

字符串文件如下所示:

"users.1.name" = "Alice"
"users.2.name" = "Bob"
"users.3.name" = "Charles"
...

如果我执行以下操作,对 ID 进行硬编码,它会按预期工作并显示关联的已翻译密钥:

Text("users.1.name")

但是,如果我这样做,它只会显示字符串:

Text("users.\(user.id).name")
// displays "users.1.name" instead of "Alice"

我也试过:

Text(LocalizedStringKey("users.\(user.id).name"))
// displays "users.1.name" instead of "Alice"

我是不是遗漏了什么或者这不可能?

您需要以下内容。使用 Xcode 11.4 / iOS 13.4

测试
Text(NSLocalizedString("users.\(id).name", comment: ""))