# General Translation Integrations: Перевод контента URL: https://generaltranslation.com/ru/docs/integrations/sanity/guides/translating-content.mdx --- title: Перевод контента description: Как переводить документы Sanity с помощью General Translation через действие документа, на вкладке или на странице Переводы. related: links: - /docs/integrations/sanity/guides/managing-translations - /docs/integrations/sanity/guides/querying-translations - /docs/integrations/sanity/guides/configuring-sanity --- Создавайте переведённые документы для каждой целевой локали с помощью плагина General Translation. Переводы создаются как отдельные документы Sanity, каждый со своим языковым полем, и связываются с исходным документом через документ `translation.metadata`. ## Перевести один документ [#translate-one] Действие **Перевести** доступно в каждом документе, но инструменты перевода отображаются только в документах на исходном языке. В переведённом документе вместо них отображается сообщение. 1. Откройте документ на исходном языке в Sanity Studio. 2. Нажмите **Перевести** на панели действий документа. 3. В разделе **Сгенерировать переводы** выберите целевые локали. 4. Нажмите **Сгенерировать переводы**. После создания переводов диалоговое окно отслеживает ход выполнения в разделе **Статус перевода**. Когда перевод готов, плагин импортирует его, обновляет его ссылки и публикует, поскольку в этом диалоговом окне по умолчанию включены автоимпорт, автообновление ссылок и автопубликация. Вы можете переключать каждую из этих функций, вручную импортировать локаль из её строки статуса или использовать **Импортировать все**, **Обновить ссылки** и **Опубликовать переводы**. ## Используйте вкладку «Переводы» [#translations-tab] Если в вашем Studio есть `TranslationsTab`, откройте в документе вкладку **General Translation**. Она предоставляет тот же рабочий процесс, что и действие **Перевести**, но остаётся доступной прямо в редакторе документа. Чтобы добавить эту вкладку, см. [Настройка Sanity](/docs/integrations/sanity/guides/configuring-sanity#translations-tab). ## Перевод нескольких документов [#translate-many] Используйте инструмент **Переводы** для всего сайта, чтобы работать сразу со всеми документами, доступными для перевода. С его помощью можно: * Сгенерировать переводы для всех документов (**Перевести все**). * Импортировать все готовые переводы (**Импортировать все**). * Импортировать только те переводы, которые еще не были импортированы (**Импортировать отсутствующие**). * Обновить ссылки во всех переведенных документах (**Исправить ссылки в документах**). * Опубликовать переведенные документы, если опубликован исходный документ (**Опубликовать переводы**). См. [Управление переводами](/docs/integrations/sanity/guides/managing-translations). ## Что переводится [#what-translated] Плагин сериализует документы в HTML, отправляет его на перевод, а затем встраивает переведённый HTML в новые документы локали. Он рекурсивно обрабатывает: * Поля string и text. * Блоки Portable Text. * Вложенные объекты. * Массивы. Некоторые типы полей по умолчанию сохраняются и не отправляются на перевод, включая ссылки, даты, файлы, изображения, числа, логические значения, URL, цвета, код и геоточки. См. полный список [типов, исключаемых по умолчанию](/docs/integrations/sanity/reference/plugin-configuration#stop-types). Поля slug *не* исключаются по умолчанию, поэтому значение `current` в slug отправляется на перевод. Используйте `dedupeFields` или `skipFields`, чтобы управлять поведением slug. ## Обработка ссылок [#references] Переведённые документы могут ссылаться на другие документы. Плагин находит перевод каждого документа, на который ведёт ссылка, и обновляет её так, чтобы она указывала на версию для нужной локали, если такая существует. Это происходит автоматически после импорта в диалоге документа, а также по запросу с помощью **исправить ссылки в документах** на странице Переводы. См. [Управление переводами](/docs/integrations/sanity/guides/managing-translations#patch-references). ## Обработка slug и копируемых полей [#slugs-fields] Некоторые поля не следует переводить напрямую. Используйте сопоставители полей, чтобы управлять их поведением: * `dedupeFields` — копирует исходное значение и добавляет локаль, чтобы сделать его уникальным для каждого документа, например преобразует `about` в `about-es`. Обычно используется для slug. * `ignoreFields` — копирует исходное значение без изменений в каждый переведённый документ. * `skipFields` — полностью удаляет поле из переведённых документов. См. раздел [Управление переводами](/docs/integrations/sanity/guides/managing-translations#field-behavior). ## Next steps - /docs/integrations/sanity/guides/managing-translations - /docs/integrations/sanity/guides/querying-translations - /docs/integrations/sanity/guides/configuring-sanity