Angular 动态更改剑道用户界面中的区域设置\u ID,以便
如何动态更改区域设置\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
目前我在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")
);