首页 > 解决方案 > 如何在 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"

我错过了什么或者这不可能吗?

标签: iosswiftxcodelocalizationswiftui

解决方案


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

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

推荐阅读