iOS中获取语言、地区的几种方法:
NSString *preferredLanguage = [[[NSBundle mainBundle] preferredLocalizations] firstObject];
NSString *localeIdentifier = [[NSLocale currentLocale] objectForKey:NSLocaleIdentifier];
NSLocale *locale = [NSLocale currentLocale];
NSString *languageCode = [locale objectForKey:NSLocaleLanguageCode];
NSString *countryCode = [locale objectForKey:NSLocaleCountryCode];
下面是打印的结果:

(1)[[[NSBundle mainBundle] preferredLocalizations] firstObject];
- 解析:这个方法获取的语言编码,将会自动拼接当前国家的代码。
(2)[ [NSLocale currentLocale] objectForKey:NSLocaleLanguageCode];
- 解析:这个方法获取的语言编码,不会拼接当前国家的代码,只是纯粹的语言编码。
(3)[ [NSLocale currentLocale] objectForKey: NSLocaleCountryCode];
- 解析:这个方法获取的是地区编码。
注意!!!:iOS中的地区与语言是分开的,比如语言选择了中文,地区却可以选择意大利。在【设置/通用/语言与地区】页面中,语言与地区是分开设置的;但是安卓的语言与地区,是同时设置的,设置了语言,地区会切换至相应的那个地区,比如选择了意大利语,地区也会切换至意大利。
(4)[[NSLocale currentLocale] objectForKey:NSLocaleIdentifier];
- 解析:这个方法获取的是本地标识,由“语言_地区”组成。
网友评论