2010-08-03 72 views
2

我想在我的iphone应用程序中以编程方式更改语言环境(基本上,因为并非所有语言都由iphone本身支持,所以用户应该可以仅切换语言为我的申请)。我在另一个问题How to force NSLocalizedString to use a specific language上看到,在OSX应用程序上?它应该与[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@“de”,nil] forKey:@“AppleLanguages”]; - 但对我来说,它不... [NSLocale currentLocale]仍然返回系统的区域设置和'主包'给我从系统的区域设置的文件..更改当前iphone应用程序的语言环境(用于NSBundle的自定义语言环境?)

so ..有没有办法为我的应用程序设置自定义区域设置?或者 - 这对我来说就足够了 - 用不同的语言环境创建一个新的NSBundle实例?

+1

你混淆了两件事。区域设置对应于“区域格式”,而本地化对应于“语言”。 – 2010-08-03 18:04:46

回答

2

好的,愚蠢的我..作为链接的问题已经回答..该代码需要重新启动..即。当用户选择另一种语言调用时[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@“de”,nil] forKey:@“AppleLanguages”]; - 下一次启动应用程序时,[NSBundle mainBundle]将返回给定语言环境的正确资源..(尽管[NSLocale currentLocale]仍然会返回iphone范围内的语言环境..但我认为这对我无关紧要无论如何...)

相关问题