8

我尝试在模板中使用带有参数的 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的水平低。

非常感谢。

4

2 回答 2

20

在 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>
于 2017-10-05T19:23:10.300 回答
6

当您提供键/值作为参数而不是数组时,它会起作用。

打字稿:

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." }
于 2016-11-08T09:54:06.057 回答