# General Translation Knowledge Base: General Translation или Locize: что выбрать?
URL: https://generaltranslation.com/ru/kb/general-translation-vs-locize.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Locize — система управления переводами от создателей i18next. Она доставляет переводы через CDN, собирает новые ключи из работающего приложения, а также предлагает ИИ-перевод и редактор с контекстом страницы. При этом поддерживать библиотеку интернационализации и её ключи по-прежнему придётся вам. General Translation может стать вашей библиотекой интернационализации и сам переводить строки — или переводить уже имеющиеся у вас файлы i18next.
Category: Инструменты для рабочих процессов
Last updated: 2026-10-16
Authors: Kevin Wu, Jackie Chen
Published: 2026-10-16

Locize — это система управления переводами (TMS) от команды, создавшей i18next. Ваше приложение по-прежнему работает на i18next (или другой библиотеке интернационализации), Locize хранит ключи и их переводы, ИИ или ваши переводчики заполняют переводы для каждого языка, а приложение загружает результат с CDN Locize. Благодаря этому исправленный перевод вступает в силу без повторного развёртывания. Locize дополняет вашу библиотеку интернационализации, а не заменяет её, так что настройка библиотеки, ключи и их подключение остаются заботой ваших инженеров. General Translation может взять на себя и то и другое: предоставить собственные библиотеки интернационализации с открытым исходным кодом вместе с переводом — или только переводить уже имеющиеся у вас файлы i18next.

## В чём сильные стороны Locize

