【问题标题】:How to provide multi language support in iOS?如何在 iOS 中提供多语言支持?
【发布时间】:2013-11-16 07:19:02
【问题描述】:

我在 iOS 中遇到了多语言支持问题。我需要支持多种语言,但我喜欢制作一些用户不需要离开应用程序而只需更改设置中的语言的东西。 我可以更改语言,但我需要重新启动 ios 应用才能生效。

我用以下来改变语言:

[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"fr", nil]
                                              forKey:@"AppleLanguages"];
    [[NSUserDefaults standardUserDefaults] synchronize];

我读到重新启动应用程序或终止应用程序违反了苹果的隐私。 请提供您的建议。

提前致谢。

【问题讨论】:

标签: ios multilingual


【解决方案1】:

我创建了我的自定义 LanguageManger,它允许在运行时更改语言。你可以在这里找到代码:https://github.com/antrix1989/LanguageManager

【讨论】:

  • 感谢您的回复,但我需要重新启动应用程序才能使更改的 lagauge 生效。是否有可能在不重新启动应用程序的情况下获得成功更改的效果?
  • @MehulS 您不需要重新启动应用程序。只需为 kLanguageChangedNotification 添加观察者,当它发生时,再次从 LocalizedManager 检索值。
【解决方案2】:

不要在运行时更改应用程序的语言,您将拥有一个具有所选语言界面的应用程序,但所有系统服务都采用“设置”语言。想象一下,您在设置中有中文,而在使用您更改为英文的应用程序时(始终在应用程序内)您访问带有地图的部分,该地图将显示为中文。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    相关资源
    最近更新 更多