根据l20n 文档示例的说法,这个库可以支持“复杂的语言复数”。
在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当前用于复数的语法是什么?
发布于 2015-08-17 15:32:20
自定义复数宏目前只在v1.x分支上可用。在3.x中,我们缩小了语法支持的范围,并将重点放在与HTML和we堆栈的集成上。
在3.x中,您可以使用@cldr.plural全局下可用的内置复数宏。检查示例/文件夹中的en-US文件以查看使用情况,或者查看使用v3.x分支的L20n分叉:http://stasm.github.io/tinker/。
我们有一个todo项来记录v3.x上语法支持的当前范围。一旦完成,我将更新这个答案。
https://stackoverflow.com/questions/32054031
复制相似问题