Я использую angular таблицы данных для привязки данных, а также ngx-translate для перевода легенд таблицы данных. До сих пор я мог связывать данные и применял перевод к заголовкам таблиц. На панели навигации есть выпадающий список, который меняет язык. Мне также нужно применить перевод к dtOptions при смене языка.
<table datatable [dtOptions]="dtOptions" [dtTrigger]="dtTrigger"
class="table table-striped table-bordered table-sm row-border hover">
<thead>
<tr>
<th><span translate="Division"></span></th>
</tr>
</thead>
<tbody>
<tr *ngFor="let emp of empdata">
<td>{{emp.DivisionID}}</td>
</tr>
</tbody>
</table>
, и вот мой компонент для загрузки dtOptions, я могу обнаружить изменение языка:
ngOnInit() {
this.translate.get(this.dataTableTranslations).subscribe(result=>{
this.dtOptions = {
pagingType: 'full_numbers',
pageLength: 10,
"responsive": true,
"autoWidth": false,
language: {
search: `${result['searchResult']} :`,
}
};
})
this.languageService.currentLanguage.subscribe(data=>{
this.translate.get(this.dataTableTranslations).subscribe(result=>{
this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {
this.dtOptions = {
pagingType: 'full_numbers',
pageLength: 10,
"responsive": true,
"autoWidth": false,
language: {
search: `${result['searchResult']} :`,
}
};
dtInstance.destroy();
this.dtTrigger.next();
});
})
})
}
Всякий раз, когда Я меняю язык с выпадающего перевода, но он меняется, но в то же время он возвращается к предыдущему тексту для поиска. Например, если я перехожу с английского на английский язык sh, текст 'search' отражает изменение, но снова возвращается к тексту на английском языке sh, но если я снова изменяю его с французского на английский sh, он показывает французский текст для поиска и после каждого последующего изменения языка он меняет язык, но не в первый раз. Любая помощь