微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。