如何在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: ""))