gpt4 book ai didi

javascript - 如何在 JavaScript 中使用 "best fit"区域设置?

转载 作者:行者123 更新时间:2023-12-03 00:03:06 25 4
gpt4 key购买 nike

到目前为止我对问题的理解:

我正在阅读this MDN document其中说:

The locales argument, after stripping off all Unicode extensions, is interpreted as a prioritized request from the application. The runtime compares it against the locales it has available and picks the best one available. Two matching algorithms exist: the "lookup" matcher follows the Lookup algorithm specified in BCP 47; the "best fit" matcher lets the runtime provide a locale that's at least, but possibly more, suited for the request than the result of the Lookup algorithm. If the application doesn't provide a locales argument, or the runtime doesn't have a locale that matches the request, then the runtime's default locale is used. The matcher can be selected using a property of the options argument (see below).

当我读到这篇文章时,似乎我可以以相同的方式使用“查找”和“最适合”,有时会得到不同的结果。

但是

我能做到:

new Intl.DateTimeFormat('lookup', options).format(date)

但不是:

new Intl.DateTimeFormat('best fit', options).format(date)

我正在使用当前版本的 Firefox(Ubuntu 上为 65.0.1 64 位),据我所知,Firefox 在该问题上没有任何 Unresolved 错误,但在使用时出现 RangeError 'best fit' .

剩余问题:

我应该能够给出 'best fit'作为语言环境参数,或者我只能将其用作 localeMatcheroptions争论?如果我只能用'best fit'里面options ,那么我应该指定什么为 locale ,鉴于 localeoptions 时需要存在?

或者我应该在 Bugzilla 中开一张票吗?

最佳答案

在第一个示例中,一个字符串被传递到 Intl.DateTimeFormat,因此它看起来可以工作。但它所做的只是不将该字符串识别为有效的区域设置,然后使用默认值。

第二个示例不起作用,因为字符串的格式不符合 BCP 47。

您误解了 API 文档。这:

The locales argument must be either a string holding a BCP 47 language tag, or an array of such language tags. If the locales argument is not provided or is undefined, the runtime's default locale is used.

清楚地表明第一个参数应该是一个字符串或(字符串数组),它是区域设置标识符。

然后这个:

The options argument must be an object with properties that vary between constructors and functions.

因此您对 的调用应如下所示:

new Intl.DateTimeFormat([],{localeMatcher: "best fit"}).format(date)

关于javascript - 如何在 JavaScript 中使用 "best fit"区域设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55089897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com