如何获取系统设备语言,swift iOS

2024-04-03

如何使用 swift iOS 获取系统设备语言,而不是应用程序语言,我没有遇到任何问题。

我想从以下位置获取设备语言设置 -> 常规 -> 语言该用户将语言设置为。

我尝试了下面的代码:

let appLang = Locale.preferredLanguages
print("appLang ======== \(appLang)")

let bungleLang = Bundle.main.preferredLocalizations
print("bungleLang ======== \(bungleLang)")

let code = Locale.autoupdatingCurrent.languageCode
print("code ======== \(code ?? "")")

if let code = Locale.current.languageCode {
    print("Locale.current.languageCode ======== \(code)")
}

print("currentLanguage ======== \(Localize.currentLanguage())")

let local = getPreferredLocale()
print("local ======== \(local)")
print("languageCode = \(local.languageCode ?? "")")
print("regionCode = \(local.regionCode ?? "")")

Output:

appLang ======== ["en"]
bungleLang ======== ["en"]
code ======== en
Locale.current.languageCode ======== en
currentLanguage ======== en
local ======== en (fixed)
languageCode = en
regionCode = 

因此,我没有获得用户在设备设置中设置的设备语言。

问题:

可能还是不可能?我尝试了一切。

所有代码仅获取en or English,但是如果用户将语言设置为意大利语呢?我们怎样才能得到Italian or it?

Note:我再说一遍,我不是在谈论应用程序语言,而是在谈论设备语言。

Edit:在模拟器和真实设备中都不起作用

  • 在模拟器 iPhone 11、操作系统 14.4 中检查

  • 在真机 iPhone 7、操作系统 13.3 中检查

  • Xcode 版本 12.4

还尝试过:UserDefaults.standard.stringArray(forKey: "AppleLanguages")

Update and Solved Thanks to @Charnpreet Singh From Edit scheme you need to change App Language and above all variables print the same result as you will see in your device settings. enter image description here


Try this

UserDefaults.standard.stringArray(forKey: "AppleLanguages")

输出将类似于 -["en-US"].

