# General Translation Changelog: gt-sanity 2.0.0: Диалог перевода без настройки
URL: https://generaltranslation.com/ru/blog/gt-sanity_v2_0_0.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 
Authors: Brian Lou
Published: 2026-04-01

## Обзор

`gt-sanity` v2 — это крупный релиз: plugin обновлён для поддержки Sanity v5 и React 19, настройка упрощена благодаря диалогу перевода с нулевой конфигурацией, а также добавлены новые параметры для управления тем, какие поля отображаются в переведённых документах.

***

## Что нового

### Более простая настройка: диалог перевода

Самое большое изменение в v2 касается того, как разработчики работают с интерфейсом перевода. Раньше, чтобы добавить вкладку «Переводы» в документы, нужно было настроить `structureTool`, указав пользовательский `defaultDocumentNode`. Теперь plugin автоматически добавляет к каждому документу действие **Перевести** — при нажатии открывается диалоговое окно с полным интерфейсом перевода.

Это означает, что минимальная настройка теперь сводится всего к двум шагам: установите plugin и добавьте его в конфигурацию.

```typescript title="sanity.config.ts"
import { defineConfig } from 'sanity';
import { gtPlugin } from 'gt-sanity';

export default defineConfig({
  plugins: [
    gtPlugin({
      sourceLocale: 'en',
      locales: ['es', 'zh', 'ja'],
    }),
  ],
});
```

Компонент `TranslationsTab` по-прежнему экспортируется для пользователей, которые предпочитают отдельную вкладку, но теперь его использование необязательно.


### Параметр конфигурации `defaultLocale`

Если у вас уже есть `gt.config.json`, созданный при использовании `gt-next` или `gt-react`, теперь его можно напрямую добавить в конфигурацию plugin через spread. Поле `defaultLocale` поддерживается как псевдоним для `sourceLocale`:

```typescript
import gtConfig from './gt.config.json';

gtPlugin({
  ...gtConfig, // { defaultLocale: 'en', locales: ['es', 'zh', 'ja'] }
});
```

Если указаны и `sourceLocale`, и `defaultLocale`, приоритет отдается `sourceLocale`.


### Опция `skipFields`

Новая опция конфигурации `skipFields` полностью удаляет совпадающие поля из переведённых документов. В отличие от `ignoreFields`, который копирует значение из исходного документа в перевод, `skipFields` гарантирует, что этого поля вообще не будет в переведённом документе.

Используйте `skipFields` для таких полей, как уникальные slug документов, канонические URL для SEO или метаданные, нужные только в исходном документе и не подлежащие переносу в переводы:

```typescript
gtPlugin({
  sourceLocale: 'en',
  locales: ['es', 'zh', 'ja'],
  skipFields: [
    { fields: [{ property: '$.slug', type: 'slug' }] },
    { fields: [{ property: '$.canonicalUrl' }] },
  ],
});
```

В отличие от `ignoreFields`, это поле предназначено для полей, которые не нужно переводить, но нужно копировать из источника — например, для категорий, тегов или внутренних метаданных, которые должны иметь одинаковое значение во всех языках.

Как и в случае с `ignoreFields`, с помощью `documentId` можно применять правила пропуска только к определённым документам, а для `property` использовать выражения [JSONPath](https://goessner.net/articles/JsonPath/).


### Улучшенное поведение `ignoreFields`

В v1 игнорируемые поля восстанавливались из исходного документа только *после* перевода, но сам контент всё равно отправлялся в API перевода. В v2 игнорируемые поля теперь удаляются из документа **до** сериализации, поэтому игнорируемый контент вообще не отправляется в API.

***

## Обратно несовместимые изменения

### Sanity v5 и React 19

`gt-sanity` v2 требует Sanity v5+ и React 19+. Если вы всё ещё используете Sanity v3 или v4, продолжайте использовать `gt-sanity` v1.

### Вкладка «Переводы» больше не регистрируется автоматически

plugin больше не добавляет представление вкладки «Переводы» автоматически. Вместо этого моделью взаимодействия по умолчанию стал диалог перевода. Если вам по-прежнему нужна отдельная вкладка, вы можете добавить её вручную — см. [быстрый старт](/docs/integrations/sanity/quickstart).

***

## Ссылки

* [Быстрый старт](/docs/integrations/sanity/quickstart)
* [Руководство по конфигурации](/docs/integrations/sanity/guides/configuring-sanity)
* [Справка API](/docs/integrations/sanity/reference/plugin-configuration)

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
