Angular 5 - 日期 - 语言

qum*_*uma 8 date internationalization angular5

我在Angular 5应用程序中使用此表达式:

{{ viewDate | date:'MMM' }}
Run Code Online (Sandbox Code Playgroud)

月份缩写以英语显示.如何将输出切换为德语?

[求助] https://angular.io/api/core/LOCALE_ID

Phi*_*ner 6

正如您在编辑中指出的那样,您必须在应用程序中定义语言环境。DatePipe的文档说明

根据语言环境规则格式化日期。

管道必须像这样使用

{{ date_expression | date[:format[:timezone[:locale]]] }}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,管接受formattimezonelocale参数(除了待分析的实际为准)。进一步阅读文档说明

locale是一个字符串,用于定义要使用的语言环境(默认情况下使用当前的LOCALE_ID

这是有关LOCALE定义如何工作的内容。您可能希望将整个应用程序本地化为德语。首先,您要在AppModule中导入德语语言环境。

import { registerLocaleData } from '@angular/common';
import localeDe from '@angular/common/locales/de';

registerLocaleData(localeDe);
Run Code Online (Sandbox Code Playgroud)

现在您可以照常使用语言环境

@NgModule({
  // ...
  providers: [{provide: LOCALE_ID, useValue: 'de'}]
})
export class AppModule{}
Run Code Online (Sandbox Code Playgroud)

您的初始表达式{{viewDate | date:'MMM'}}现在应该输出德语本地化的缩写月份。