Angular Decimal Pipe 语言环境取决于浏览器

问题描述

我在我的 Angular 应用程序中使用 DecimalPipe 来显示数字,但问题是十进制管道的认语言环境是“en-us”。因此,一百万的格式为

1,000,000。然而,我是欧洲人,我希望它是 1 000 000。简单地在十进制管道中硬编码语言环境不是一种选择,因为我确实希望美国人在他们的语言环境中显示它,而欧洲人在我们的语言环境中显示它。

建议使用 LOCALE_ID 的一些解决方案。例如

constructor(
  @Inject(LOCALE_ID) public locale: string
) { }

即使我的浏览器在荷兰语中排在第一位(未指定国家/地区),在英语中排在第二位(也未指定国家/地区),但认为“en-us”。建议的其他一些解决方

providers: [ { provide: LOCALE_ID,useValue: 'fr' } ]

但话说回来,这是硬编码的,我需要它依赖于浏览器。另一种解决方案是通过 Navigator.language 请求用户的语言,但这通常只是一种语言,没有国家/地区,也没有区域设置。

我如何请求语言环境并回退例如'en-us' 什么时候找不到?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)