根据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
复数的当前语法是什么?
答案 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上语法支持的当前范围。一旦完成,我就会更新这个答案。