我们正在使用angular-l10n软件包进行测试,以在我们的angular 7项目中实现本地化。复数翻译给我们带来了一些挑战。我们正尝试移植一些用于角度JS实现中的西班牙语翻译,如下所示:
"unit": "{{count, plural, =1 {unidad} other {unidades} }}"
这与此处的ICU消息格式一致-http://userguide.icu-project.org/formatparse/messages“
但是,i18nPluralPipe的pluralMap变量不支持此格式。我能够使用如下的pluralMap变量来实现:
itemPluralMapping = {
'unit': {
'=0': 'unit', '=1': 'unit', 'other': 'units'
}
}
使用以下模板:
<p>{{units | i18nPlural:itemPluralMapping['unit'] | translate:lang}}</p>
我甚至可以将其直接放入模板,如下所示:
<span i18n>{count, plural, =1 {{{'unit' | translate:lang }}} other {{{'units' | translate:lang }}}}</span>
但是,locale-es.json中的以下条目如何工作?
"unit": "{{count, plural, =1 {unidad} other {unidades} }}"