# gt: General Translation CLI tool: Использование автоматически выводимых переводов URL: https://generaltranslation.com/ru/docs/cli/guides/using-autoderive.mdx --- title: Использование автоматически выводимых переводов description: Как автоматически создавать отдельную запись перевода для каждого интерполированного значения с помощью Autoderive в CLI General Translation. 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 отключён и применяется в двух контекстах: к интерполированным значениям в вызовах `t()`, `gt()` и `msg()`, а также к выражениям внутри компонентов [``](/docs/react/reference/components/t), которые ссылаются на объявления `const`. ## Включите Autoderive [#enable] Задайте `autoderive` в `files.gt.parsingFlags` файла `gt.config.json`. Логическое значение включает эту функцию и для строк, и для 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 } } } } } ``` ## Выведение строковых значений [#strings] Когда Autoderive включён, интерполируемое значение в вызове перевода создаёт отдельную запись для каждого возможного значения. ```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'; // Генерирует две записи: // "Hello, boy" → "Hola, chico" // "Hello, girl" → "Hola, chica" Hello, {label} ``` Autoderive для JSX поддерживает тернарные и вложенные тернарные выражения, строковые, числовые и булевы литералы, конкатенацию строк и шаблонные литералы, а также цепочки ссылок через `const`. *Примечание: поддерживаются только объявления `const`. `let` и `var` вызывают предупреждение, поскольку им можно повторно присваивать значения, а деструктурированные переменные, такие как `const { x } = obj`, не поддерживаются. Макрос тегированного шаблона `t` это не затрагивает — он обрабатывает деривацию с помощью синтаксиса шаблонных литералов.* ## Next steps - /docs/cli/guides/using-auto-jsx - /docs/cli/guides/generating-translations - /docs/cli/guides/managing-translations - /docs/cli/guides/configuring