缺少区域设置“de-DE”的区域设置数据

Posted

技术标签:

【中文标题】缺少区域设置“de-DE”的区域设置数据【英文标题】:Missing locale data for the locale "de-DE" 【发布时间】:2021-02-02 12:53:28 【问题描述】:

我正在使用 Angular 9

在我的一个组件中,我使用如下货币格式:

import  formatCurrency  from '@angular/common';
formatCurrency(23456, 'de-DE', '$')

在这里,如果我将 de-DE 作为文化传递,我会收到如下错误:

但是,如果我将文化作为 en-DE 传递,它就可以正常工作。

这里有什么问题?请帮忙。

【问题讨论】:

【参考方案1】:

默认情况下,angular 仅包含英语的语言环境数据。

如果您希望它工作,您将需要导入并注册正确的语言环境。

import  registerLocaleData  from '@angular/common';
import localeDe from '@angular/common/locales/de';
import localeDeExtra from '@angular/common/locales/extra/de';

registerLocaleData(localeDe, 'de-DE', localeDeExtra);

那么你应该可以使用它了。

在你的 app.module.ts 中注册语言环境是最有意义的

【讨论】:

这里我们从 '@angular/common/locales/extra/de' 加载 localeDeExtra 但我如何动态加载它?我从 API 获取文化代码,在这种情况下如何从文化代码中获取额外的? 如果不使用延迟加载,就无法动态加载它,所有导入都需要在编译时知道。您可以从这里导入所有语言环境:import '@angular/common/locales/global' 对于延迟加载,看看这个方法:angulararchitects.io/aktuelles/…

以上是关于缺少区域设置“de-DE”的区域设置数据的主要内容,如果未能解决你的问题,请参考以下文章

安装centos7出现这个,请问是怎么回事

如何将输入数据的区域设置为只能输入整数和两位小数

怎么用条件格式将一个区域设置为渐变填充蓝色(标准色)数据条?

怎么设置单元格区域不允许用户编辑

如何使用 Apache POI (SXSSF) 为特定单元格设置数据(数字)格式区域设置?

读取区域设置