Angular ngx 翻译缺少的语言环境数据

时间:2021-06-13 16:33:43

标签: angular date ngx-translate

我有一个使用 ngx translate 的 angular 应用程序。所以我想出了一个根据语言格式化日期的管道

@Pipe({
  name: 'localizedDate',
  pure: false
})
export class LocalizedDatePipe implements PipeTransform {
    
  constructor(private translateService: TranslateService) {
  }
    
  transform(value: any, pattern: string = 'shortDate'): any {
    const datePipe: DatePipe = new DatePipe(this.translateService.currentLang);
    return datePipe.transform(value, pattern);
  }
}

在本地我没问题,但是当我使用生产模式构建时,我遇到了以下问题:

我收到以下错误:

<块引用>

错误:InvalidPipeArgument:'缺少语言环境“fr”的语言环境数据。 ' 用于管道 't'

我从我的 api 获得的日期示例:2021-06-10T12:12:29.787428+00:00

1 个答案:

答案 0 :(得分:1)

这不是 ngx 翻译问题,在使用日期或货币管道等进行格式化之前,您需要向 Angular 注册区域设置数据。

例如法语版

    import localeFr from '@angular/common/locales/fr';
    import localeFrExtra from '@angular/common/locales/extra/fr';

...............    
    registerLocaleData(localeFr, 'fr', localeFrExtra);
    registerLocaleData(localeFr, 'fr-FR', localeFrExtra);