gpt4 book ai didi

ios - 如何在不重新启动应用程序的情况下从应用程序内部更改应用程序的本地化?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:18:25 25 4
gpt4 key购买 nike

我遇到过应用程序中语言设置的问题,用户可以随时更改它,但是..

当我使用此代码更改它时,例如

[[NSUserDefaults standardUserDefaults] setObject:@[@"de", @"en", @"it"] forKey:@"AppleLanguages"];

在重新启动应用程序之前它不会生效,因为 bundle 已经加载到 appDelegate 中,对吗?

所以我尝试了这个解决方案

https://stackoverflow.com/a/20257557/2839104

但是已经加载的 viewControllers 不受影响,所以...

如何在不重新启动应用程序语言且不更改 NSLog 用法的情况下更新应用程序语言?有什么办法吗?

如有任何意见,我将不胜感激。

最佳答案

您必须实现一个类,该类将加载与项目中可用语言相对应的每个 localizable.string。

然后您创建一个 viewController 以允许选择一种新语言。
当用户选择一种语言时,您必须重新加载语言标签并通知每个 Controller 它必须自行刷新。

我在我的一些应用程序中做了这个。

我创建了一个宏来将我的 viewController 作为委托(delegate)添加到 languageManager。

关于ios - 如何在不重新启动应用程序的情况下从应用程序内部更改应用程序的本地化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27922640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com