3

如果您希望应用程序的语言/地区/格式与所选 iPhone 设置值不同。示例具有自己的内部语言设置的应用程序。

我知道如何更改语言,但是区域/格式呢?

要轻松覆盖设置中选择的语言,您可以在 main 中运行此代码

 [[NSUserDefaults standardUserDefaults]
  setObject:[NSArray arrayWithObject:@"sv"]
  forKey:@"AppleLanguages"];

要查看效果更改,让我们使用以下代码输出当前设置

 NSString *locale = [[NSLocale currentLocale] localeIdentifier];
 NSLog(@"current locale: %@", locale);
 NSArray* preferredLangs = [NSLocale preferredLanguages];
 NSLog(@"preferredLangs: %@", preferredLangs);

输出为

 current locale: en_US
 preferredLangs: ( sv )

但我想将此语言环境更改为 sv_SE

我如何以同样的方式覆盖 iPhone 设置中的语言环境(区域/格式)?

4

1 回答 1

0

用户默认值中有两个更有趣的键。有“AppleLanguages”和“AppleLocale”。您可以将它们设置为您的心满意足... :)

只需将其粘贴到代码的早期位置,您就应该得到您想要的结果...... :)

[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:@"sv"]
                                          forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"sv", @"en", nil]
                                          forKey:@"NSLanguages"];
[[NSUserDefaults standardUserDefaults] setObject:@"sv_SE"
                                          forKey:@"AppleLocale"];
于 2012-03-08T15:02:44.990 回答