# gt-node: General Translation Node.js SDK: derive URL: https://generaltranslation.com/zh/docs/node/reference/functions/derive.mdx --- title: derive description: 将计算得到的内容标记为可派生,以便 General Translation 提取。derive 的 API 参考。 --- 将从源代码计算得到的内容标记为可由 General Translation 编译器和 CLI 派生。当译文中的字符串插入了一个应在提取期间识别、而不是视为运行时变量的值时,请使用 `derive`。 ## 概览 [#overview] 在翻译字符串中使用 `derive` 包裹一个计算表达式。CLI 会将该表达式解析为所有可能的静态值,并将这些值包含到待翻译的源内容中。在运行时,`derive` 会不加修改地返回其参数。 ```ts import { derive, getGT } from 'gt-node'; const gt = await getGT(); const message = gt(`My name is ${derive(getSubject())}`); ``` 签名: ```ts derive(content: T): T ``` *注意:`derive` 是一个编译时标记。添加或修改 `derive` 调用后,请运行 `gt validate`,以确认 CLI 能解析每个可推导的表达式。* ## 工作原理 [#how-it-works] * **提取提示。** CLI 会尝试将包裹的表达式解析为其所有可能的静态值,并将它们加入发送翻译的内容中。 * **运行时透传。** 在 运行时 中,`derive` 会原样返回接收到的内容,因此不会对该值产生任何影响。 * **不可推导的值。** 当某个表达式无法被静态分析时,请在 `derive` 调用中使用 [`declareVar`](/docs/node/reference/functions/declare-var) 将其包裹起来。 ## 参数 [#parameters] | 参数 | 说明 | 类型 | 可选 | 默认值 | | --------------------- | ----------- | -------------------------------------------------- | -- | --- | | [`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) 使用。