私は現在、「LOCALE_ID」を「en-US」と定義しています。
@NgModule({
providers: [{ provide: LOCALE_ID, useValue: "en-US" }, ...],
imports: [...],
bootstrap: [...]
})
そしてそれはかなりうまく機能します。ただし、フランス語で日付がどのように見えるかをテストするために、「en-US」を「fr-FR」に置き換えて、エラーが発生しました。
ロケール「fr-FR」のロケールデータがありません。
私はいくつかの研究を行いましたが、それに関連するものは見つかりませんでした。フランス語のロケールはデフォルトのパッケージに含まれていますか?別のパッケージですか?自分で作成する必要がありますか?
ファイルapp.module.ts
...
import { NgModule, LOCALE_ID } from '@angular/core';
import { registerLocaleData } from '@angular/common';
import localeFr from '@angular/common/locales/fr';
registerLocaleData(localeFr);
@NgModule({
imports: [...],
declarations: [...],
bootstrap: [...],
providers: [
{ provide: LOCALE_ID, useValue: 'fr-FR'},
]
})
export class AppModule {}
(ソース: https://next.angular.io/guide/i18n )
そしてあなたのテンプレート(*.component.html
)
DATE in FRENCH: {{ dateEvent | date: 'longDate'}}
結果:
DATE in FRENCH: 25 mars 2018
ありがとう@Alan、あなたはこれを忘れてしまいました:import { registerLocaleData } from '@angular/common';
完全なコード:
import { registerLocaleData } from '@angular/common';
import localeFr from '@angular/common/locales/fr';
registerLocaleData(localeFr);
@NgModule({
imports: [...],
declarations: [...],
bootstrap: [...],
providers: [
{ provide: LOCALE_ID, useValue: 'fr-FR'},
]
})
export class AppModule {}
https://github.com/angular/angular-cli/issues/668 をご覧ください
これはあなたの場合かもしれません