# General Translation Knowledge Base: Как обеспечить единообразие терминологии при ИИ-переводе?
URL: https://generaltranslation.com/ru/kb/ai-translation-glossary.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Ведите единый глоссарий утверждённых терминов, включая названия, которые не переводятся, применяйте его к каждому запросу на перевод, исключайте переменные и код из перевода и проверяйте результат. В General Translation для этого служат контекстные группы (Context Groups): их Glossary и пользовательские промпты (пользовательские промпты) применяются к каждому проекту, которому назначена группа, а компонент Var — к значениям, которые никогда не переводятся.
Category: Перевод
Last updated: 2026-10-28
Authors: General Translation Team
Published: 2026-10-28

Чтобы терминология оставалась единообразной, ведите единый глоссарий утверждённых переводов, применяйте его к каждому запросу на перевод, размечайте текст, который не должен переводиться, и сверяйте результат на этапе проверки. Термины «плывут», потому что системы машинного перевода и LLMs обрабатывают каждый запрос по отдельности: слово, выбранное на прошлой неделе, само не попадёт в перевод этой недели — если только вы его не передадите.

## Почему ИИ-перевод «плывёт» в терминах?

Допустим, в вашем продукте есть функция под названием Vault. Если переводить на немецкий по одной строке, на странице с ценами она может превратиться в *Tresor*, в приложении остаться «Vault», а в документации стать *Safe*. Каждый вариант по отдельности — вполне разумный перевод, но вместе они описывают три разные функции. У такого расхождения несколько причин:

