获取iOS当前语言(包括国家/地区代码)

前端之家收集整理的这篇文章主要介绍了获取iOS当前语言(包括国家/地区代码)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要在iOS中收到一个类似en_US或es_ES的字符串.

明显的方法是使用[NSLocale currentLocale]并从中获取语言信息.但是,这可以让您获得“区域格式”,而不是实际的设备语言,这意味着如果您将设备语言设置为英文,但区域格式为“西班牙”,则会错误地报告es_ES.

如果您需要设备语言,您必须这样做:
[[NSLocale preferredLanguages] objectAtIndex:0]

然而,这只会给你语言,所以你得到像en或es这样的东西,没有最后的国家代码.

如何正确地获取国家/地区代码,如Safari?

解决方法

尝试使用此代码
NSString *locale = [[NSLocale currentLocale] localeIdentifier];
NSRange startRange = [locale rangeOfString:@"_"];
NSString *result = [locale stringByReplacingCharactersInRange:NSMakeRange(0,startRange.length+1) withString:[[NSLocale preferredLanguages] objectAtIndex:0]];
DebugLog(@"current locale: %@",result);

猜你在找的iOS相关文章