戻る

gt@2.13.0

Ernest McCarter avatarErnest McCarter
gtderivet-functiondx

概要

t() 関数が動的コンテンツを自動的に導出するようになり、変数を derive() でラップする必要がなくなりました。これはデフォルトで有効になっており、GT CLI ですぐに使えます。

これは、一連の derive() 改善における最新のステップです。まず、gt-react@10.15.0 で、t タグ付きテンプレートリテラルに derive() のサポートが追加されました。次に、gt@2.12.0 で、derive() がオブジェクトと配列から値を取得できるように拡張されました。そして今回、gt@2.13.0 により、t() の使用時に derive() をまったく呼び出す必要がなくなりました。

変更前 & 変更後

以前は、t() 内で動的な値を使うには、明示的に derive() を呼び出す必要がありました:

const noun = cond ? "boy" : "girl"
const result = t("The " + derive(noun))

では、変数を直接使用するだけです:

const noun = cond ? "boy" : "girl"
const result = t("The " + noun)

CLI (コマンドラインインターフェース) は、t() 呼び出しを解析する際に導出を自動的に行います。取り得る文字列の値が有限個の変数を検出し、内部でそれらを導出します。

設定

Auto-derive はデフォルトで有効です。無効にするには、gt.config.jsonautoDerivefalse に設定してください。

{
  "files": {
    "gt": {
      "parsingFlags": {
        "autoDerive": false
      }
    }
  }
}

注: これは t() 関数にのみ適用されます。t tagged template macro には影響ありません。これは、gt-react@10.15.0 で導入されたテンプレートリテラル構文を通じた導出に、すでに対応しているためです。

リンク