我正在尝试为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">