Как изменить сообщение "Неверная дата" в загрузчике даты ngx, не находясь в модулях узла
Я изменил язык моего средства выбора даты, но появившееся сообщение все еще на английском языке. Я знаю, что это внутри ngx-bootstrap / chronos / locale / locale.defaults.ts, где он приносит следующую информацию
export declare const defaultInvalidDate = "Invalid date";
Я также хотел бы изменить это сообщение. Есть ли какая-либо информация, которую я должен добавить к "input [bsConfig] =" ... В любом случае, где я могу изменить это сообщение, не перемещая папку Node Modules? Спасибо.
1 ответ
Мне наконец удалось это сделать:
Вы можете импортировать свой LocaleData
объект и функция defineLocale
:
import {enGbLocale} from 'ngx-bootstrap/locale';
import {BsLocaleService, defineLocale} from 'ngx-bootstrap';
Затем в вашем конструкторе вы можете получить доступ ко всем атрибутам enGbLocale
и измените его:
constructor(private localeService: BsLocaleService) {
enGbLocale.invalidDate = 'Custom label';
defineLocale('custom locale', enGbLocale);
this.localeService.use('custom locale');
}
Создайте адаптер для перезаписи по умолчанию BsDatepickerConfig
в формат, который не вызовет ошибку
В основном модуле, куда вы включаете BsDatePicker
@NgModule({
providers: [
{ provide: BsDatepickerConfig, useFactory: NaoDatepickerConfig },
....
]
}
nao-date-picker.adapter.ts
import { BsDatepickerConfig } from 'ngx-bootstrap/datepicker';
export function NaoDatepickerConfig(): BsDatepickerConfig {
return Object.assign(new BsDatepickerConfig(), {
dateInputFormat: 'YYYY-MM-DD'
});
}