级别:★☆☆☆☆
标签:「AppleLanguages」「zh-Hans-CN」
作者: WYW
审校: QiShare团队
需求:前段时间项目做本地化,向服务端请求数据的时候,上行参数需要携带设备当前语言。故本篇文章记录一下“iOS 获取设备当前语言和地区”的方法。
一、获取设备当前语言和地区的代码
// iOS 获取设备当前语言和地区的代码
NSString *currentLanguageRegion = [[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] firstObject];
简体&中国大陆地区环境下的输出结果:
currentLanguageRegion:zh-Hans-CN
二、切换设备当前语言和地区的方法
通过Xcode修改App语言环境:(优先级高,但不常用)
方法:Edit Scheme -> Options -> Application Language/Application Region通过手机(或模拟器)修改语言和地区:(优先级低,常用)
方法:通用 -> 语言与地区 -> 选择iPhone语言/地区
分别使用上述两种设备方式,前者只输出语言信息,后者会连同地区信息一起输出。以“简体&中国大陆地区”为例,输出结果如下:
- app 语言环境:
zh-Hans
- 设备语言环境:
zh-Hans-CN
三、获取设备当前语言和地区的其他方法
- 获取当前语言:
// iOS 获取设备当前语言的代码
NSString *preferredLanguage = [[[NSBundle mainBundle] preferredLocalizations] firstObject];
- 获取当前地区:
// iOS 获取设备当前地区的代码
NSString *localeIdentifier = [[NSLocale currentLocale] objectForKey:NSLocaleIdentifier];
以“简体&中国大陆地区”为例,输出结果如下:
- preferredLanguage:
zh-Hans
- localeIdentifier:
zh_CN
PS:以上的三种方法获取的结果不同,大家可以根据自己的需要,选用合适的方法。
关注我们的途径有:
QiShare(简书)
QiShare(掘金)
QiShare(知乎)
QiShare(GitHub)
QiShare(CocoaChina)
QiShare(StackOverflow)
QiShare(微信公众号)
推荐文章:
iOS 绘制渐变·基础篇
iOS 绘制渐变·实例篇
iOS 编写高质量Objective-C代码(七)
奇舞周刊