# sanity: Introducción URL: https://generaltranslation.com/es/docs/sanity.mdx --- title: Introducción description: Descripción general del plugin de General Translation para Sanity CMS --- ## Descripción general El plugin `gt-sanity` integra General Translation directamente en Sanity Studio v5+. Ofrece un flujo de trabajo de traducción completo para tu contenido en Sanity, incluida la traducción automática, la traducción a nivel de documento y la gestión de documentos traducidos. ```typescript title="sanity.config.ts" import { defineConfig } from 'sanity'; import { gtPlugin } from 'gt-sanity'; export default defineConfig({ // ... tu configuración existente plugins: [ gtPlugin({ sourceLocale: 'en', locales: ['es', 'zh', 'ja'], }), ], }); ``` ## Cómo funciona El plugin usa el enfoque de [localización a nivel de documento](https://www.sanity.io/docs/studio/localization) de Sanity: para cada documento de origen, crea documentos traducidos independientes con el campo `language` establecido en la configuración regional de destino. **Se requieren cambios en el esquema y en las consultas.** Cada tipo de documento que traduzcas debe incluir un campo `language` en su esquema (consulta más abajo). También tendrás que actualizar las consultas de tu frontend para obtener la versión correcta del idioma. Consulta el [Inicio rápido](/docs/sanity/guides/quickstart#querying-translated-content) para ver ejemplos de configuración y consultas GROQ. ### Campo de idioma Todos los tipos de documento que traduzcas deben definir un campo `language`: ```typescript import { defineField, defineType } from 'sanity' export const articleType = defineType({ name: 'article', title: 'Article', type: 'document', fields: [ // ... tus campos existentes defineField({ name: 'language', type: 'string', readOnly: true, hidden: true, }), ], }) ``` Si usas un `languageField` personalizado en la configuración de tu plugin, el nombre del campo debe ser el mismo. ## Características principales ### Traducción de documentos Traduce documentos completos a múltiples configuraciones regionales de destino. El plugin admite Portable Text, objetos anidados, arrays y tipos de esquema personalizados. ### Operaciones por lotes Traduce varios documentos o todo tu sitio de una sola vez. Importa todas las traducciones, solo las que faltan o selecciónalas por configuración regional. ### Serialización inteligente Los documentos se serializan a HTML para traducirlos, preservando su estructura y sus metadatos. Las traducciones a idiomas con estructuras gramaticales diferentes ajustan automáticamente su estructura para sonar naturales en el idioma de destino. Los serializadores personalizados te permiten controlar cómo se manejan tipos de campo específicos. ## Interfaz del plugin El plugin ofrece tres componentes principales de la interfaz de usuario: ### Acción «Traducir» (diálogo) La acción «Traducir» se añade automáticamente a todos los documentos. Al hacer clic en el botón **Traducir** de la barra de acciones del documento, se abre un cuadro de diálogo con toda la interfaz de usuario de traducción, sin necesidad de configuración adicional. ### Pestaña Translations (opcional) ![TranslationsTab](https://assets.gtx.dev/docs/sanity-translations-tab.png) `TranslationsTab` puede añadirse opcionalmente como una vista de documento dedicada mediante `structureTool`. Ofrece la misma funcionalidad de traducción que el cuadro de diálogo, integrada como una pestaña en el editor de documentos. Consulta el [Quickstart](/docs/sanity/guides/quickstart#configuration) para ver las instrucciones de configuración. ### Página de Translations ![TranslationsPage](https://assets.gtx.dev/docs/sanity-translations-page.png) La página de Translations es una página de Sanity que proporciona una vista de las traducciones de todo el sitio. Desde esta página de gestión central, puedes: * Generar traducciones en bloque para todos los documentos * Importar traducciones en bloque para todos los documentos * Importar traducciones en bloque para documentos específicos * Reparar referencias de idioma y enlaces a otros documentos * Publicar en bloque las traducciones de cada documento ## Tipos de contenido compatibles El plugin admite la mayoría de los tipos de esquema de Sanity. Los tipos personalizados se pueden configurar con [serializadores personalizados](/docs/sanity/guides/serialization). Los campos como los slugs se pueden configurar con `dedupeFields` para que los nuevos documentos traducidos comiencen con un valor derivado del documento de origen y un sufijo único de configuración regional, como `about-es` o `about-fr`. ## Próximos pasos * [Inicio rápido](/docs/sanity/guides/quickstart) - Empieza con la instalación y la configuración inicial * [Guía de configuración](/docs/sanity/guides/configuration) - Personaliza el comportamiento del plugin * [Guía de serialización](/docs/sanity/guides/serialization) - Reglas de serialización personalizadas