2

我想在我的 iphone 应用程序中以编程方式更改语言环境(基本上是因为 iphone 本身并不支持所有语言,因此用户应该可以仅为我的应用程序切换语言)。我在另一个问题上看到了如何强制 NSLocalizedString 使用OSX 应用程序上的特定语言?它应该与 [[NSUserDefaults standardUserDefaults] setObject: [NSArray arrayWithObjects:@"de", nil] forKey:@"AppleLanguages"]; - 但对我来说它没有...... [NSLocale currentLocale] 仍然返回系统范围的语言环境,并且“主包”为我提供来自系统范围的语言环境的文件..

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

4

1 回答 1

2

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

于 2010-08-03T14:26:28.167 回答