在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/
其实SwiftUI中明确指定不进行本地化的方式是verbatim参数,如Text(verbatim: “JPY”)。
as String本质是使用了类型转换,将字符串显式转换为String类型。
verbatim的具体官网介绍:https://developer.apple.com/documentation/swiftui/text/init(verbatim:)
感谢新知识的分享