gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 12:56:07 42 4
gpt4 key购买 nike

如何获取系统设备语言,使用 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 ?? "")")
输出:
appLang ======== ["en"]
bungleLang ======== ["en"]
code ======== en
Locale.current.languageCode ======== en
currentLanguage ======== en
local ======== en (fixed)
languageCode = en
regionCode =
所以我没有得到用户在他的设备设置中设置的设备语言。
问题:
有可能吗?我尝试了一切。
所有代码只获取 en或英语,但如果用户将语言设置为意大利语呢?我们如何获得意大利语或 it ?
注:我再说一遍,我不是在谈论应用程序语言,而是在谈论设备语言。
编辑:
不适用于模拟器和真机
  • 在模拟器 iPhone 11、OS 14.4 中检查
  • 在真实设备 iPhone 7、OS 13.3 中 checkin
  • Xcode 12.4 版

  • 也试过:
    UserDefaults.standard.stringArray(forKey: "AppleLanguages")
    更新和解决
    感谢@Charnpreet Singh
    从编辑方案中,您需要更改应用程序语言,最重要的是打印出与您在设备设置中看到的相同的结果。
    enter image description here

    最佳答案

    尝试这个

    UserDefaults.standard.stringArray(forKey: "AppleLanguages")
    输出将类似于 - ["en-US"] .
    它将返回一个包含语言代码的数组,第一个索引是 iPhone 设置中设置的当前语言(如果设置中的首选语言顺序为空,它将是一个单项数组。)

    关于ios - 如何获取系统设备语言,swift iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67516514/

    42 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com