iPhone / iOS:我如何知道手机在运行时使用的本地化?

我在本地化应用程序时遇到困难。 它需要被本地化为波斯语(伊朗波斯语)。 不仅如此,selectfa_IR作为本地化时,还需要使用Solar Calendar。

操作系统有一个波斯日历。 使用它没有问题,但我需要知道fa_IR本地化已被选中。 侮辱受伤,我不能在美国testing这个地区,因为AT&T似乎不允许它作为本地化。 我必须把它发送给伊朗,这是一个皇家PItA。

我有一段时间在运行时find本地化的魔鬼。 有一堆东西访问捆绑标志,但我找不到任何获取运行时信息。

我在iOS编程中非常绿,所以我仍然需要确定哪个M到RTFM。 我一直在search与许多关键字的文档,无济于事。

任何人都可以帮助什么似乎是一个荒唐的问题?

NSLocale将有您需要的区域设置信息。 请注意,基础课程支持build议的设置,例如24小时制和地区信息。

 NSLog(@"%@", [[NSLocale currentLocale] localeIdentifier]); 
 NSArray *localizations = [[NSBundle mainBundle] preferredLocalizations]; for (NSString *string in localizations) { NSLog(@"Localization: %@", string); } 

上面的代码应该有助于find当前的本地化。

 NSLog(@"%@", [[NSLocale currentLocale] localeIdentifier]); 

NSLocale返回en_US ,而NSBundle返回sv ,这对我的手机是正确的。