我在服务器上有一个数据库,其中包含我在应用程序中使用的所有语言关键字,这些语言可以随时更改。
在数据库的language表中有用于Language
(id , key, value, lang)
的column
。
在安卓应用程序中,我从设备读取语言,它返回例如en-GB
或en-US
。
但是在iOS应用程序中,我不能像上面的例子那样获取语言,它总是只返回语言(en , es, fr
)。
因此,我不能通过查询数据库来获取iOS应用程序中指定语言的关键字。因为数据库上的语言是en-GB、en-US风格的。
var langId: String? = NSLocale.preferredLanguages().first as? String
如何才能获得更详细的语言?
发布于 2015-05-09 22:39:24
从currentLocale()
开始,并询问有关它的问题。例如:
let lang = NSLocale.currentLocale().localeIdentifier
或者,在更细的粒度级别:
let langId = NSLocale.currentLocale().objectForKey(NSLocaleLanguageCode) as! String
let countryId = NSLocale.currentLocale().objectForKey(NSLocaleCountryCode) as! String
let language = "\(langId)-\(countryId)" // en-US on my machine
发布于 2019-05-08 17:13:21
不需要额外的努力,只需根据您的需求使用以下内容。
Locale.current.identifier //en_US
Locale.current.collatorIdentifier //en-US
https://stackoverflow.com/questions/30141174
复制相似问题