【问题标题】:NSLocale.preferredLanguages doesn't change when changing NSUserDefaults更改 NSUserDefaults 时 NSLocale.preferredLanguages 不会更改
【发布时间】:2015-04-27 14:32:12
【问题描述】:

我已经研究了好几天了。

我有一个快速准备好的应用程序,最近我们决定引入本地化,当我将系统语言设置为所需的语言时,它可以工作,但是当我尝试手动更改语言时它不起作用。

我尝试过的:

    NSUserDefaults.standardUserDefaults().setObject(["ar"], forKey: "AppleLanguage")
    NSUserDefaults.standardUserDefaults().synchronize()

重启应用后

let lang = NSUserDefaults.standardUserDefaults().objectForKey("AppleLanguage") 确实返回 ["ar"]

但是

NSLocale.preferredLanguages()[0]

仍然返回 ["en"]

应用程序出现在英文版和语言环境中

【问题讨论】:

    标签: swift ios8 localization internationalization


    【解决方案1】:

    密钥被命名为AppleLanguages(注意末尾的s)。

    我相信您知道,但本地化应用不需要执行自定义语言选择。最好把它留给 iOS,让用户定义他们的全球国际设置。

    【讨论】:

    • 它确实有效 :) ,这让我有点为自己感到羞耻 :( 。无论如何都非常感谢你
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    • 2013-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多