我想检测用户拥有哪种语言的设备。然后,我想将语言更改为不同的语言,应用程序将加载适当的图像,字符串,故事板。如何使用Swift检测和更改ios应用程序语言?
我用下面的检测语言:
let lang: String = NSLocale.preferredLanguages()[0] as String
然而,这将返回“en”我连我的iOS模拟器设置为阿拉伯语。
基于Objective-C的问题,我试着做如下改变语言为阿拉伯语:
NSUserDefaults.setValue("ar", forKey: "AppleLanguage")
但是,这发出了一个错误:
Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSUserDefaults 0x103daa350> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key AppleLanguage.'
的setObject是更好,但会的setValue工作为好。你的第二点解决了这个问题。 – 2014-11-09 11:22:17
没有为我工作。该应用程序没有更改为RTL,当重新运行应用程序时,NSLocale.preferredLanguages()[0]返回的语言始终为“en-US” – Zvi 2016-08-26 22:04:35