在IOS中获取当前的设备语言?

在IOS中获取当前的设备语言?

我想展示设备UI正在使用的当前语言。我会用什么代码?

我想把这个当成NSString用完全拼出的格式。(不是@“en_us”)

编辑:对于那些开车经过的人来说,这里有大量有用的评论,因为随着新的iOS版本的发布,答案也发生了变化。


叮当猫咪
浏览 1179回答 3
3回答

慕侠2389804

所选答案返回当前设备语言,但不返回应用程序中使用的实际语言。如果您没有在应用程序中为用户的首选语言提供本地化,则使用第一个可用的本地化,按用户的首选顺序排序。若要发现在本地化中选择的当前语言,请使用[[NSBundle mainBundle] preferredLocalizations];例子:NSString *language = [[[NSBundle mainBundle] preferredLocalizations] objectAtIndex:0];斯威夫特let language = NSBundle.mainBundle().preferredLocalizations.first as NSString

鸿蒙传说

iOS 9的解决方案:NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0];语言=“en-US”NSDictionary *languageDic = [NSLocale componentsFromLocaleIdentifier:language];LanguageDic将具有所需的组件NSString *countryCode = [languageDic objectForKey:@"kCFLocaleCountryCodeKey"];“国家代码”=“美国”NSString *languageCode = [languageDic objectForKey:@"kCFLocaleLanguageCodeKey"];语言代码=“en”
打开App,查看更多内容
随时随地看视频慕课网APP