# gt: General Translation CLI tool: 自動導出された翻訳を使用する URL: https://generaltranslation.com/ja/docs/cli/guides/using-autoderive.mdx --- title: 自動導出された翻訳を使用する description: General Translation CLI の Autoderive を使って、各補間値ごとに個別の翻訳エントリを自動生成する方法。 related: links: - /docs/cli/guides/using-auto-jsx - /docs/cli/guides/generating-translations - /docs/cli/guides/managing-translations - /docs/cli/guides/configuring --- Autoderive は補間値を [`derive()`](/docs/react/reference/functions/derive) でラップされているものとして解析し、取り得る各値ごとに個別の翻訳エントリを生成します。これにより、文に変数が含まれる場合でも、言語ごとの語形一致や活用を適切に保てます。 Autoderive はデフォルトで無効になっており、2 つの場面で適用されます。1 つは `t()`、`gt()`、`msg()` 呼び出し内の補間値、もう 1 つは `const` 宣言を参照する [``](/docs/react/reference/components/t) コンポーネント内の式です。 ## autoderive を有効にする [#enable] `gt.config.json` の `files.gt.parsingFlags` で `autoderive` を設定します。ブール値を指定すると、strings と JSX の両方で有効になります。 ```json title="gt.config.json" { "files": { "gt": { "parsingFlags": { "autoderive": true } } } } ``` 文字列のみ、または JSX のみで有効にするには、オブジェクトを渡します。 ```json title="gt.config.json" { "files": { "gt": { "parsingFlags": { "autoderive": { "jsx": true, "strings": false } } } } } ``` ## 文字列値を derive [#strings] Autoderive を有効にすると、翻訳呼び出し内の補間値ごとに、取り得る各値に対応する 1 つのエントリが生成されます。 ```jsx const gt = useGT(); const role = isAdmin ? 'admin' : 'user'; // 派生として解析 — 以下を生成: // "Welcome back, admin!" → "¡Bienvenido de nuevo, administrador!" // "Welcome back, user!" → "¡Bienvenido de nuevo, usuario!" gt(`Welcome back, ${role}!`); ``` Autoderive を使わない場合でも、[`derive()`](/docs/react/reference/functions/derive) を明示的に呼び出せば同じ結果になります。 ## JSX の値を導出する [#jsx] `` コンポーネント内では、Autoderive が式内で参照されている `const` 変数を評価し、各値に対応するエントリを生成します。 ```jsx const label = condition ? 'boy' : 'girl'; // 2つのエントリを生成します: // "Hello, boy" → "Hola, chico" // "Hello, girl" → "Hola, chica" Hello, {label} ``` JSX 向けの autoderive は、三項演算子およびネストした三項演算子式、文字列・数値・真偽値リテラル、文字列結合とテンプレートリテラル、さらに連鎖した `const` 参照をサポートしています。 *注: サポートされるのは `const` 宣言のみです。`let` と `var` は再代入される可能性があるため警告が表示され、`const { x } = obj` のような分割代入の変数はサポートされません。`t` の tagged template macro は影響を受けず、テンプレートリテラル構文を通じて導出を処理します。* ## Next steps - /docs/cli/guides/using-auto-jsx - /docs/cli/guides/generating-translations - /docs/cli/guides/managing-translations - /docs/cli/guides/configuring