Невозможно изменить значения перевода существующего объекта перевода ngx translate
Я пытаюсь изменить значение свойства объекта внутри JSON-файла перевода с помощью ngx translate, но значение не меняется, все так же.
Я хочу, чтобы, когда я получал значения от API для динамического обновления его для объекта перевода, я пытался использовать метод setTranslation() и метод set(), но оба не работают, когда я пытаюсь утешить значение после обновления, оно показывает Правильно, но внутри HTML это не так.
Вот мой файл TS:
getDict() {
this.getDictionary.getDictionary('dictionary').subscribe(
res => {
console.log(res)
console.log('ar');
this.translateService.use('ar').subscribe(response => {
let config = [];
for (let i in res) {
if(res[i].language == 'ar') {
config[res[i].key] = res[i].value;
console.log('this is obj ', config);
this.translateService.get(config[res[i].key]).subscribe((result:
String) => {
console.log('tr res ', result);
console.log(this.translateService.get(res[i].key));
this.translateService.set(config[res[i].key],
config[res[i].value], 'ar');
});
}
}
})
this.translateService.getTranslation('ar').subscribe(res => {
console.log('this is the language translation ', res);
});
}
)
}
Мой HTML:
<div [translate]="'first_name'" [translateParams]="{value: 'world'}"></div>
Мой файл ar.json:
{
"admin": {
"first_name": "{{value}}"
}
}
Обратите внимание, что я проверил свой модуль приложения, никаких проблем с ним, он может прочитать файл перевода без проблем, я также рассмотрел ответ API, хорошо работает без ошибок, и я могу вернуть данные из него.
Пожалуйста, помогите, и если вам нужна дополнительная информация, сообщите мне.
1 ответ
Прежде всего - у вас есть ошибка в этой строке:
<div [translate]="'first_name'" [translateParams]="{value: 'world'}"></div>
Так должно быть:
<div [translate]="'admin.first_name'" [translateParams]="{value: 'world'}"></div>
Но если честно, я не понимаю твою проблему. Вы можете написать пошагово, что вам нужно?