L20n复数复数

时间:2015-08-17 15:20:10

标签: javascript localization l20n

根据 documentation example,图书馆可以支持“复杂语言复数”。

  

在Firefox下载面板中,会出现类似这样的字符串   下载文件:

     

4 hours, 1 minute and 26 seconds remaining

不幸的是,给定的示例似乎不适用于3.0.4版本。

HTML标记:

<span data-l10n-id="minutesAgo" data-l10n-args="{'minutes':52}">⁨</span>

语言文件(en-US.l20n):

# Date time
<pluralDateTime($n) {
  $n == 0 ? "zero" :
  $n % 100 == 1 ? "one" :
  $n % 100 == 2 ? "two" :
  $n % 100 == 3 || $n % 100 == 4 ? "few" :
  "many"
}>
<_minutes {
  one: "minute",
  two: "minutes",
  few: "minutes",
  many: "minutes"
}>

<minutesAgo "{{ $minutes }} {{ _minutes[pluralDateTime($minutes)] }} ago">

当前结果:

52 undefined ago

预期结果:

52 minutes ago

复数的当前语法是什么?

1 个答案:

答案 0 :(得分:2)

自定义复数宏目前仅在v1.x分支上可用。在3.x中,我们缩小了语法支持的范围,并专注于与HTML和webstack的集成。

在3.x中,您可以使用@cldr.plural全局下可用的内置复数宏。检查the en-US file in the examples/ folder以查看使用情况,或使用v3.x分支查看L20n Tinker的分支:http://stasm.github.io/tinker/

我们有一个todo项目来记录v3.x上语法支持的当前范围。一旦完成,我就会更新这个答案。