SwiftUI避免自动本地化
SwiftUI避免自动本地化

SwiftUI避免自动本地化

在SwiftUI中,Text默认实现本地化,例如:

Text("JPY")
    .font(.footnote)
    .foregroundColor(Color(hex: "FFFFFF"))

如果不希望Text默认本地化,可以使用Text的String构造方法:

Text("JPY" as String)
    .font(.footnote)
    .foregroundColor(Color(hex: "FFFFFF"))

这样,可以确保Text内的字符不受到本地化影响,始终显示原始内容。

这种方法会绕过本地化的机制,并确保它不会自动根据设备的语言设置变更。

(2025年4月9日补充):感谢 jack 的补充,可以通过verbatim确保文本按原样显示,不会进行格式化或转移。

例如下面的代码:

Text(verbatim:"Welcome")

如果不显示verbatim,则默认使用本地化:

Text("Welcome")

此外,该文实际与《Swift取消Text的自动本地化实现》一文内容重复。

相关文章

Swift取消Text的自动本地化实现:https://fangjunyu.com/2024/10/18/swift%e5%8f%96%e6%b6%88text%e7%9a%84%e8%87%aa%e5%8a%a8%e6%9c%ac%e5%9c%b0%e5%8c%96%e5%ae%9e%e7%8e%b0/

   

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开发者。

欢迎加入我们的 微信交流群QQ交流群,交流更多精彩内容!
微信交流群二维码 QQ交流群二维码

2条评论

  1. jack

    其实SwiftUI中明确指定不进行本地化的方式是verbatim参数,如Text(verbatim: “JPY”)。

    as String本质是使用了类型转换,将字符串显式转换为String类型。

    verbatim的具体官网介绍:https://developer.apple.com/documentation/swiftui/text/init(verbatim:)

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注