获取当前系统语言

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];

下面是打印的结果:


打印结果.png

(1)[[[NSBundle mainBundle] preferredLocalizations] firstObject];

  • 解析:这个方法获取的语言编码,将会自动拼接当前国家的代码。

(2)[ [NSLocale currentLocale] objectForKey:NSLocaleLanguageCode];

  • 解析:这个方法获取的语言编码,不会拼接当前国家的代码,只是纯粹的语言编码。

(3)[ [NSLocale currentLocale] objectForKey: NSLocaleCountryCode];

  • 解析:这个方法获取的是地区编码。
    注意!!!:iOS中的地区与语言是分开的,比如语言选择了中文,地区却可以选择意大利。在【设置/通用/语言与地区】页面中,语言与地区是分开设置的;但是安卓的语言与地区,是同时设置的,设置了语言,地区会切换至相应的那个地区,比如选择了意大利语,地区也会切换至意大利。

(4)[[NSLocale currentLocale] objectForKey:NSLocaleIdentifier];

  • 解析:这个方法获取的是本地标识,由“语言_地区”组成。

你可能感兴趣的:(获取当前系统语言)