---
title: Как работает локализация
description: Транскреация через английский пивот — один канонический контент-пайплайн, отдельный localize-пайплайн с собственным детерминированным QA-гейтом и один общий исследовательский корпус на все языки.
locale: ru
version: 0.2.0
canonical: https://enterium-developer-docs.pages.dev/developers/ru/how-it-works/localization/
---

> Documentation index: https://enterium-developer-docs.pages.dev/developers/llms.txt — every page of this portal has a Markdown twin at <route>.md; the frozen API contract is at https://enterium-developer-docs.pages.dev/developers/api/openapi.json.

**Проблема:** гонять полную машинерию Collect → Generate → verify на
каждый язык умножает цену и режет исследовательский корпус на
пер-языковые силосы, каждый из которых взрослеет медленно. Наивная
альтернатива — «просто переведи» — выкатывает дословные переводы, не
проходящие нативное чтение, и пропускает ошибки перевода мимо всех
гейтов качества, построенных для английского.

## Слой 1 — английский это пивот

Главный пайплайн остаётся **English-only**: сбор, генерация, заземление и
все гейты качества работают над одной канонической английской статьёй.
Локализация — **отдельный, нижестоящий пайплайн** из четырёх шагов:
select → transcreate → QA gate → publish. В главной машинерии на язык не
меняется ничего.

```mermaid
flowchart LR
    CORPUS[(One research corpus<br/>per contract)] --> GEN[Generate EN<br/>all gates apply]
    GEN --> MASTER[Canonical EN article]
    MASTER --> LOC[Localize pipeline<br/>select → transcreate → QA → publish]
    LOC --> L1[es]
    LOC --> L2[de]
    LOC --> L3[zh …]
```

Ключевое экономическое следствие: **исследовательский корпус остаётся
единым.** Каждая языковая версия заземляется в те же факты, поэтому
[RAG-маховик](../rag-flywheel/) крутится на полной скорости независимо от
числа языков — пер-языковый корпус делил бы его импульс.

## Слой 2 — транскреация под детерминированным гейтом

QA-гейт локализации зеркалит
[доктрину качества](../quality-gates/) платформы: сначала
детерминированные проверки, LLM-мнение последним и только если всё
остальное прошло (LLM-вердикт стоит денег — тратить его на черновик, уже
упавший на механической проверке, расточительство). Механическая батарея:

- **Паритет структуры** против английского мастера — секции, списки и FAQ
  обязаны пережить транскреацию;
- **Длинные полосы по письменности** — ожидаемые соотношения длины
  различаются по системам письма (CJK сжимает; гейт это знает);
- **Проверки языковых утечек** — английские фрагменты, оставшиеся в теле,
  или хуже — третий язык, подставленный целиком;
- **Детектор чужой письменности** — серия символов неожиданного скрипта —
  автоматический флаг.

## Слой 3 — публикация без слома идентичности

Языковые версии публикуются **filename-paired вариантами** мастер-страницы
на том же сайте — сайтовый генератор получает всё нужное для языковых
переключателей и `hreflang`, — а канонический реестр опубликованных URL
продолжает трекать мастер-статью (локальные страницы записывают свои
живые URL рядом, не конкурируя за ключ идентичности мастера).

## Компромиссы

Транскреация через LLM — риск качества по определению; поэтому гейт
deterministic-first, а упавший черновик придерживается, не
авто-ретраится. И операционно: localize-пайплайн сейчас зарегистрирован
только для **dev**-контура — код доехал до прод-ветки, но прод-варианта в
каталоге ещё нет, значит, прод-диспетч до него не дотянется. Здесь он
задокументирован как существующая архитектура, а не как включённая
прод-фича.

## Пощупать за две минуты

Каталог пайплайнов перечисляет `localize` с его вариантами — честная
поверхность «включено/нет», — а варианты локализованной статьи видны
прямо в языковом переключателе целевого сайта, как только контракт её
использует.
