戻る

gt-react@10.15.0

Ernest McCarter avatarErnest McCarter
gt-reactderivetagged-templatei18n

概要

このリリースは、gt-reactReactコンテキストからの移行と、t タグ付きテンプレートマクロを踏まえたものです。derive()t タグ付きテンプレートリテラル内でも使えるようになりました。従来、derive() を使えるのは t() 関数呼び出しの中だけでした。

t("The {subject} is playing.", { subject: derive(getSubject(gender)) })

これで、テンプレートリテラルに直接書けます。

t`The ${derive(getSubject(gender))} is playing.`

仕組み

derive() は、関数が返しうるすべての値を CLI ツールに解析させ、値ごとに個別の翻訳エントリを作成します。これにより、言語ごとの文法的な一致を保てます。たとえばスペイン語では、「The boy is playing」と「The girl is playing」で異なる冠詞が必要になります (El niñoLa niña) 。

import { t } from "gt-react/browser";
import { derive } from "gt-react";

function getSubject(gender) {
  return gender === "male" ? "boy" : "girl";
}

function Component({ gender }) {
  return <p>{t`The ${derive(getSubject(gender))} is playing.`}</p>;
}

これにより、翻訳エントリが 2 つ作成されます:

  • "The boy is playing."
  • "The girl is playing."

リンク