# gt-node: General Translation Node.js SDK: derive
URL: https://generaltranslation.com/ja/docs/node/reference/functions/derive.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: General Translation の抽出で、ソースコードから計算されるコンテンツを導出可能としてマークします。derive の API リファレンス。

導出可能なコンテンツはソースコード内で計算されますが、CLI が翻訳可能な固定の値の集合に解決されます。翻訳された string に、ランタイム 変数として扱うのではなく、抽出時に検出すべき値が補間される場合は、`derive` を使用します。

## 概要 [#overview]

翻訳された string内で、計算式を `derive` で囲みます。CLI はその式を取り得るすべての静的な値に展開し、それらの値を翻訳対象のソースコンテンツに含めます。Runtime では、`derive` は引数をそのまま返します。

```ts
import { derive, getGT } from 'gt-node';

const gt = await getGT();
const message = gt(`My name is ${derive(getSubject())}`);
```

シグネチャ:

```ts
derive<T extends string | boolean | number | null | undefined>(content: T): T
```

*注: `derive` はコンパイル時マーカーです。`derive` 呼び出しを追加または変更したら、CLI が各導出可能な式を正しく解決できることを確認するために [`gt validate`](/docs/cli/reference/commands/validate) を実行してください。*

## 仕組み [#how-it-works]

* **抽出ヒント。** CLI は、ラップされた式が取りうる静的な値をすべて解決しようとし、それらを翻訳対象として送信するコンテンツに追加します。
* **Runtime パススルー。** 実行時の `derive` は、受け取った値をそのまま返すため、値自体には影響しません。
* **導出できない値。** 式を静的に解析できない場合は、`derive` 呼び出しの中で [`declareVar`](/docs/node/reference/functions/declare-var) でラップしてください。

## パラメーター [#parameters]

| パラメーター                | 説明                       | Type                                               | 任意  | デフォルト |
| --------------------- | ------------------------ | -------------------------------------------------- | --- | ----- |
| [`content`](#content) | 導出可能 としてマークするコンテンツ。 | `string \| boolean \| number \| null \| undefined` | いいえ | —     |

### `content` [#content]

**型** `string | boolean | number | null | undefined` · **必須**

翻訳抽出のために、導出可能としてマークするコンテンツです。

## 戻り値 [#returns]

**型** `T`

ランタイムでも変更されない同じ内容。

## 例 [#examples]

```ts
import { derive, getGT } from 'gt-node';

function getSubject() {
  return Math.random() > 0.5 ? 'Alice' : 'Brian';
}

const gt = await getGT();
const greeting = gt(`My name is ${derive(getSubject())}`);
```

## メモ [#notes]

* `derive` が影響するのは抽出時のみで、ランタイム値が変更されることはありません。
* 静的に解決できない値には、[`declareVar`](/docs/node/reference/functions/declare-var) を組み合わせて使用してください。

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