* **Каждый запрос начинается с чистого листа.** В справочнике API DeepL сказано, что каждая строка в запросе [переводится независимо](https://developers.deepl.com/api-reference/translate/request-translation). LLM заново подбирает формулировку при каждом вызове, а новая версия модели может выбрать другую.
* **В коротких строках мало контекста.** Вкладка с надписью «Vault» или «Spaces» выглядит как обычное существительное — так движок её и переводит.
* **Для каждой области взаимодействия с пользователем — свой инструмент.** Строки приложения переводятся в одном инструменте, документация — в другом, а маркетинговые страницы отдаются подрядчику. В итоге получается три глоссария или ни одного.
* **Грамматика меняет слово.** В немецком и польском существительные получают падежные окончания, поэтому утверждённый перевод — это начальная форма, которую нужно склонять в предложении, а не готовая строка для вставки.

Правила обычно нужны для названий брендов и продуктов, названий функций, меток UI, на которые ссылается документация («нажмите **Сохранить**» должно совпадать с подписью кнопки на каждом языке), предметных терминов, а также для всего, что должно остаться в точности как есть: кода, переменных, URL-адресов и пользовательских данных.

## Чем отличаются эти варианты?

| Подход                                                         | Как обеспечивается единообразие терминов                                                                                                                                       | Недостатки                                                                                                                               |
| -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- |
| Глоссарий машинного перевода (DeepL, Google Cloud Translation) | Пары терминов для каждой языковой пары, применяемые по ID в каждом запросе                                                                                                     | ID нужно передавать при каждом вызове, а каждую языковую пару — поддерживать отдельно; коротким строкам по-прежнему не хватает контекста |
| Термины в промпте LLM (OpenAI API, Claude API)                 | Вы перечисляете термины и правила в каждом промпте                                                                                                                             | Вы сами решаете, какие термины нужны для каждой строки, а результат никто не проверяет, если вы не реализуете проверку сами              |
| Терминологическая база в системе управления переводами (TMS)   | Переводчики и ИИ видят утверждённые термины; проверки качества выявляют пропуски                                                                                               | База хранится в TMS отдельно от кода, и её нужно подключать к каждому проекту                                                            |
| Разметка запрета перевода (`translate="no"`)                   | Движки пропускают отмеченный элемент                                                                                                                                           | Работает только с HTML; текст сохраняется без изменений, но выбрать вариант перевода нельзя                                              |
| Контекстные группы General Translation                         | Glossary и пользовательские промпты применяются ко всем переводам в каждом назначенном проекте; [`<Var>`](/docs/react/reference/components/var) исключает значения из перевода | Существующие переводы меняются, только если применить к ним Glossary или перевести их заново                                             |

### Глоссарии машинного перевода

[Многоязычные глоссарии](https://developers.deepl.com/docs/customize/managing-glossaries) DeepL содержат по одному словарю пар терминов для каждой языковой пары и загружаются в формате TSV или CSV; в одном запросе через `glossary_ids` можно применить до пяти глоссариев. [Глоссарии](https://docs.cloud.google.com/translate/docs/advanced/glossary) Google Cloud Translation принимают из файлов TSV, CSV или TMX пары терминов для одной языковой пары либо наборы эквивалентных терминов для нескольких языков. Google сопоставляет термины с учётом регистра, если не задан параметр `ignoreCase`, и возвращает перевод как с глоссарием, так и без него, чтобы их можно было сравнить. Контекстный режим глоссария Google поддерживает только в связке со своей моделью Translation LLM.

### Термины в промпте LLM

При работе с OpenAI API или Claude API глоссарий — это просто текст в вашем промпте. Передавайте только те термины, которые встречаются в строке, запрашивайте ответ в формате JSON-схемы, а затем проверяйте, что каждый утверждённый термин попал в перевод. Модель хорошо следует инструкциям, но отбор терминов, проверка и поддержание списка в актуальном состоянии во всех скриптах — уже ваша задача.

### Терминологические базы в TMS

[Система управления переводами](/kb/what-is-a-translation-management-system) хранит терминологическую базу рядом со строками. Переводчики видят подходящие термины прямо в редакторе, ИИ-перевод может их учитывать ([AI prompts](https://support.crowdin.com/crowdin-ai/) в Crowdin могут включать термины из глоссария), а проверки качества выявляют несоответствия: проверка [Consistent terminology](https://support.crowdin.com/project-settings/qa-checks/) в Crowdin помечает перевод, в котором для слова из исходного текста не использован термин из глоссария.

### Разметка «не переводить»

[Атрибут `translate`](https://html.spec.whatwg.org/multipage/dom.html#the-translate-attribute) в HTML со значением `no` сообщает инструментам перевода, что текст элемента нужно оставить без изменений. DeepL пропускает элементы с `translate="no"` или `class="notranslate"`, если `tag_handling` имеет значение `html` ([Translating HTML](https://developers.deepl.com/docs/translate/translating-html)), а Google Cloud Translation поступает так же со входными данными `text/html` ([устранение неполадок](https://docs.cloud.google.com/translate/troubleshooting)). В запросах с обычным текстом этот атрибут игнорируется.

Глоссарий машинного перевода подходит, если вы вызываете DeepL или Google напрямую из собственного конвейера. Инструкции в промпте — если перевод выполняется в рамках вызова модели, который ваш продукт уже делает. Терминологическая база TMS — если переводчики и поставщики работают в этой TMS. `translate="no"` — для HTML, который вы отправляете в движок. General Translation — если одни и те же термины должны единообразно соблюдаться в приложении, документации и остальном контенте с каждым релизом, и при этом не нужно передавать глоссарий в каждый скрипт.

## Как General Translation обеспечивает единообразие терминологии

General Translation применяет терминологию с помощью [контекстных групп](/docs/platform/dashboard/guides/defining-context-for-translations) — переиспользуемых инструкций, которые хранятся на уровне организации и действуют во всех назначенных им проектах. Каждая группа содержит Glossary с терминами и пользовательские промпты, задающие тон и стиль.

### Настройка контекстной группы

1. В панели управления откройте **Context** на боковой панели организации, нажмите значок «плюс» и выберите **Create new group**. Если же создать группу со страницы **Context** проекта, можно выбрать **Autogenerate context** — тогда черновики терминов Glossary и пользовательских промптов будут подготовлены автоматически на основе файлов этого проекта.
2. На вкладке **Glossary** добавьте каждый термин и его определение: что он означает и как с ним обращаться.
3. Укажите перевод для каждой целевой локали: введите его вручную, импортируйте файл CSV, TSV или JSON либо нажмите **Перевести** на странице **Context** проекта, чтобы ИИ заполнил термины, у которых ещё нет перевода. Затем при необходимости исправьте любую ячейку.
4. На вкладке **Пользовательские промпты** добавьте правила, задающие тон и стиль, например «Use the formal Sie» только для немецкого языка. Каждый промпт применяется либо ко всем локалям, либо к одной.
5. Назначьте группу каждому проекту на вкладке **Context** этого проекта. Если группы пересекаются, приоритет получает та, что находится выше в списке.

Glossary для примера с Vault может выглядеть так:

| Термин    | Определение                                                         | `de`           | `ja`    |
| --------- | ------------------------------------------------------------------- | -------------- | ------- |
| Vault     | Название продукта для зашифрованной папки. Оставлять на английском. | Vault          | Vault   |
| Workspace | Общая рабочая область команды в приложении.                         | Arbeitsbereich | ワークスペース |

Редактировать контекстные группы могут стандартные роли **Администратор** и **Редактор**.

### Как Glossary применяется к каждому переводу

Для каждой переводимой строки General Translation находит встречающиеся в ней термины из Glossary и передаёт вместе со строкой их определения и переводы для целевой локали. Модель берёт утверждённый перевод за базовую форму и склоняет его в соответствии с контекстом предложения, а если слово употреблено не в том значении, что указано в определении, переводит его как обычно. Одни и те же контекстные группы применяются к содержимому [`<T>`](/docs/react/reference/components/t) и файлам, переведённым с помощью [`npx gt translate`](/docs/cli/reference/commands/translate), к переводу во время выполнения через [`tx`](/docs/node/reference/functions/tx), а также к переводам, созданным [Locadex](/docs/platform/locadex/quickstart). Благодаря этому и в приложении, и в документации, и на маркетинговом сайте используется «Vault».

### Исключение значений из перевода с помощью `<Var>`

Некоторый текст должен оставаться в точности таким, как написан: имена, идентификаторы, код и другие значения, известные только во время выполнения. Компонент [`<Var>`](/docs/react/reference/components/var) от General Translation выполняет рендеринг своего содержимого как есть, и оно никогда не передаётся в API General Translation:

```tsx title="InviteBanner.tsx"
import { T, Var, Plural, Num } from 'gt-react';

export function InviteBanner({
  inviterName,
  vaultCount,
}: {
  inviterName: string;
  vaultCount: number;
}) {
  return (
    <T context="Team settings banner. Vault is our product name for an encrypted folder.">
      <p>
        <Var>{inviterName}</Var> invited you to their workspace.{' '}
        <Plural
          n={vaultCount}
          one={<>You can open one Vault.</>}
          other={<>You can open <Num>{vaultCount}</Num> Vaults.</>}
        />
      </p>
    </T>
  );
}
```

Имя пригласившего по-прежнему передаётся через [`<Var>`](/docs/react/reference/components/var). «Vault» остаётся в тексте предложения: Glossary сохраняет его на английском, а модель выстраивает грамматику вокруг него. [`<Plural>`](/docs/react/reference/components/plural) при этом получает все формы множественного числа, которые нужны языку перевода. Названия продуктов добавляйте в Glossary, а не оборачивайте в [`<Var>`](/docs/react/reference/components/var): так модель видит название и может согласовать с ним предложение.

### Обновление уже существующих переводов

Изменения в контекстной группе влияют только на новые переводы, а не на существующие. Чтобы привести существующий контент в соответствие, нажмите **Применить** на странице **Context** проекта и выберите термины Glossary и локали для обновления — или заново переведите файлы с помощью CLI или запуска Locadex. (См. [Применить переводы из глоссария](/docs/platform/dashboard/guides/defining-context-for-translations#apply-glossary).) Затем попросите человека, владеющего этим языком, проверить результат в панели управления. (См. [Как проверять и редактировать переводы?](/kb/review-translations))

## Частые вопросы

### Гарантирует ли глоссарий, что утверждённый термин будет использоваться всегда?

Глоссарий делает утверждённый термин вариантом по умолчанию, но решающим этапом по-прежнему остаётся проверка. Грамматика может потребовать другой формы слова, а если слово употреблено в ином значении, перевод из глоссария к нему применяться не должен. Проверяйте самые посещаемые экраны на каждом языке, как описано в статье [Достаточно ли точен ИИ-перевод для приложения в рабочей среде?](/kb/is-ai-translation-accurate)

### Как оставить название бренда без перевода?

Добавьте его как термин в Glossary с определением вроде «Название продукта. Не переводить, оставить на английском» и укажите само название в качестве перевода для каждой локали. Если вы отправляете HTML в DeepL или Google Cloud Translation, оберните название в элемент с атрибутом `translate="no"`.

### Чем глоссарий отличается от памяти переводов?

Глоссарий задает, как переводятся отдельные термины. Память переводов хранит выполненные ранее переводы целиком и повторно использует их, когда снова встречается такое же или похожее предложение. (См. [Что такое память переводов и нужна ли она в эпоху ИИ?](/kb/what-is-translation-memory))

### Может ли один глоссарий охватывать приложение, документацию и веб-сайт?

Да. В General Translation назначьте одну контекстную группу всем проектам, а группы для отдельных проектов добавляйте только там, где в какой-либо области взаимодействия с пользователем используются другие термины или другой тон. (О том, чем этот подход отличается от передачи идентификаторов глоссариев в каждом запросе, см. [General Translation vs. DeepL](/kb/general-translation-vs-deepl).)

## Ключевые выводы

* Термины «плывут», потому что каждый запрос на перевод обрабатывается независимо, а в коротких строках мало контекста. Глоссарий, применяемый к каждому запросу, устраняет эту проблему по умолчанию.
* DeepL и Google Cloud Translation применяют глоссарии по ID для каждой языковой пары; при работе с промптами LLM термины приходится отбирать и проверять самостоятельно, а терминологические базы в TMS добавляют проверки качества, например Consistent terminology в Crowdin.
* `translate="no"` оставляет текст HTML без изменений в DeepL и Google Cloud Translation, но не позволяет выбрать вариант перевода.
* Контекстные группы General Translation позволяют использовать один Glossary и одни пользовательские промпты во всех назначенных проектах: **Перевести** заполняет недостающие переводы терминов для локали, **Применить** обновляет существующие переводы, а [`<Var>`](/docs/react/reference/components/var) полностью исключает значения среды выполнения из перевода.

## Related questions

- [Достаточно ли точен ИИ-перевод для приложения в рабочей среде?](https://generaltranslation.com/ru/kb/is-ai-translation-accurate.mdx): Для распространённых языков — зачастую да, но только после проверки на ваших языках, строках UI и контенте с повышенными рисками. На WMT25 Gemini 2.5 Pro не уступил эталонным переводам, выполненным людьми, или превзошёл их в 10 из 16 языковых пар, однако бенчмарк на документах не показывает, готовы ли к выпуску короткие строки интерфейса.
- [Альтернативы DeepL: General Translation против DeepL](https://generaltranslation.com/ru/kb/general-translation-vs-deepl.mdx): DeepL — это API машинного перевода: на каждый отправленный текст или документ он возвращает перевод. General Translation — это платформа локализации. Она берёт на себя то, что API оставляет вам: контекст из вашего кода и от вашей команды, единую терминологию во всех областях взаимодействия с пользователем, проверку в панели управления и непрерывный перевод с каждым релизом.
- [Лучшие инструменты ИИ-перевода для разработчиков: API или платформы локализации](https://generaltranslation.com/ru/kb/best-ai-translation-tools.mdx): Используйте API перевода, если у вас уже есть собственный конвейер локализации. Выбирайте General Translation, если хотите управлять контекстом, проверками согласованности, проверкой и непрерывной доставкой в одном месте. DeepL, Google Cloud Translation, OpenAI и Claude могут лежать в основе конвейера для рабочей среды; General Translation предоставляет готовый конвейер для вашего приложения, документации и сайта.
- [Как проверять и редактировать переводы?](https://generaltranslation.com/ru/kb/review-translations.mdx): Сравнивайте каждый перевод с источником и другими локалями и исправляйте то, что звучит неправильно. В General Translation переводы редактируются на странице «Переводы» в панели управления, а ход проверки отслеживается с помощью меток и комментариев. При следующем запуске перевода Locadex, AI-агент платформы, переносит правки в пул-реквест.
- [Что такое память переводов и нужна ли она в эпоху ИИ?](https://generaltranslation.com/ru/kb/what-is-translation-memory.mdx): Память переводов (TM) — это база данных пар исходных и целевых сегментов из прошлых переводов, в которой инструмент перевода ищет точные, контекстные и нечёткие совпадения. При работе с ИИ по-прежнему важно повторно использовать утверждённые формулировки и передавать прошлые переводы как контекст. General Translation повторно использует совпадающие переводы из предыдущих версий файлов и сохраняет правки команды, и при этом не нужно поддерживать отдельную TM.

## Previous and next questions

- Previous question: [Как локализовать Android-приложение с помощью strings.xml?](https://generaltranslation.com/ru/kb/localize-android-app.mdx)
- Next question: [Как перевести SEO-заголовки и метаописания?](https://generaltranslation.com/ru/kb/translate-seo-metadata.mdx)

## Sitemap

See the [Knowledge Base sitemap](https://generaltranslation.com/ru/kb/sitemap.md) for every article.
