Я пытаюсь добавить поддержку языка к 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">