SwiftUI - LocalizedStringKey 插值

发布于 2025-01-14 22:21:09 字数 771 浏览 0 评论 0原文

我有一个 Localized.strings ,其中包含我需要的所有文本。示例:

"Welcome": "Hello There,welcome!!";

为了避免在应用程序的许多部分拼错 LocalizedStringKey“Welcome”,我创建了一个如下的枚举:

enum LocalizableKey: LocalizedStringKey {

    case welcome = "Welcome"
    case interpolationCase = "Interpolation case %@ etc etc"
}

在 SwiftUI 中,如果我使用它,它就可以工作文本(LocalizedKey.welcome.rawValue)

我的问题是如何在我想要添加参数的 .interpolationCase 情况下插入字符串?

Text(LocalizedKey.interpolationCase.rawValue) <- 添加参数。是否可以为参数添加一个 attributeString 以具有不同的颜色?

让我们放弃像这样分隔文本的解决方案: Text(LocalizedKey.interpolationCase.rawValue) + Text(\(parameterValue)) + Text(LocalizedKey.anothercase.rawValue)

预先感谢您。

I have a Localizable.strings with all the text I need. Example:

"Welcome": "Hello there, welcome!!";

To not misspeal the LocalizedStringKey "Welcome" in many parts of the app I created an enum like this:

enum LocalizableKey: LocalizedStringKey {

    case welcome = "Welcome"
    case interpolationCase = "Interpolation case %@ etc etc"
}

In SwiftUI it works if I use Text(LocalizableKey.welcome.rawValue).

My question is how can I interpolate a string for the case of .interpolationCase where I want to add a parameter?

Text(LocalizableKey.interpolationCase.rawValue) <- Add a parameter. Also is it possible to add an attributedString for the parameter to have a different color?

Let's discard the solution of separating the text like this:
Text(LocalizableKey.interpolationCase.rawValue) + Text(\(parameterValue)) + Text(LocalizableKey.anothercase.rawValue)

Thank you in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文