【问题标题】:Angular ngx translate missing locale data for the localeAngular ngx 为语言环境翻译缺失的语言环境数据
【发布时间】:2021-06-13 16:33:43
【问题描述】:

我有一个使用 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

【问题讨论】:

  • 您将哪些数据作为输入传递给管道?结果是什么?你期待什么?还有你现在的语言是什么?
  • aactuelle 语言是法语。我传输的值如下:2021-06-10T12:12:29.787428 我收到以下错误:错误:InvalidPipeArgument:'缺少区域设置“fr”的区域设置数据。 '代表管道't'

标签: angular date ngx-translate


【解决方案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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-07
    • 1970-01-01
    相关资源
    最近更新 更多