当我在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")
答案 0 :(得分:3)