设置“AppleLanguages”不会改变应用程序语言 [英] Setting "AppleLanguages" doesn't change app language

查看:1116
本文介绍了设置“AppleLanguages”不会改变应用程序语言的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试实现一个可以更改应用语言的功能。

我试着像这样设置:

I am trying to implement a function that can change app language.
I tried to set it like this:

let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject("de", forKey: "AppleLanguages")

在应用程序重启后语言仍然是系统默认。

现在我通过设置 Scheme>来测试不同的语言。应用程序语言>语言

但用户是否可以单击按钮并在重新启动后查看选择的语言?

And after app restart language is still 'system default'.
Now I test different languages by setting Scheme > Application Language > language.
But is it possible to user click a button and after restart to see picked language?

这样做的正确方法是什么,以避免在重启时改变语言?

Also what is the proper way to do this to avoid changing language on restart?

推荐答案

是的你可以立即更改应用程序语言,

Yes you can change the app language immediately like,

var language = "de"
let path = NSBundle.mainBundle().pathForResource(language, ofType: "lproj")
let bundle = NSBundle(path: path!)
let string = bundle?.localizedStringForKey("key", value: nil, table: nil)

将NSUserDefaults值用于语言。

use your NSUserDefaults value to language.

这篇关于设置“AppleLanguages”不会改变应用程序语言的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