web-dev-qa-db-ja.com

パラメータでng2-translateを使用する

テンプレートのパラメーターでng2-translateを使用しようとしました。

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

そしてそれは完璧に機能します。 TypeScriptで翻訳を作成したいのですが、次の関数が表示されました。

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

でも使い方がわかりません。

例はありますか?

私の場合は:

en.json:

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

TypeScript:

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

欲しいのですが、1と2のレベルが低いです。

どうもありがとう。

5
Julien Moreau

配列ではなくパラメータとしてキー/値を指定すると機能します。

TypeScript:

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." }
5
Anton Biller

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>
14
rt1989