# General Translation Knowledge Base: Как перевести контент в Sanity?
URL: https://generaltranslation.com/ru/kb/translate-sanity-content.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Храните каждый язык как отдельный документ или как значение для каждой локали в каждом поле, а затем переведите источник на все целевые локали. Плагин gt-sanity от General Translation добавляет в Sanity Studio действие Translate и по умолчанию импортирует каждый перевод как черновик, который вы проверяете и публикуете.
Category: Инструменты для рабочих процессов
Last updated: 2026-10-21
Authors: Kevin Liu, Kevin Wu
Published: 2026-10-21

Чтобы перевести контент в Sanity, храните каждый язык либо как отдельный документ, помеченный полем языка (локализация на уровне документов), либо как значение для каждой локали внутри каждого поля (локализация на уровне полей), а затем заполните все языки перевода на основе источника. Сложность в том, что документ — это структурированные данные: в Portable Text (формате форматированного текста Sanity) должны сохраняться блоки и разметка; изображения, даты и числа нужно копировать без изменений; если для каждого языка заведён отдельный документ, каждая ссылка должна указывать на соответствующий перевод; а правки, которые редакторы вносят в переводы, не должны теряться при следующем обновлении.

## Video

The video is narrated in English, with English captions.

[How do I translate content in Sanity?](https://caxecubb9c64cezv.public.blob.vercel-storage.com/films/kb-translate-sanity-content.mp4) (47 с)

General Translation lets you click Translate on a Sanity document with the `gt-sanity` plugin. Add `gtPlugin` to `sanity.config.ts` with your locales and document types, give the article a language field, store your API key in a private document, publish the drafts the plugin imports, and query each language by its language field.

## Способы перевода контента Sanity

| Подход                                           | Сильные стороны                                                                                                 | Как переводы попадают в Sanity                                                 | Что остаётся на вас                                                                                                                                                                           |
| ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Только плагины локализации Sanity                | Хранят каждый язык как отдельный документ или как отдельное значение для каждой локали в каждом поле            | Редакторы или переводчики вручную вводят текст на каждом языке в Sanity Studio | Каждый перевод и каждое обновление при изменении источника                                                                                                                                    |
| Google Translate                                 | Переводит вставленный текст без какой-либо настройки                                                            | Копирование и вставка или скрипт, записывающий данные через API Sanity         | Каждая строка переводится отдельно; разбиение Portable Text на строки и обратная сборка, копирование остальных полей, перепривязка ссылок, единообразие терминологии и вычитка ложатся на вас |
| Скрипт на основе AI API (OpenAI API, Claude API) | Переводит множество документов за один запуск скрипта с учётом тона и терминологии, заданных в промпте          | Скрипт, записывающий данные через API Sanity                                   | Разбиение и обратная сборка Portable Text, копирование остальных полей, перепривязка ссылок, контекст и терминология для каждого запроса, а также вычитка                                     |
| General Translation (`gt-sanity`)                | Переводит текст и Portable Text с учётом контекстных групп (Glossary и пользовательские промпты) вашего проекта | Действие **Translate** в Studio импортирует каждую локаль как черновик         | Поле языка, документ с учётными данными и вычитка перед публикацией                                                                                                                           |

Используйте только плагины локализации Sanity, если переводчики сами пишут текст на каждом языке, а контент меняется редко. Google Translate или скрипт на основе AI API подойдут для разовых текстов, которые перед публикацией кто-то вычитывает. Выбирайте General Translation, если документы содержат форматированный текст и ссылки и постоянно обновляются.

## Перевод документов с помощью gt-sanity

Плагин `gt-sanity` от General Translation добавляет в Sanity Studio действие **Translate** и поддерживает обе модели; по умолчанию `translationLevel` использует перевод на уровне документов.

1. Установите плагин командой `npm install gt-sanity`.

2. Добавьте поле `language` в каждый тип документа, который нужно переводить.

3. Сохраните идентификатор проекта и ключ API проекта в закрытом документе `generaltranslation.secrets`.

4. Добавьте `gtPlugin` в `sanity.config.ts`, указав свои локали и типы документов:

   ```ts title="sanity.config.ts"
   import { defineConfig } from 'sanity';
   import { gtPlugin } from 'gt-sanity';
   export default defineConfig({
     // ... ваша текущая конфигурация
     plugins: [
       gtPlugin({
         sourceLocale: 'en',
         locales: ['es', 'zh', 'ja'],
         translateDocuments: [{ type: 'article' }, { type: 'page' }],
       }),
     ],
   });
   ```

5. Нажмите **Translate** в исходном документе.

## Что происходит при запуске перевода

В стандартной настройке на уровне документов действие **Translate** отправляет на перевод текст документа и Portable Text, не затрагивая изображения, даты, числа и ссылки, а затем импортирует каждую локаль как черновик. Автопубликация, обновление ссылок (каждая ссылка перенаправляется на перевод в той же локали) и **Save local edits** (изменения редакторов сохраняются там, где исходный текст не менялся) по умолчанию отключены. Фронтенд запрашивает каждый язык с помощью фильтра GROQ, например `language == "es"`. Если ваше приложение также использует General Translation, назначьте обоим проектам одну контекстную группу, чтобы термины переводились одинаково. Подробная инструкция приведена в разделе [Быстрый старт с Sanity](/docs/integrations/sanity/quickstart).

## Related questions

- [Как перевести контент в Storyblok?](https://generaltranslation.com/ru/kb/translate-storyblok-content.mdx): В Storyblok добавьте целевые языки в пространство и задайте для каждого переводимого поля значение на каждом языке. Интеграция General Translation со Storyblok заполняет эти значения из панели управления с помощью действия «Синхронизировать и применить» — в виде черновиков, которые вы проверяете и публикуете в Storyblok.
- [Как перевести сайт документации на Mintlify?](https://generaltranslation.com/ru/kb/translate-mintlify-docs.mdx): Создайте переведённую копию каждой страницы в отдельной папке для каждого языка и добавьте все языки в навигацию docs.json. AI-агент General Translation под названием Locadex открывает пул-реквест, который добавляет переведённые страницы и навигацию для каждого языка, а затем переводит последующие изменения.
- [Как перевести Google Slides?](https://generaltranslation.com/ru/kb/translate-google-slides.mdx): Создайте копию презентации для каждого языка, замените текст во всех текстовых полях, ячейках таблиц и заметках докладчика, а затем уменьшите текст, который не помещается. Интеграция General Translation с Google Drive сохраняет каждый язык в отдельную копию рядом с исходной презентацией и выполняет дополнительное форматирование, чтобы новый текст поместился на каждом слайде.
- [Как проверять и редактировать переводы?](https://generaltranslation.com/ru/kb/review-translations.mdx): Сравнивайте каждый перевод с источником и другими локалями и исправляйте то, что звучит неправильно. В General Translation переводы редактируются на странице «Переводы» в панели управления, а ход проверки отслеживается с помощью меток и комментариев. При следующем запуске перевода Locadex, AI-агент платформы, переносит правки в пул-реквест.

## Previous and next questions

- Previous question: [Как перевести React-приложение?](https://generaltranslation.com/ru/kb/translate-react-app.mdx)
- Next question: [Как перевести контент в Storyblok?](https://generaltranslation.com/ru/kb/translate-storyblok-content.mdx)

## Sitemap

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