Angular 动态更改剑道用户界面中的区域设置\u ID,以便

Angular 动态更改剑道用户界面中的区域设置\u ID,以便,angular,kendo-ui-angular2,Angular,Kendo Ui Angular2,如何动态更改区域设置\u ID? 目前我在app.module providers中进行了设置: { provide: LOCALE_ID, useValue: "sl-SI" }, 并使用require加载资源(如我在中发现的): 但我想在用户更改语言时动态地更改它 使用更改翻译非常简单,只需调用translate.use('en') 如何实现相同的国际化用户体验? 我想我需要动态加载cldr data*.json文件,然后呢?这个功能目前正在为Angular的剑道用户界面开发中 也是Git

如何动态更改区域设置\u ID?
目前我在app.module providers中进行了设置:

{ provide: LOCALE_ID, useValue: "sl-SI" },
并使用require加载资源(如我在中发现的):

但我想在用户更改语言时动态地更改它

使用更改翻译非常简单,只需调用
translate.use('en')
如何实现相同的国际化用户体验?

我想我需要动态加载
cldr data*.json
文件,然后呢?

这个功能目前正在为Angular的剑道用户界面开发中


也是GitHub上问题的链接。

LOCALE\u ID由Angular DI提供,它是静态的。也就是说,您不能在开箱即用的情况下动态修改区域设置ID。唯一可行的解决方案是定义一个单独的ngmodule,使用不同的LOCALE_ID值。注:这是特定于角度DI的,适用于所有静态值。
import { load } from '@telerik/kendo-intl';
load(
    //supplemental data
    require("../cldr-data/supplemental/likelySubtags.json"),
    require("../cldr-data/supplemental/weekData.json"),
    require("../cldr-data/supplemental/currencyData.json"),

    //locale data
    require("../cldr-data/main/sl/numbers.json"),
    require("../cldr-data/main/sl/currencies.json"),
    require("../cldr-data/main/sl/dateFields.json"),
    require("../cldr-data/main/sl/ca-gregorian.json"),
    require("../cldr-data/main/sl/timeZoneNames.json")
);