如何识别当前设置的“locale”

问题描述 投票:0回答:1

我知道如何为我的角度应用程序设置区域设置。例如,使用 DatePipe 时需要它。是否有可能从应用程序读取/获取当前区域设置?

要设置区域设置,我使用以下导入和方法:

import { default as localeDe } from '@angular/common/locales/de';
[...]
registerLocaleData(localeDe);

但是我找不到任何解决方案来获取有关先前设置的区域设置的信息,或者之前是否已注册过任何区域设置。

侧节点: 如何获取客户端/浏览器的当前语言环境已经很清楚了,这不是重点。这只是关于应用程序本身内部设置的区域设置。

我希望从当前应用程序状态中读取区域设置,以便以编程方式决定是否需要使用“registerLocaleData”设置区域设置。

angular internationalization locale
1个回答
2
投票

我自己仍在尝试掌握 Angular,但您可以尝试以下操作:

看看这个答案。 它说,您还应该在应用程序模块中设置一个提供程序:

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

然后你可以将

LOCALE_ID
注入你的构造函数中任何你想使用它的地方:

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

文档中有一些关于 LOCALE_ID 的信息。

© www.soinside.com 2019 - 2024. All rights reserved.