iPhone本地化无需更改iPhone设置

5
我曾通过localisableString和不同的xib来完成本地化,这只能使用NSLocale方法。但是应用程序的要求是,在应用设置视图中更改语言,而不管iPhone的语言如何,来实现本地化。
1个回答

2

听起来是一个愚蠢的要求,但无论如何:您可以通过设置一个数组来更改应用程序的语言,该数组按用户默认键@"AppleLanguages"的首选语言顺序排列,例如:

//Set language to German:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[NSArray arrayWithObject:@"de"]
                                      forKey:@"AppleLanguages"];

请注意,这仅影响您在更改设置之后加载的字符串/nib文件,因此您可能需要重新加载用户界面。


实际上,如果您更改了此设置,则对NSLocalizedString的新调用也无法按预期工作。 您需要重新启动应用程序,这是一个UI噩梦。 - Mundi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接