我有:
int main(int argc, char* argv[])
{
@autoreleasepool
{
// Force use of English.
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"en", nil] forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
像HockeySDK这样的强制图书馆只使用英文。但是来自iOS的localizedDescription
例如NSError
仍然是用户选择的语言。当我在SKPaymentTransaction
中收到付款错误时,我会在另一个英语(我自己的代码)警报中获得荷兰语(我当前的iPhone语言)说明;看起来真的很草率。
如何强制整个应用中的所有文本始终使用英语?
或者一般来说:我怎样才能确保iOS总是从我定义的列表中选择一种语言(目前只包含" en")?