复数

您所在的位置:网站首页 grapfruit复数 复数

复数

2024-05-27 21:24| 来源: 网络整理| 查看: 265

# 复数

你可以使用复数进行翻译。你必须定义具有管道 | 分隔符的语言环境,并在管道分隔符中定义复数。

*您的模板将需要使用 $tc() 而不是 $t()。

语言环境信息如下:

const messages = { en: { car: 'car | cars', apple: 'no apples | one apple | {count} apples' } }

模板如下:

{{ $tc('car', 1) }} {{ $tc('car', 2) }} {{ $tc('apple', 0) }} {{ $tc('apple', 1) }} {{ $tc('apple', 10, { count: 10 }) }}

输出如下:

car cars no apples one apple 10 apples # 通过预定义的参数访问该数字

你无需明确指定复数的数字。可以通过预定义的命名参数 {count} 和/或 {n} 在语言环境信息中访问该数字。如有必要,你可以覆盖这些预定义的命名参数。

语言环境信息如下:

const messages = { en: { apple: 'no apples | one apple | {count} apples', banana: 'no bananas | {n} banana | {n} bananas' } }

模板如下:

{{ $tc('apple', 10, { count: 10 }) }} {{ $tc('apple', 10) }} {{ $tc('banana', 1, { n: 1 }) }} {{ $tc('banana', 1) }} {{ $tc('banana', 100, { n: 'too many' }) }}

输出如下:

10 apples 10 apples 1 banana 1 banana too many bananas # 自定义复数

但是,这种多元化并不适用于所有语言(例如,斯拉夫语言具有不同的多元化规则)。

为了实现这些规则,您可以将可选的 pluralizationRules 对象传递给VueI18n 构造函数选项。

使用针对斯拉夫语言(俄语,乌克兰语等)的规则的非常简化的示例:

new VueI18n({ // Key - 在这种情况下,用于规则 `'ru'` 的语言 // Value - 选择正确的复数形式的功能 pluralizationRules: { /** * @param choice {number} 输入给$的选择索引 $tc:`$tc('path.to.rule', choiceIndex)` * @param choicesLength {number} 可用选择总数 * @returns 最终选择索引以选择复数单词 */ 'ru': function(choice, choicesLength) { // this === VueI18n 实例,因此本地属性也存在于此 if (choice === 0) { return 0; } const teen = choice > 10 && choice


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3