我正在尝试在Angular应用中将法语设置为全局语言环境。
在文档之后,这就是我在app.module.ts中所做的:
import { registerLocaleData } from '@angular/common'
import localeFr from '@angular/common/locales/fr'
registerLocaleData(localeFr, 'fr-FR')
在自定义管道中,我想使用@angular/common
的{{1}},但是它需要一个formatDate
参数。有什么方法可以获取我注册的语言环境?
我也曾尝试提供locale
(LOCALE_ID
),但似乎无法不注入就无法使用它。在这种情况下,我不确定使用{ provide: LOCALE_ID, useValue: 'fr-FR' }
是否有用? (如果是,我想了解原因)
顺便说一句,我不想在构造函数中注入registerLocaleData()
,因为我只需要使用DatePipe
,这会使我的单元测试更加复杂。
答案 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 / common / locales中的文件包含您所需的大多数语言环境数据,但是某些高级格式化选项可能仅在可从@ angular / common / locales / extra导入的额外数据集中可用。在这种情况下,将显示一条错误消息。