Использование ng2-translate с параметрами

Я попытался использовать ng2-translate с параметрами в шаблоне:

{{ test | translation:{value:param} }}

И это работает отлично. Я хотел бы построить свой перевод в моем машинописном тексте, и я увидел эту функцию:

get(key: string|Array<string>, interpolateParams?: Object): Observable<string|Object>

Но я не знаю, как его использовать.

Ребята, у вас есть пример?

Мой случай:

en.json:

{ "test":"the level of {value1} and {value2} is low."}

машинопись:

let message:string = "";
let parametres = ["1", "2"];
this._translateService.get("test", parametres).subscribe((res:string) => {
    message += res;
});

Хотелось бы иметь: Уровень 1 и 2 низкий.

Большое спасибо.


person Julien Moreau    schedule 02.11.2016    source источник
comment
Вы на самом деле используете канал translation? Разве это не должно быть translate?   -  person superjos    schedule 29.12.2016


Ответы (2)


Это работает, когда вы предоставляете ключ/значение в качестве параметров вместо массива.

машинопись:

let message:string = "";
let parametres = {value1: "1", value2: "2"};
this._translateService.get("test", parametres).subscribe((res:string) => {
    message += res;
});

Также согласно документам вы должны объявлять заполнители двойными фигурными скобками.

en.json:

{ "test": "the level of {{value1}} and {{value2}} is low." }
person Anton Biller    schedule 08.11.2016
comment
Вы также должны проверить, не зависает ли Observable. В моем случае перевод загрузился не полностью и Observable так ничего и не вернул. - person Anton Biller; 08.11.2016
comment
Пробовал поставить на карту, не получается. Я собираюсь попробовать объект напрямую. Большое спасибо. - person Julien Moreau; 09.11.2016

В файле en_US.json следуйте приведенному ниже формату, чтобы включить x и y (которые будут нашими параметрами, которые мы хотим заменить числами.

{"Showing": "Showing {{x}} of {{y}}"}

В component.ts min, max будут переменными, которые мы заполняем.

  min: number;
  max: number;

и следующее будет частью component.html

<span> {{ 'Showing' | translate:{x: min, y: max} }} </span>
person rt1989    schedule 05.10.2017
comment
@AJQarshi j Q выдает мне следующую ошибку: Неперехваченная ошибка: Ошибки синтаксического анализа шаблона: Ошибка анализатора: Отсутствует ожидаемый } в конце выражения [{{'XXXXXXX' | перевести:{ minValue: 50, maxValue: 100 }}}] - person Hany; 06.02.2018
comment
@Hany Вам не хватает места. В этом проблема. Используйте 1_. Обратите внимание на пробел в конце } }}]. - person A J Qarshi; 06.02.2018
comment
@AJQarshi j Q Ооо!... Сработало!... неожиданная причина ошибки, спасибо - person Hany; 06.02.2018