【发布时间】:2019-12-10 18:49:56
【问题描述】:
我正在尝试快速获取当前的电话语言。我想我知道该怎么做……但我的语言有误。我的应用程序已经完成了 2 个本地化(英语和西班牙语)。但我想获得真正的 iOS 语言,所以我可以说用户,“我们正在准备很快翻译成意大利语”,或者类似的话....
我使用的是 iOS 13.2.2 / XCode 11.2.1
我已经尝试了很多方法来查看我为该代码得到的结果:
print(NSLocale.current.languageCode as Any)
print(Locale.current.languageCode as Any)
print(Locale(identifier: Locale.current.identifier).identifier)
print(Locale.preferredLanguages)
print(NSLocale.preferredLanguages)
print(Locale.current.regionCode as Any)
print(NSLocale.preferredLanguages[0] )
print(NSLocale.components(fromLocaleIdentifier:
NSLocale.preferredLanguages.first!)[NSLocale.Key.languageCode.rawValue])
这些都没有给我正确的结果。
例如,在设置 -> 通用 -> 语言和区域 -> iPhone 语言 -> 意大利语中将 iOS 语言设置为意大利语 我得到了:
print(NSLocale.current.languageCode as Any)
Optional("es")
print(Locale.current.languageCode as Any)
Optional("es")
print(Locale(identifier: Locale.current.identifier).identifier)
es_US
print(Locale.preferredLanguages)
["es"]
print(NSLocale.preferredLanguages)
["es"]
print(Locale.current.regionCode as Any)
Optional("US")
print(NSLocale.preferredLanguages[0] )
es
print(NSLocale.components(fromLocaleIdentifier:NSLocale.preferredLanguages.first!)[NSLocale.Key.languageCode.rawValue])
Optional("es")
我怎样才能得到“它”.....
谢谢
【问题讨论】:
-
可能是因为您的应用基础语言是西班牙语?
-
我知道,但我想获得手机的真实语言……甚至有可能吗?