戻る

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.0derive() が拡張され、オブジェクトや配列から値を解決できるようになりました。そして 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 タグ付きテンプレートマクロには影響しません。こちらは、gt-react@10.15.0 で導入されたテンプレートリテラル構文によって、すでに導出を処理できるためです。

リンク