我已经研究了好几天了。
我有一个快速准备好的应用程序,最近我们决定引入本地化,当我将系统语言设置为所需语言时,它可以工作,但是当我尝试手动更改语言时它不起作用。
我的尝试:
NSUserDefaults.standardUserDefaults().setObject(["ar"], forKey: "AppleLanguage")
NSUserDefaults.standardUserDefaults().synchronize()
重新启动应用后
let lang = NSUserDefaults.standardUserDefaults().objectForKey("AppleLanguage")
确实返回[“ar”]
但是
NSLocale.preferredLanguages()[0]
仍然会返回[“en”]
,应用程序出现在英文版和区域设置
中答案 0 :(得分:1)
密钥名为AppleLanguages
(注意结尾处的s)。
我确定您知道,但本地化的应用不需要执行自定义语言选择。最好将它留给iOS,让用户定义他们的全球国际设置。