问题描述
我在我的 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 (将#修改为@)