For AI agents: the complete documentation index is available at /tc39-atlas/llms.txt, the full documentation bundle is available at /tc39-atlas/llms-full.txt, and this page is available as Markdown at /tc39-atlas/proposals/stage/unstaged/proposal-intl-default-behaviours.md.
  • 简体中文
  • Default Behaviours for some Intl APIs ?

    中文标题:某些 Intl API 的默认行为

    提案概览
    提案速览

    该提案旨在为缺乏稳定(zxx)行为的 Intl API(具体为 Intl.Collator、Intl.Segmenter 和 String.prototype.toLocale{Lower,Upper}Case)提供默认的、定义良好的、与区域设置无关的行为。它提议支持 'und' 区域设置作为根区域设置的参考,从而实现语言无关的操作,如根排序和默认大小写转换。

    Note

    以下 README 来自上游仓库,其中的阶段或状态标注可能滞后;当前信息以提案概览为准。

    某些 Intl API 的默认行为

    这是一个 TC39 提案,旨在为那些在稳定格式化提案中没有提出稳定(zxx)行为的 Intl API 提供默认的、定义良好的、与区域设置无关的行为。

    阶段: 1

    提案人: Eemeli Aro, Henri Sivonen

    演示文稿:

    动机

    对于没有提出稳定(zxx)行为的 Intl API,存在默认的、定义良好的、与区域设置无关的行为。 这些行为应当提供给用户。

    来自 tc39/ecma402#549

    我希望能够使用 Intl.Collator 指定 "und" 区域设置标签, 以访问所谓的“根”排序规则,并获得一种合理的与语言无关的排序顺序(或最接近的可用方案)。

    另请参阅 proposal-stable-formatting#13 上的讨论。

    提议的解决方案

    对于接受本地化内容且未提出稳定行为的 Intl API(Intl.CollatorIntl.Segmenter 以及 String.prototype.toLocale{Lower,Upper}Case), 明确支持 und(“未确定”)作为根区域设置的参考,通过它提供一些默认的与区域设置无关的行为。

    使用有效的区域设置标识符而非例如 root 或已知的符号是首选, 因为至少排序应该明确支持 und-u-co-emoji 作为选择表情符号排序的一种方式。

    当某个不支持 zxx 但支持 und 的 API 请求 zxx 区域设置时,使用 und 作为其后备区域设置。

    Intl.Collator

    当使用 und 区域设置时,使用 CLDR 根排序规则, 其中统一表意文字按区块和码点排序,或按部首-笔画排序。

    Intl.Segmenter

    当请求 und 区域设置以及默认的 'grapheme' 粒度时, 使用带有扩展字素簇的 UAX #29 分段, 不进行定制。

    非字素分割器('word''sentence')应符合 UAX #29 和 UAX #14, 可能带有定制,但不得启用实现未对所有区域设置启用的定制。

    String.prototype.toLocaleLowerCase 和 String.prototype.toLocaleUpperCase

    当请求 und 区域设置时,将使用 Unicode 默认大小写转换算法将字符串转换为适当的大小写, 即我们应用与 String.prototype.toLowerCaseString.prototype.toUpperCase 已使用的相同规则。