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 に答える