缺少语言环境 "ru" Angular 5 的语言环境数据
Missing locale data for the locale "ru" Angular 5
我将 Angular 更新到版本 5 并收到此错误
在我看来,这一行中的管道错误
<h5>{{ event.date | date:"yyyy.MM.dd"}}</h5>
.
有人知道如何解决这个问题吗?
自从 angular 5 的重大变更后,您似乎没有更新您的管道
参见:https://github.com/angular/angular/blob/master/CHANGELOG.md
- 默认情况下 Angular 现在只包含该语言的区域设置数据
en-US,如果您将 LOCALE_ID 的值设置为另一个语言环境,您将
必须为此语言导入新的语言环境数据,因为我们不使用
国际 API 了。
- 所有 i18n 管道现在都有一个额外的最后一个参数区域设置,它允许您使用特定的区域设置而不是令牌中定义的区域设置 LOCALE_ID(其默认值为 en-US)。
预定义格式(short、shortTime、shortDate、medium,...)现在使用 CLDR 给出的模式(就像在 AngularJS 中一样),而不是来自国际 API。您可能会注意到一些变化,例如对于 en-US,shortDate 将是 8/15/17 而不是 8/15/2017。
eras 的窄版现在是 GGGGG 而不是 G,格式 G 现在类似于 GG 和 GGG。
- months 的缩略版现在是 MMMMM 而不是 L,L 格式现在是 months 的短独立版。
- 星期的缩略版现在是 EEEEE 而不是 E,格式 E 现在类似于 EE 和 EEE。
- 时区 z 现在将回退到 O 并输出 GMT+1 而不是完整的时区名称(例如太平洋标准时间),这是因为在所有现有的语言环境太大。
时区 Z 现在将输出 ISO8601 基本格式,例如+0100,您现在应该使用 ZZZZ 获取 GMT+01:00。
你应该改变你的日期管道
Also you need to provide your language in app.module like this:
我更新了 app.mudule.ts 以本地化日期。
// app.mudule.ts
...
import { NgModule, LOCALE_ID } from '@angular/core';
import { registerLocaleData } from '@angular/common';
import localeRu from '@angular/common/locales/ru';
registerLocaleData(localeRu);
@NgModule({
...
providers: [
...
{ provide: LOCALE_ID, useValue: 'ru' }
],
bootstrap: [AppComponent]
})
// feed-list-item.component.html (nothing was updated here)
...
<span>{{ event.date | date:'fullDate'}}</span>
...
快速修复:为您的语言环境添加导入。对于 'ru',您应该在 app.module 中添加以下行:
import '@angular/common/locales/global/ru';
我将 Angular 更新到版本 5 并收到此错误
在我看来,这一行中的管道错误
<h5>{{ event.date | date:"yyyy.MM.dd"}}</h5>
.
有人知道如何解决这个问题吗?
自从 angular 5 的重大变更后,您似乎没有更新您的管道 参见:https://github.com/angular/angular/blob/master/CHANGELOG.md
- 默认情况下 Angular 现在只包含该语言的区域设置数据 en-US,如果您将 LOCALE_ID 的值设置为另一个语言环境,您将 必须为此语言导入新的语言环境数据,因为我们不使用 国际 API 了。
- 所有 i18n 管道现在都有一个额外的最后一个参数区域设置,它允许您使用特定的区域设置而不是令牌中定义的区域设置 LOCALE_ID(其默认值为 en-US)。
预定义格式(short、shortTime、shortDate、medium,...)现在使用 CLDR 给出的模式(就像在 AngularJS 中一样),而不是来自国际 API。您可能会注意到一些变化,例如对于 en-US,shortDate 将是 8/15/17 而不是 8/15/2017。
eras 的窄版现在是 GGGGG 而不是 G,格式 G 现在类似于 GG 和 GGG。
- months 的缩略版现在是 MMMMM 而不是 L,L 格式现在是 months 的短独立版。
- 星期的缩略版现在是 EEEEE 而不是 E,格式 E 现在类似于 EE 和 EEE。
- 时区 z 现在将回退到 O 并输出 GMT+1 而不是完整的时区名称(例如太平洋标准时间),这是因为在所有现有的语言环境太大。
时区 Z 现在将输出 ISO8601 基本格式,例如+0100,您现在应该使用 ZZZZ 获取 GMT+01:00。
你应该改变你的日期管道
Also you need to provide your language in app.module like this:
我更新了 app.mudule.ts 以本地化日期。
// app.mudule.ts
...
import { NgModule, LOCALE_ID } from '@angular/core';
import { registerLocaleData } from '@angular/common';
import localeRu from '@angular/common/locales/ru';
registerLocaleData(localeRu);
@NgModule({
...
providers: [
...
{ provide: LOCALE_ID, useValue: 'ru' }
],
bootstrap: [AppComponent]
})
// feed-list-item.component.html (nothing was updated here)
...
<span>{{ event.date | date:'fullDate'}}</span>
...
快速修复:为您的语言环境添加导入。对于 'ru',您应该在 app.module 中添加以下行:
import '@angular/common/locales/global/ru';