我想檢測用戶擁有哪種語言的設備。然後,我想將語言更改爲不同的語言,應用程序將加載適當的圖像,字符串,故事板。如何使用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