JS Intl.PluralRules

🌙
手机阅读
本文目录结构

该对象的英文请立即获取 iTunes 多种敏感格式状语从句:多种语言规则的对象的构造函数。Intl.PluralRules

语法

new Intl.PluralRules([locales[, options]]) 
Intl.PluralRules.call(this[, locales[, options]])

参数

locales

可选的。一个带有 BCP 47 语言标签的字符串或这种字符串的数组。有关参数的一般形式和解释 locales,请参阅 Intl page。

options

可选的,具有部分或全部以下属性的对象:

localeMatcher

要使用的语言环境匹配算法。可能的值是"lookup"和"best fit"; 默认是"best fit"。有关此选项的信息,请参阅 Intl page。

type

要使用的类型。可能的值是:

  • “cardinal"对于基数(指的是事物的数量)。这是默认值。
  • “ordinal” 对于序号(指的是事物的排序或排名,例如英文中的“1st”,“2nd”,“3rd”)。

描述

属性

Intl.PluralRules.prototype

允许为所有对象添加属性。

方法

Intl.PluralRules.supportedLocalesOf()

返回一个数组,其中包含提供的语言环境的支持,而不必回退到运行时的默认语言环境。

PluralRules 实例

属性

PluralRules 实例从其原型继承了以下属性:

Intl.PluralRules.prototype.constructor

A reference to Intl.PluralRules.

方法

PluralRules 实例从它们的原型继承了以下方法:

Intl.PluralRules.prototype.resolvedOptions()

Returns a new object with properties reflecting the locale and collation options computed during initialization of the object.

Intl.PluralRules.prototype.select()

Returns a String indicating which plural rule to use for locale-aware formatting.

例子

基本用法

在没有指定语言环境的基本使用中,返回默认语言环境中的格式化字符串和默认选项。这有助于区分单数和复数形式,例如“dog”和“dogs”。

var pr = new Intl.PluralRules();

pr.select(0);
// → 'other' if in US English locale

pr.select(1);
// → 'one' if in US English locale

pr.select(2);
// → 'other' if in US English locale

运用 locales

这个例子展示了局部复数规则的一些变化。为了获得应用程序用户界面中使用的语言格式,请确保使用 locales 参数指定该语言(可能还有一些备用语言):

// Arabic has different plural rules

new Intl.PluralRules('ar-EG').select(0);
// → 'zero'
new Intl.PluralRules('ar-EG').select(1);
// → 'one'
new Intl.PluralRules('ar-EG').select(2);
// → 'two'
new Intl.PluralRules('ar-EG').select(6);
// → 'few'
new Intl.PluralRules('ar-EG').select(18);
// → 'many'

运用 options

可以查询查询结果使用 options 参数进行自定义,该参数具有一个 type 您可以设置的属性 ordinal。这对计算序数指标很有用,例如“第一”,“第二”,“第三”,“第四”,“42”等。

var pr = new Intl.PluralRules('en-US', { type: 'ordinal' });

pr.select(0);
// → 'other'
pr.select(1);
// → 'one'
pr.select(2);
// → 'two'
pr.select(3);
// → 'few'
pr.select(4);
// → 'other'
pr.select(42);
// → 'two'

规范

规范 状态 评论
国际复数规则草案 Draft 初始定义

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了