NSLocale.current.language 返回错误值
NSLocale.current.language returning the wrong value
当我在 iPhone 设置中更改我的语言时,它不会反映在 NSLocale.current.language 中。
这是因为我的应用不支持西班牙语吗?我希望它无论如何都能得到反映。最终,我正在尝试获取用户首选语言的 ISO 639-1(2 位)区域代码。
代码:
guard var preferredLanguage = NSLocale.preferredLanguages.first else { return }
for language in NSLocale.preferredLanguages {
print("preferredLanguage: \(language)")
}
print("languageCode: \(NSLocale.current.languageCode)")
print("regionCode: \(NSLocale.current.regionCode)")
输出:
preferredLanguage: es-US
preferredLanguage: haw-US
preferredLanguage: en-US
languageCode: Optional("en")
regionCode: Optional("US")
自 iOS 11 起,NSLocale.current
只能 return 您的应用支持的语言。
可在此处找到更多信息:
当我在 iPhone 设置中更改我的语言时,它不会反映在 NSLocale.current.language 中。
这是因为我的应用不支持西班牙语吗?我希望它无论如何都能得到反映。最终,我正在尝试获取用户首选语言的 ISO 639-1(2 位)区域代码。
代码:
guard var preferredLanguage = NSLocale.preferredLanguages.first else { return }
for language in NSLocale.preferredLanguages {
print("preferredLanguage: \(language)")
}
print("languageCode: \(NSLocale.current.languageCode)")
print("regionCode: \(NSLocale.current.regionCode)")
输出:
preferredLanguage: es-US
preferredLanguage: haw-US
preferredLanguage: en-US
languageCode: Optional("en")
regionCode: Optional("US")
自 iOS 11 起,NSLocale.current
只能 return 您的应用支持的语言。
可在此处找到更多信息: