我遇到了应用程序中语言设置的问题,用户可以随时更改它,但是..
当我使用此代码更改它时,例如
[[NSUserDefaults standardUserDefaults] setObject[@"de", @"en", @"it"] forKey"AppleLanguages"];
在重新启动应用程序之前它不会生效,因为包已经加载到 appDelegate 中,对吧?
所以我尝试了这个解决方案
https://stackoverflow.com/a/20257557/2839104
但是已经加载的 viewController 不受影响,所以...
如何在不重新启动应用程序语言和不改变 NSLog 用法的情况下更新应用程序语言?有什么办法吗?
如有任何意见,我将不胜感激。
Best Answer-推荐答案 strong>
您必须实现一个类,该类将加载与项目中可用的语言相对应的每个 localizable.string。
然后你创建一个 viewController 来允许选择一种新的语言。
当用户选择一种语言时,您必须重新加载语言标签并通知每个 Controller 它必须自行刷新。
我在我的一些应用程序中做了这个。
我创建了一个宏来添加我的 viewController 作为语言管理器的委托(delegate)。
关于ios - 如何在不重新启动的情况下从应用程序内部更改应用程序的本地化?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/27922640/
|