Перевести значение переменной с помощью ngx-translate

Нужна помощь с ngx-translate В компоненте html есть

{{data.value | translate}}

In ts

data = {value: 'foo.bar'}

В i18n en.json

"foo": {
    "bar": "hello"
}

Вместо приветствия я получаю foo.bar в представлении.


person Yasha Gasparyan    schedule 08.10.2020    source источник


Ответы (1)


Если вы хотите использовать прямо в Html, сделайте, как показано ниже

{{'foo.bar' | translate}}

обратитесь по ссылке ниже и посмотрите, как переводится <h2>{{ 'HOME.TITLE' | translate }}</h2>

https://stackblitz.com/github/ngx-translate/example?file=src%2Fapp%2Fapp.component.ts

Если вы хотите иметь переводы для переменных в TS, используйте методы translate.get и translate.stream, как показано ниже

in TS:

let value = translate.get('foo.bar').subscribe((res: string) => {
    return res;
});

в Html

{{value}}
person Vinita    schedule 08.10.2020
comment
Это просто упрощенный пример. Собственно, в моем проекте мне нужна переменная из ts. Это проблема. - person Yasha Gasparyan; 08.10.2020
comment
@YashaGasparyan Я отредактировал ответ, будет легче дать точное решение, если вы добавите образец кода, в котором возникает проблема - person Vinita; 08.10.2020
comment
Судя по всему, проблема заключалась в неправильных значениях на стороне сервера. Ngx-translate работал, как ожидалось. Спасибо за помощь. - person Yasha Gasparyan; 08.10.2020