如何在运行时配置物料日期时间选择器的语言

时间:2019-07-11 14:51:36

标签: angularjs md-date-time-picker

我正在尝试为https://material.angularjs.org/latest/api/directive/mdDatepicker添加语言支持,我想在运行时更改语言。

https://material.angularjs.org/latest/api/service/$mdDateLocaleProvider 在加载应用程序之前,提供文档以配置语言。

但是我想根据用户的语言来更改语言,这可能与浏览器语言不同。

我正在做一种破解,将提供程序绑定到窗口对象,然后在应用程序加载时更改语言,但这也只能运行一次。在随后的语言更改中,此操作无效

我正在这样做

angular.module(ApplicationConfiguration.applicationModuleName).config([
  "$mdDateLocaleProvider",
  function($mdDateLocaleProvider) {
    window.mdDateLocaleProvider = $mdDateLocaleProvider;
  }
]);

然后在我的服务中更新标签语言

//localize calendar
 window.mdDateLocaleProvider.months = $filter("translate")(
  "CALENDAR.MONTH"
 ).split(" ");
 window.mdDateLocaleProvider.shortMonths = $filter("translate")(
  "CALENDAR.MONTH_SHORT"
 ).split(" ");
 window.mdDateLocaleProvider.days = $filter("translate")(
  "CALENDAR.DAYS"
 ).split(" ");
 window.mdDateLocaleProvider.shortDays = $filter("translate")(
  "CALENDAR.SHORT_DAYS"
 ).split(" ");

理想情况下,我认为mdDatePicker应该支持这样的内容,以便我们可以动态更改语言

<md-datepicker md-date-locale="en">

0 个答案:

没有答案