如何在全球范围内正确设置Angular语言环境?

时间:2019-07-04 13:24:05

标签: angular date

我正在尝试在Angular应用中将法语设置为全局语言环境。

在文档之后,这就是我在app.module.ts中所做的:

import { registerLocaleData } from '@angular/common'
import localeFr from '@angular/common/locales/fr'

registerLocaleData(localeFr, 'fr-FR')

在自定义管道中,我想使用@angular/common的{​​{1}},但是它需要一个formatDate参数。有什么方法可以获取我注册的语言环境?

我也曾尝试提供localeLOCALE_ID),但似乎无法不注入就无法使用它。在这种情况下,我不确定使用{ provide: LOCALE_ID, useValue: 'fr-FR' }是否有用? (如果是,我想了解原因)

顺便说一句,我不想​​在构造函数中注入registerLocaleData(),因为我只需要使用DatePipe,这会使我的单元测试更加复杂。

1 个答案:

答案 0 :(得分:0)

尝试导入localeFrExtra并将其与注册功能一起使用:

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

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

来自Angular Documentation

  

@ angular / common / locales中的文件包含您所需的大多数语言环境数据,但是某些高级格式化选项可能仅在可从@ angular / common / locales / extra导入的额外数据集中可用。在这种情况下,将显示一条错误消息。