[英]SwiftUI Localisation not working with @State Strings
我已经在我的 SwiftUI 应用程序中实现了本地化。 一切正常,但我在本地化 @State var 时遇到问题。 本地化不起作用,我只能打印出密钥。 知道如何解决这个问题吗?
type
的值已经在我的Localizable.strings
中
@State var type: String
var body: some View {
VStack {
Text(self.type) // not working
Text("test") // working
}
}
您可以将字符串转换为NSLocalizedString
Text(NSLocalizedString(type, comment: ""))
或将类型的type
更改为LocalizedStringKey
@State var type: LocalizedStringKey
当将字符串文字传递给Text
时,需要推断其类型(因为没有明确说明)。 文字文本可能是 UI 的固定部分,因此它被解释为LocalizedStringKey
。
当您传递属性self.type
时,它具有显式类型 - String
,因此使用Text(_ verbatim:)
初始化程序会导致非本地化文本。
如果您希望该属性被本地化,您可以使用LocalizedStringKey(_ string: String)
初始化程序:
Text(LocalizedStringKey(self.type))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.