* **Создан для i18next.** [`i18next-locize-backend`](https://github.com/locize/i18next-locize-backend) загружает переводы из CDN Locize, а с опцией i18next `saveMissing` отправляет новые ключи в Locize прямо в процессе разработки. [`i18next-cli`](https://github.com/i18next/i18next-cli) включает команды для синхронизации с Locize, загрузки и миграции, а его команда `localize` за один запуск оборачивает захардкоженные строки в `t()`, извлекает ключи, подключает проект Locize и запрашивает ИИ-перевод.
* **Обновления без повторного развёртывания.** Переводы публикуются в CDN (Standard CDN доступен на всех тарифах, Pro CDN — начиная с тарифа Growth). [Время кеширования задаётся отдельно для каждой версии](https://www.locize.com/docs/integration/cdn-types-standard-vs-pro); также доступна приватная публикация с доступом только по API-ключу.
* **Версии.** У проекта есть рабочая версия `latest`, версия `production` и любые пользовательские версии, например `staging` или отдельная версия для каждого релиза мобильного приложения. Благодаря этому продвигать или откатывать переводы можно независимо от кода. (См. [управление версиями в Locize](https://www.locize.com/docs/versioning).)
* **Редактирование в контексте.** [Пакет `locize`](https://github.com/locize/locize) добавляет на ваш сайт всплывающее окно редактора, если URL содержит `?incontext=true`, а скриншоты привязываются к ключам с помощью распознавания текста.
* **ИИ и машинный перевод.** [Собственный ИИ-сервис Locize](https://www.locize.com/ai) или ваш ключ OpenAI, Gemini, Mistral или DeepL переводит с учётом вашего руководства по стилю, глоссария и памяти переводов. Также доступны оценка качества, ИИ-проверка и рабочий процесс проверки человеком.
* **Ключи форм множественного числа для каждого языка.** Для JSON-формата i18next Locize [генерирует ключи форм множественного числа](https://www.locize.com/docs/integration/i18n-formats/pluralization), нужные каждому языку перевода (например, `_few` и `_many` для польского), и показывает все формы в своём редакторе.
* **Не только i18next.** [`locize-cli`](https://github.com/locize/locize-cli) импортирует и экспортирует множество форматов, включая XLIFF, Android XML, Apple `.strings`, PO, RESX, Fluent и Java properties, а Locize публикует примеры для react-intl, vue-i18n и Lingui. Кроме того, есть GitHub Action, MCP-сервер и плагин для Figma.

## Что Locize по-прежнему перекладывает на ваших инженеров

Вот как работает `saveMissing` с `i18next` 26.4.7 и `i18next-locize-backend` 10.0.3 при рендеринге испанского перевода для ключа, которого в Locize ещё нет. Функция запроса заменяет серверы Locize и логирует каждый вызов:

```js title="test.mjs"
import i18next from 'i18next';
import Backend from 'i18next-locize-backend';

// Имитация CDN: пока что в английской и испанской версиях по одному ключу.
const cdn = {
  en: { inbox: { title: 'Inbox' } },
  es: { inbox: { title: 'Bandeja de entrada' } },
};

await i18next.use(Backend).init({
  lng: 'es',
  fallbackLng: 'en',
  saveMissing: true,
  backend: {
    projectId: 'demo-project',
    apiKey: 'demo-write-key', // ключ записи: только для разработки
    referenceLng: 'en',
    allowedAddOrUpdateHosts: () => true,
    reloadInterval: false,
    request: async ({ url, method, body }) => {
      console.log(method, url, body ? JSON.stringify(body) : '');
      const lng = url.match(/latest\/(\w+)\//)?.[1];
      return { status: 200, data: JSON.stringify(method === 'GET' ? cdn[lng] ?? {} : {}) };
    },
  },
});

// Новый текст в коде с английским значением по умолчанию
console.log(i18next.t('inbox.title'));
console.log(i18next.t('inbox.empty', 'No messages yet.'));
await new Promise((r) => setTimeout(r, 6000)); // saveMissing срабатывает с задержкой (debounce)
```

```text title="Output"
GET https://api.lite.locize.app/demo-project/latest/es/translation
GET https://api.lite.locize.app/demo-project/latest/en/translation
Bandeja de entrada
No messages yet.
POST https://api.lite.locize.app/missing/demo-project/latest/en/translation {"inbox.empty":"No messages yet."}
```

Этот пример показывает, что именно регистрирует `saveMissing`: английский ключ и его значение. Перевод и публикация происходят уже после регистрации. Интеграция с Locize связывает эти этапы:

1. Настройте i18next, задайте ключ для каждой строки и вызывайте с ним `t()`.
2. Отправляйте новые ключи в Locize через `saveMissing` в среде разработки (по умолчанию он работает только на `localhost`, а [ключ записи ни в коем случае не должен попасть в релиз](https://www.locize.com/docs/guides/going-to-production)) или командой синхронизации в CI.
3. Переведите строки с помощью ИИ или своих переводчиков, проверьте результат и опубликуйте его в той версии, которую читает ваше приложение.
4. Загружайте переводы из CDN во время выполнения или скачивайте их в сборку, а также регистрируйте в приложении каждый новый язык.

Переводчик или ИИ получает в качестве контекста ключ, его английское значение, заметку с контекстом (если она есть) и [привязанные к ключу скриншоты](https://www.locize.com/docs/context), но не компонент, который рендерит строку.

У тарифов Locize есть ежемесячная базовая цена, в которую входят слова, загрузки из CDN, языки, пространства имён и версии. На более крупных тарифах можно докупать пакеты слов и загрузок, а ИИ и машинный перевод оплачиваются за токены или символы. (См. [цены Locize](https://www.locize.com/pricing), данные на октябрь 2026 г.)

## General Translation для команд, использующих i18next

Чтобы попробовать General Translation, ничего переписывать не придётся. CLI находит `i18next` в вашем `package.json` и переводит JSON-файлы, сохраняя синтаксис интерполяции i18next (или синтаксис ICU, если вы используете `i18next-icu`):

```json title="gt.config.json"
{
  "defaultLocale": "en",
  "locales": [
    "es"
  ],
  "files": {
    "json": {
      "include": [
        "locales/[locale]/*.json"
      ]
    }
  }
}
```

[`npx gt translate --dry-run`](/docs/cli/reference/commands/translate) находит `locales/en/translation.json`, а [`npx gt translate`](/docs/cli/reference/commands/translate) записывает `locales/es/translation.json`. Этот файловый рабочий процесс подходит для сообщений, у которых структура ключей в исходном и целевом файлах совпадает. С помощью сопутствующего файла метаданных к любому ключу можно прикрепить заметку `context` или ограничение `maxChars`. См. [Метаданные, привязанные к ключам](/docs/cli/reference/keyed-metadata).

Можно пойти дальше и использовать General Translation ещё и как библиотеку. [`<T>`](/docs/react/reference/components/t) оборачивает JSX и переводит его на месте, а [`useGT`](/docs/react/reference/hooks/use-gt) работает со строками, так что придумывать имена ключей не придётся. Для команд, которым нужен словарь с ключами, есть [`useTranslations`](/docs/react/reference/hooks/use-translations). `gt-next`, `gt-react` и `gt-vue` распространяются под лицензией MIT, не используют под капотом i18next и работают без аккаунта General Translation.

## Locize и General Translation: краткое сравнение

| Возможность                  | Locize                                                                                                                | General Translation                                                                                                                             |
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| Что это                      | TMS, работающая в связке с i18next или другой библиотекой интернационализации                                         | Библиотеки интернационализации с открытым исходным кодом и ИИ-перевод либо перевод уже имеющихся у вас файлов                                   |
| Где хранятся строки          | Ключи — в вашем коде, значения — в Locize                                                                             | В вашем коде внутри [`<T>`](/docs/react/reference/components/t) или в уже имеющихся у вас файлах ресурсов                                       |
| Как добавляются новые тексты | `saveMissing` при разработке или команды синхронизации в CI                                                           | [`npx gt translate`](/docs/cli/reference/commands/translate) в процессе сборки или пул-реквесты от [Locadex](/docs/platform/locadex/quickstart) |
| Кто переводит                | ИИ Locize, ИИ или сервис машинного перевода с вашим собственным ключом либо ваши переводчики                          | ИИ с учётом контекста из вашего кода, Glossary и пользовательских промптов; ваша команда проверяет результат в панели управления                |
| Контекст для каждой строки   | Ключ, значение на английском, контекстные заметки, скриншоты, глоссарий и руководство по стилю                        | Размеченная структура JSX во встроенных библиотеках; метаданные, привязанные к ключам, для каталогов; общие Glossary и пользовательские промпты |
| Доставка                     | По умолчанию через CDN с поддержкой версий или загрузка в вашу сборку                                                 | Файлы в составе бандла или публикация обновлений через CDN General Translation без повторного развёртывания приложения                          |
| Цены                         | Тарифные планы с лимитами на слова, загрузки из CDN, языки и версии; ИИ и машинный перевод оплачиваются дополнительно | [Оплата перевода по факту использования](https://generaltranslation.com/pricing)                                                                |

## Почему команды выбирают General Translation вместо Locize

General Translation позволяет команде, работающей с i18next, сначала внедрить генерацию переводов и их проверку в панели управления, а затем перейти на встроенный текст, если она захочет избавиться ещё и от поддержки ключей.

* **Быстрее.** Запускайте перевод перед сборкой — тогда новый текст будет выходить сразу на всех поддерживаемых языках. CLI повторно использует существующие переводы и переводит только новый или изменённый контент, а чтобы добавить язык, достаточно одной строки в `gt.config.json`.
* **Дешевле в эксплуатации.** Начните с файлов i18next, которые у вас уже есть. А перевод функциональности на [`<T>`](/docs/react/reference/components/t) избавит от необходимости придумывать имена ключей и синхронизировать исходный словарь с компонентами.
* **Выше качество.** Добавьте контекстную заметку к ключу каталога или используйте встроенные блоки [`<T>`](/docs/react/reference/components/t), чтобы передать в перевод JSX-структуру предложения и ветви множественного числа. Общая [контекстная группа](/docs/platform/dashboard/guides/defining-context-for-translations) обеспечивает единообразие продуктовой терминологии в проектах приложения и документации, а рецензенты правят результаты в панели управления.
* **Ниже риски.** Сохраняйте i18next и проверенные переводы, пока оцениваете General Translation. Файлы перевода, включённые в бандл, не обращаются к General Translation во время выполнения, а JavaScript-библиотеки под лицензией MIT работают и без учётной записи, если вы предоставляете переводы сами.

С General Translation Cursor поддерживает более 14 локалей на сайте и в документации. (См. [развёртывания в рабочей среде](https://generaltranslation.com/enterprise).)

## Когда Locize подходит лучше

Выбирайте Locize, если переводчикам удобнее редактировать текст прямо на работающем сайте, если вы храните отдельные версии переводов для каждого релиза мобильного приложения или если вы обмениваетесь файлами XLIFF, Fluent или Java properties. Выбирайте встроенные библиотеки General Translation, если хотите видеть читаемый исходный текст прямо в компонентах и передавать размеченную структуру JSX на перевод вместе с текстом. А чтобы оценить качество перевода и проверку в панели управления до перехода на новые библиотеки, попробуйте CLI General Translation с вашими существующими каталогами.

## Переход с Locize на General Translation

Скачайте текущие переводы с помощью `locize-cli` и сохраните их в своём репозитории, затем укажите в `gt.config.json` путь к английским файлам и выполните [`npx gt upload`](/docs/cli/reference/commands/upload), чтобы отправить исходные тексты и существующие переводы на платформу. Дальше можно либо оставить i18next и поручить CLI перевод новых ключей, либо постепенно переходить на [`<T>`](/docs/react/reference/components/t), переводя по одной функции за раз. (См. [Миграция с других библиотек интернационализации](/docs/react/guides/migrating-i18n-libraries).) Термины глоссария тоже можно перенести: при импорте в контекстную группу поддерживаются файлы CSV, TSV, JSON и обычные текстовые файлы.

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

* Locize от создателей i18next — мощная TMS для приложений на i18next: доставка через CDN, `saveMissing`, версии, редактирование в контексте и ИИ-перевод.
* Она работает в связке с вашей библиотекой интернационализации и её каталогами на основе ключей; перевод, ревью и публикация выстраиваются вокруг этих каталогов.
* General Translation может перевести уже имеющиеся у вас файлы i18next или стать для вас одновременно и библиотекой интернационализации, и сервисом перевода — с учётом контекста кода и поставкой всех языков в каждом релизе.

## Related questions

- [General Translation против i18next, react-intl и next-intl: какую библиотеку интернационализации выбрать?](https://generaltranslation.com/ru/kb/general-translation-vs-i18n-libraries.mdx): Библиотеки с открытым исходным кодом, такие как i18next, react-intl и next-intl, ничего не переводят. Они лишь отображают переводы, которые вы сами помещаете в файл каталога для каждого языка, — их пишете вы, ваши переводчики или сторонний сервис. Библиотеки General Translation тоже имеют открытый исходный код и делают то же самое, но General Translation ещё и выполняет перевод, используя ваш код как контекст.
- [Почему стоит выбрать General Translation вместо TMS (Smartling, Lokalise, Phrase, Crowdin или Transifex)?](https://generaltranslation.com/ru/kb/general-translation-vs-tms.mdx): Система управления переводами (TMS), например Smartling, Lokalise, Phrase, Crowdin или Transifex, координирует работу переводчиков, но инженерам всё равно приходится извлекать строки, отправлять их на перевод, ждать результатов и встраивать переводы обратно в продукт. General Translation переводит контент прямо в вашем коде с учётом контекста, выпускает все языки с каждым релизом и работает на библиотеках с открытым исходным кодом без привязки к поставщику.
- [General Translation или Tolgee: что выбрать?](https://generaltranslation.com/ru/kb/general-translation-vs-tolgee.mdx): Tolgee объединяет сообщения с ключами, редактирование в контексте и ИИ-перевод в платформе, которую можно развернуть на собственных серверах. General Translation хранит читаемый текст прямо в ваших компонентах и генерирует переводы из размеченного JSX, поэтому новый текст можно выпускать сразу на всех языках, не поддерживая ключи сообщений.
- [General Translation или Weblate: что выбрать?](https://generaltranslation.com/ru/kb/general-translation-vs-weblate.mdx): Weblate — это платформа локализации на основе Git, которую можно развернуть на собственном сервере. Она создана для перевода файлов репозитория силами сообщества или команды. General Translation встраивает генерацию переводов в разработку и релизы, опираясь на размеченный JSX и общий контекст продукта. Оставьте свои файлы gettext или перейдите на написание текста непосредственно в коде — тогда отпадёт и необходимость поддерживать каталог исходных сообщений.
- [Можно ли реализовать i18n без файлов перевода?](https://generaltranslation.com/ru/kb/i18n-without-translation-files.mdx): Да. С gt-react или gt-next контент остаётся встроенным прямо в ваши компоненты внутри компонента `<T>`, а переводы генерируются во время сборки, поэтому не нужно писать ключи и JSON-файлы для каждой локали и следить за их синхронизацией.

## Previous and next questions

- Previous question: [General Translation или Lingui: что выбрать?](https://generaltranslation.com/ru/kb/general-translation-vs-lingui.mdx)
- Next question: [General Translation или Mobility: что выбрать?](https://generaltranslation.com/ru/kb/general-translation-vs-mobility.mdx)

## Sitemap

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