使用ICU消息格式的angular-l10n复数

时间:2018-11-09 14:28:29

标签: angular localization angular7 pluralize

我们正在使用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} }}"

0 个答案:

没有答案