代码之家  ›  专栏  ›  技术社区  ›  Herbert Poul

更改当前iphone应用程序的区域设置(NSBundle的自定义区域设置?)

  •  2
  • Herbert Poul  · 技术社区  · 15 年前

    我想在我的iphone应用程序中以编程方式更改语言环境(基本上是因为iphone本身并不支持所有语言,用户应该可以只为我的应用程序切换语言)。我在另一个问题上见过 How to force NSLocalizedString to use a specific language 在OSX应用程序上?它应该与[[NSUserDefaults standardUserDefaults]setObject:[NSArray arrayWithObjects:@“de”,nil]forKey:@“AppleLanguages”];-但对我来说。。。 [NSLocale currentLocale]仍然返回系统范围的区域设置,并且“main bundle”提供来自系统范围区域设置的文件。。

    1 回复  |  直到 8 年前
        1
  •  2
  •   Herbert Poul    15 年前

    好吧,愚蠢的我。。因为问题已经回答了。。该代码需要重新启动。。例如,当用户选择另一种语言时,调用[[NSUserDefaults standardUserDefaults]setObject:[NSArray arrayWithObjects:@“de”,nil]forKey:@“AppleLanguages”];-下次启动应用程序时,[NSBundle mainBundle]将返回给定区域设置的正确资源(尽管[NSLocale currentLocale]仍将返回iphone范围的区域设置。。但我觉得这对我来说并不重要……)

    推荐文章