如何在不使用ngx-translate-messageformat-compiler插件的ngx-translate中使用复数

时间:2019-09-06 09:09:25

标签: angular angular8 ngx-translate

我在使用ngx-translate-messageformat-compiler插件时遇到了问题(添加复数形式后json文件解析失败)。 ¿还有其他选择吗?

1 个答案:

答案 0 :(得分:1)

我决心实现自定义管道:

管道

@Pipe({
  name: 'pluralTranslate',
  pure: false
})
export class PluralTranslatePipe implements PipeTransform {

  transform(key: string, number: number): string {

    return `${key}.${number == 0 ? 'none' : number == 1 ? 'singular' : 'plural'}`;
  }
}

使用

{{ 'daysNumber' | pluralTranslate:2 | translate:{ days: 2} }}

消息

{
"daysNumber": {
      "none": "",
      "singular": "{{ days }} day",
      "plural": "{{ days }} days"
    },
}