获取当前系统语言

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

  • 解析:这个方法获取的是本地标识,由“语言_地区”组成。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容