它将返回一个包含语言代码的数组,第一个索引是 iPhone 设置中设置的当前语言(如果设置中的首选语言顺序为空,它将是一个单项数组。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取系统设备语言,swift iOS 的相关文章

随机推荐

  • 选择到临时表

    我相信我应该能够做到select into temptable from othertable where temptable以前不存在 但它不起作用 假如说othertable存在并具有有效数据 并且 sometemp不存在 conn l
  • 从列表中删除自定义单词 - Python

    我有一个数据框列 如下所示 我正在考虑删除特殊字符 我希望附加标签 在列表列表中 以便我可以将列附加到现有的 df 这是我收集了这么多 但似乎不起作用 正则表达式尤其给我带来了很大的痛苦 因为它总是返回 预期的字符串或类似字节的对象 df
  • LRPC 的意义何在?为什么有人想要对同一台机器进行远程过程调用?

    根据我对 RPC 远程过程调用 的理解 它们提供了一种向远程计算机发送函数调用 调用等的方法 这样做的明显优点是 您可以拥有一个在机器集群上运行的单个程序 并且可以处理更多请求 更多数据等 但我很困惑LRPC 轻量级RPC http www
  • 需要帮助调试缓慢的 scons 运行时

    我正在使用 scons 构建两个项目 一个项目效果很好 而另一个 更复杂 项目则非常令人沮丧 这是我在为第二个项目运行 scons 时看到的内容 S time scons scons Reading SConscript files lt
  • 在 OSX 上设置 PHPUnit

    尽管我确信其他人最终已经设法解决了这个问题 但我一直在关注各种文档 并且度过了一段艰难的时光 http www phpunit de manual current en installation html http www phpunit
  • 谷歌地图破坏 KML

    我已经创建了一些世界地区的 KML 文件 以便使用 Google 地图 API 进行显示 这一直工作正常 但最近有一个区域开始显示数据好像已损坏 你可以在这里明白我的意思 https drive google com file d 0B9u
  • jQuery 切换动画

    我有这个 jQuery document ready function panel hide login toggle function panel animate height 150 padding 20px 0 backgroundC
  • Bash 中常量的命名约定是什么?

    在 shell 脚本中 即使我使用Java or Python样式命名约定 我仍然不清楚命名常量 许多约定建议我使用 大写字母 和 下划线 一起命名常量 例如MY CONSTANT PI 但在Bash 这可能与环境变量 https stac
  • 使用 Yosup 时如何查找最新的 MD5、KEY 和 VERSION

    我发现在使用 yowsup 时出现 old version 错误时 向 Whatsapp 服务器注册有时会失败 Yosup 旧版本错误 https stackoverflow com questions 35877803 yowsup ol
  • GAE PHP 应用程序:无法找到包装器“gs”

    我正在编写一些非常简单的代码standardphp73 Google App 引擎环境 遵循此处的文档 https cloud google com appengine docs standard php googlestorage htt
  • Node-sass 不理解波浪号

    探索angular cli对于最近发布的 Angular2 的 RC1 我遇到了奇怪的问题 node sass在 sass 插件中angular cli不解析 在包名称之前抛出以下错误 Error File to import not fo
  • 非常简单的DNS服务器

    我有一台 Linux 服务器 有一个临时无线网络供客户端连接 连接后 我希望用户始终被重定向到它自己的 Web 服务器 无论他们输入什么 URL 最大的解决方案是设置一个完整的 DNS 服务器 使用 BIND 或等效服务器 但这似乎有点过头
  • QString 的运算符 <<

    为 QString 实现 std ostream operator lt lt std ostream stream const QString str stream lt lt str toAscii constData or strea
  • 浏览器也可以缓存嵌入的 Base64 图像吗?

    我想知道是否有任何现代浏览器实际上缓存了嵌入的图像 base64 字符串 这在不久的将来有可能吗 基于 W3C 或主要浏览器的官方文档 我不这么认为 因为你错过了Resource Identifier作为缓存图像的键 对于嵌入图像 您只有数
  • 使用 pandas 标记每组的每 N 行

    我有一个数据框 其中包含客户信息及其购买详细信息 我正在尝试添加一个新列 指示同一客户每进行第三次购买 下面给出的是数据框 customer name bill no date Mark 101 2018 10 01 Scott 102 2
  • input:not(:placeholder-shown) ~ 标签选择器不适用于自动填充

    我在输入字段中有浮动占位符 当我们未提供输入值时 占位符将出现在中心 如下图所示 电子邮件和密码为占位符 现在 当您向电子邮件提供值时 它确实如下所示 观察提供值后 电子邮件和密码已被提取 当浏览器开始从页面加载时保存的凭据 如用户名 电子
  • NSCalendar NSDateComponents weekofYear 返回 1,日期为 2014-12-31

    我想获得日期为 2014 12 31 的 weekofYear 但它总是返回 1 而不是 52 这是我的代码 NSCalendar calendar NSCalendar currentCalendar NSUInteger unitFla
  • 为什么 Google 的 pandas_datareader 不起作用?

    我尝试通过以下代码从谷歌财经获取数据 import pandas datareader data as wb import datetime as dt start dt datetime 2015 1 1 end dt datetime
  • nginx php 友好的 URL 重定向,不会干扰 index.php 导致 /index

    我尝试了很多不同的配置来启用任何以 php 结尾的请求的永久重定向 以重定向到不带 php 的自身 问题是 我无法获得将使用 index php 发送到任何目录的请求重定向到 而不是 index 的规则 Example 期望的行为 blog
  • 如何获取系统设备语言,swift iOS

    如何使用 swift iOS 获取系统设备语言 而不是应用程序语言 我没有遇到任何问题 我想从以下位置获取设备语言设置 gt 常规 gt 语言该用户将语言设置为 我尝试了下面的代码 let appLang Locale preferredL