如何在 Swift 中检索 NSLocale .scriptCode 的值

How to retrieve a value for NSLocale .scriptCode in Swift

我正在尝试从 NSLocale 打印一些基本信息,但我无法从 .scriptCode 属性 中取回值。

目前,相关位是

let localeIdent = NSLocale.autoupdatingCurrent.identifier
let userLocale = NSLocale(localeIdentifier: localeIdent)
let languageScript = userLocale.scriptCode //not sure why this doesn't seem to return anything.
print("Language script code: \(languageScript)")

总是打印 returns 'nil'.

语言环境 returns 我的其余信息集、区域和语言等,所以我不确定为什么不存储/返回这些信息。

并非所有语言环境都有脚本代码。见 Language and Locale IDs section of the Internationalization and Localization Guide.

区域标识符可以包含各种部分,例如语言代码、脚本代码和区域代码。脚本和区域代码是可选的。

查看 Locale scriptCode 的文档作为示例:

For example, for the locale “zh-Hant-HK”, returns “Hant”.

en_USde_DE 等较简单的语言环境没有脚本代码。