说我有一个icu::Locale
,其中设置了两个Unicode关键字,例如"en-US-u-ca-gregory-tz-usnyc"
。
如果我致电toLanguageTag
,我可以得到上面的字符串。
如果我调用addLikelySubtags
以“最大化”语言环境,则可以将其扩展为"en-Latn-US-u-ca-gregory-tz-usnyc"
(添加Latn
脚本标识符,该标识符是隐式的)。
但是如何添加“可能的Unicode关键字”,以获得类似"en-US-u-ca-gregory-cf-standard-co-standard-cu-usd-fw-sun-ms-ussystem-nu-latn-tz-usnyc"
的内容?这些应该从有关语言环境的CLDR数据中得出。
我需要获取一个完全扩展的Unicode BCP-47语言环境ID(具有Unicode扩展名),以传递给需要这种格式且本身不了解语言环境默认值的API。
Locale::getUnicodeKeywords
仅提供手动覆盖的关键字。Locale::getUnicodeKeywordValue
会导致错误,而不是从已知的语言环境默认值中获取值。