# gt-node: General Translation Node.js SDK: derive URL: https://generaltranslation.com/ru/docs/node/reference/functions/derive.mdx --- title: derive description: Помечает вычисляемый контент как пригодный для Деривации при извлечении в General Translation. Справочник по API для `derive`. --- Помечает контент, вычисляемый из исходного кода, как пригодный для Деривации компилятором 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` возвращает ровно то, что получил, поэтому никак не влияет на значение. * **Недеривируемые значения.** Если выражение нельзя статически проанализировать, оберните его в [`declareVar`](/docs/node/reference/functions/declare-var) внутри вызова `derive`. ## Параметры [#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) для значений, которые невозможно статически определить.