【发布时间】:2021-12-29 01:54:01
【问题描述】:
我正在尝试根据用户的决定更改我的应用程序中的语言。我尝试了以下但没有运气,想知道是否有人可以帮助我指出正确的方向?
UserDefaults.standard.set(["fr"], forKey: "AppleLanguages")
UserDefaults.standard.synchronize()
最后我尝试了以下方法,但也没有运气:
enum Language: String, CaseIterable {
case japanese, russian, spanish, english
var code: String {
switch self {
case .japanese: return "ja"
case .russian: return "ru"
case .spanish: return "es"
case .english: return "en"
}
}
static var selected: Language {
set {
UserDefaults.standard.set([newValue.code], forKey: "AppleLanguages")
UserDefaults.standard.set(newValue.rawValue, forKey: "language")
}
get {
return Language(rawValue: UserDefaults.standard.string(forKey: "language") ?? "") ?? .english
}
}
}
调用它:
Language.selected = .russian
任何帮助将不胜感激。干杯。
【问题讨论】:
-
您的意思是您希望他们能够选择与设备语言不同的语言吗?
-
@SimonMoss 是的,这就是我想要做的
标签: swift enums localization