iOS 获取设备选择的语言和地区

项目中如果需要做本地化,向服务端请求数据的时候,需要携带手机选择的语言的参数。今天给大家介绍一下iOS 获取设备选择的语言和地区的方法。

iOS 获取设备选择的语言和地区的代码

  • 方法1:
// iOS 获取设备选择的语言和地区的代码
NSString *currentLanguageRegion = [[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] firstObject];
  • 方法2:
// iOS 获取设备选择的语言的代码
NSString *preferredLanguage = [[[NSBundle mainBundle] preferredLocalizations] firstObject];
  • 方法3:
// iOS 获取设备选择的语言和地区的代码
NSString *localeIdentifier = [[NSLocale currentLocale] objectForKey:NSLocaleIdentifier];
  • 输出结果

currentLanguageRegion:zh-Hans-CN
preferredLanguage:zh-Hans
localeIdentifier:zh_CN

以上的三种方法获取的结果不同,大家可以根据自己的需要选用合适的方法。

切换设备当前语言和地区的方法

  • 1.通过Xcode切换语言和地区的便捷方法为:(记为前者)

    • Edit Scheme -> Options -> Application Language/Application Region
  • 2.手机或模拟器器直接修改语言和地区:(记为后者)

    • 通过修改 通用-> 语言与地区 -> iPhone语言/地区 输出结果不同(后者)

注意:

  • 前者和后者的输出结果不同,后者会把地区编码也追加在后边而前者不会。
  • 举个例子
    • 测试环境:简体&中国大陆地区(采用方法1测试)
    • 输出结果:
      • 前者:zh-Hans
      • 后者:zh-Hans-CN

你可能感兴趣的:(iOS 获取设备选择的语言和地区)