我必须让用户从列表中选择应用程序的语言。
将下一行放入 SceneDelegate 中效果很好,因为它在开头加载指定的语言:
window.rootViewController = UIHostingController(rootView: ContentView().environment(\.locale, .init(identifier: "de")))
但我不知道如何从包含列表的视图中设置区域设置以在整个应用程序中切换语言。
谢谢你的帮助
您可以使用@State var
作为区域设置标识符。在此示例中,我使用按钮来更改状态,并且文本会立即更改。
struct LanguageView: View {
@State var identifier = "en"
var body: some View {
VStack {
Button("French", action: {
self.identifier = "fr"
})
Button("English", action: {
self.identifier = "en"
})
Text("Test")
}
.environment(\.locale, .init(identifier: identifier))
}
}
在我的 Localized.strings 中我添加了"Test" = "My english text";
对于英语和"Test" = "Mon texte français";
对于法语。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)