如何识别当前设置的“语言环境”

时间:2019-10-23 09:47:53

标签: angular

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

要设置语言环境,请使用以下导入和方法:

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

但是我找不到任何解决方案,即无法获取有关先前设置的语言环境的信息,或者如果以前已注册过任何语言环境,则找不到该信息。

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

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

1 个答案:

答案 0 :(得分:0)

我仍在尝试摆脱Angular的困扰,但您可以尝试以下操作:

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

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

然后,您可以在要使用LOCALE_ID的构造器中使用它:

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

documentation中有一些有关LOCALE_ID的信息。