#angular #ngx-translate
#angular #ngx-translate
Вопрос:
Я использую Angular 11, и мне нужно, как получить все ключи файла json выбранного языка, используя библиотеку ngx-translate-core.
Мне это нужно, потому что мне нужно отфильтровать ключи для текущей загруженной страницы.
Как я могу это сделать?
Ответ №1:
//1- введите ‘TranslateService’ в ‘конструктор’ компонента, который // вы хотите вызвать ключами
constructor(private translate: TranslateService) {}
// 2- в ‘ngOnInit’
this.translate.getTranslation(this.translate.currentLang)
.subscribe(transAsJson => {
let allKeysAsString = Object.keys(transAsJson);
console.log(allKeysAsString)
});
это даст вам все ключи для текущего языка, но не сложные ключи для подобъектов в JSON, вам нужно будет проверить, является ли значение ключа сложным или нет. для примера, если значение файла JSON для текущего языка равно
{ «first»: «valuee», «second»: «valuee», «FirstSub_first»: «valuee», «FirstSub_second»: «valuee» } }
результат должен быть таким
['first', 'second', 'FirstSub']