JavaScript ES6/Harmony 现在具有特定于语言的排序/排序规则。
现在浏览器的支持有所不同,因此我发现 Chrome 中的某些语言可以使用,而其他语言则不能。
但是我遇到的问题是对于芬兰语、日语、西类牙语和瑞典语等语言,它们有不止一种排序文本的方式,如何查找浏览器支持哪些方式?
最佳答案
Intl.Collator.supportedLocalesOf
接受区域设置列表并返回它支持的区域设置,但它会在测试支持之前从每个区域设置中删除 Unicode 扩展。所以如果你要做
Intl.Collator.supportedLocalesOf("de-u-co-phonebk")
和de
支持区域设置,但不支持电话簿排序,您会得到 ["de-u-co-phonebk"]
。可能更糟(因为我怀疑对 de
语言环境的支持几乎总是意味着对电话簿排序的支持),如果您错误输入为
Intl.Collator.supportedLocalesOf("de-u-co-phonebm")
你会得到["de-u-co-phonebm"]
这可能真的很糟糕。
resolvedOptions().locale
在整理器上查看 Unicode 扩展名是否传输过来。例如,
Intl.Collator("de-u-co-phonebk").resolvedOptions().locale
将返回"de-u-co-phonebk"
,同时
Intl.Collator("de-u-co-phonebm").resolvedOptions().locale
将返回"de"
.
关于javascript - 对于具有多个 "alphabetic orders"的语言,如何确定浏览器支持 Intl.Collator 的排序规则变体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29860031/