# General Translation Changelog: gt-sanity 2.0.0: Cuadro de diálogo Traducir sin configuración
URL: https://generaltranslation.com/es/blog/gt-sanity_v2_0_0.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 
Authors: Brian Lou
Published: 2026-04-01

## Descripción general

`gt-sanity` v2 es un lanzamiento importante que actualiza el plugin para ofrecer compatibilidad con Sanity v5 y React 19, simplifica la configuración con un cuadro de diálogo para traducir que no requiere configuración y añade nuevas opciones para controlar qué campos aparecen en los documentos traducidos.

***

## Novedades

### Configuración más sencilla: cuadro de diálogo Traducir

El cambio más importante de la v2 es cómo los desarrolladores interactúan con la interfaz de usuario de traducción. Antes, tenías que configurar `structureTool` con un `defaultDocumentNode` personalizado para añadir una pestaña Translations a tus documentos. Ahora, el plugin añade automáticamente la acción **Traducir** a todos los documentos; al hacer clic en ella, se abre un cuadro de diálogo con toda la interfaz de usuario de traducción.

Esto significa que la configuración mínima consta de solo dos pasos: instalar el plugin y añadirlo a tu configuración.

```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'],
    }),
  ],
});
```

El componente `TranslationsTab` se sigue exportando para quienes prefieren una pestaña específica, pero ahora es opcional.


### Opción de configuración `defaultLocale`

Si ya tienes un `gt.config.json` de usar `gt-next` o `gt-react`, ahora puedes expandirlo directamente en la configuración del plugin. El campo `defaultLocale` se admite como alias de `sourceLocale`:

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

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

Si se proporcionan tanto `sourceLocale` como `defaultLocale`, `sourceLocale` prevalece.


### Opción `skipFields`

Una nueva opción de configuración, `skipFields`, elimina por completo los campos coincidentes de los documentos traducidos. Esto es distinto de `ignoreFields`, que copia el valor del documento de origen en el documento traducido: `skipFields` garantiza que el campo no aparezca en absoluto en el documento traducido.

Usa `skipFields` para campos como slugs de documento únicos, URL canónicas de SEO o metadatos exclusivos del origen que no deberían trasladarse a las traducciones:

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

En cambio, `ignoreFields` sirve para los campos que no quieres traducir, pero que sí quieres copiar desde la fuente, como categorías, etiquetas o metadatos internos que deben tener el mismo valor en todos los idiomas.

Al igual que con `ignoreFields`, puedes aplicar las reglas de omisión a documentos específicos mediante `documentId` y usar expresiones [JSONPath](https://goessner.net/articles/JsonPath/) para `property`.


### Mejora en el comportamiento de `ignoreFields`

En la v1, los campos ignorados solo se restauraban desde el documento de origen *después* de la traducción; el contenido seguía enviándose a la API de traducción. En la v2, los campos ignorados ahora se eliminan del documento **antes** de la serialización, por lo que el contenido ignorado nunca se envía a la API.

***

## Cambios incompatibles

### Sanity v5 y React 19

`gt-sanity` v2 requiere Sanity v5+ y React 19+. Si aún usas Sanity v3 o v4, sigue usando `gt-sanity` v1.

### La pestaña Translations ya no se registra automáticamente

El plugin ya no registra automáticamente la vista de la pestaña Translations. El cuadro de diálogo Traducir la sustituye como modelo de interacción predeterminado. Si aún quieres una pestaña dedicada, puedes añadirla manualmente; consulta el [Quickstart](/docs/integrations/sanity/quickstart).

***

## Enlaces

* [Quickstart](/docs/integrations/sanity/quickstart)
* [Guía de configuración](/docs/integrations/sanity/guides/configuring-sanity)
* [Referencia de la API](/docs/integrations/sanity/reference/plugin-configuration)

## Sitemap

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