# General Translation Integrations: Inicio rápido URL: https://generaltranslation.com/es/docs/integrations/sanity/quickstart.mdx --- title: Inicio rápido description: Instala gt-sanity, añade el plugin de General Translation a Sanity Studio y traduce tu primer documento. related: links: - /docs/integrations/sanity/guides/translating-content - /docs/integrations/sanity/guides/managing-translations - /docs/integrations/sanity/guides/querying-translations - /docs/integrations/sanity/guides/configuring-sanity --- El plugin `gt-sanity` de General Translation traduce documentos de Sanity desde Sanity Studio. El plugin usa localización a nivel de documento: cada traducción se almacena como un documento independiente de Sanity con un campo de idioma, como `language: "es"`. Las traducciones se vinculan al documento fuente mediante un documento `translation.metadata` gestionado por `@sanity/document-internationalization`. ## Antes de empezar [#before-start] Necesitas: * Sanity Studio 5.0.0 o una versión posterior. * React 19.2.0 o una versión posterior. * Un proyecto de Sanity existente. * Un [ID del proyecto](/docs/platform/dashboard/get-started) de General Translation y una [clave de API](/docs/platform/dashboard/reference/api-keys) de producción. ## Inicio rápido [#quickstart] ### 1. Instala `gt-sanity` [#install] Instala el plugin en tu proyecto de Sanity Studio. ```bash npm install gt-sanity ``` ```bash yarn add gt-sanity ``` ```bash bun add gt-sanity ``` ```bash pnpm add gt-sanity ``` ### 2. Añade el plugin [#add-plugin] Añade `gtPlugin` a `sanity.config.ts`. Configura la configuración regional de origen, las configuraciones regionales de destino y los tipos de documento que se traducirán. ```ts 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'], translateDocuments: [{ type: 'article' }, { type: 'page' }], }), ], }); ``` Cuando `translateDocuments` incluye tipos de documento, el plugin añade automáticamente el plugin `@sanity/document-internationalization`: insignias de idioma, un menú de traducción en la barra de herramientas del documento y plantillas de documentos por idioma. Establece `showDocumentInternationalization: false` para desactivarlo. ### 3. Añade un campo de idioma [#language-field] Todos los tipos de documento que traduzcas necesitan un campo de idioma. De forma predeterminada, se llama `language`. ```ts title="schema/article.ts" 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 defines un [`languageField`](/docs/integrations/sanity/reference/plugin-configuration#language-field) personalizado en las opciones del plugin, usa ese nombre en tu schema en lugar de `language`. ### 4. Guarda las credenciales [#credentials] El plugin lee tu clave de API de General Translation y el ID del proyecto desde un documento privado de Sanity. Crea un archivo temporal `populateSecrets.js` en la carpeta de tu Studio. ```js title="populateSecrets.js" import { getCliClient } from 'sanity/cli'; const client = getCliClient({ apiVersion: '2026-04-06' }); client.createOrReplace({ // El `.` inicial en este _id mantiene el documento privado, // incluso en un dataset público. _id: 'generaltranslation.secrets', _type: 'generaltranslation.secrets', secret: process.env.GT_API_KEY, project: process.env.GT_PROJECT_ID, }); ``` Ejecuta el script con tus credenciales: ```bash GT_API_KEY=your-api-key GT_PROJECT_ID=your-project-id npx sanity exec populateSecrets.js --with-user-token ``` El `_id` del documento debe coincidir con el `secretsNamespace` del plugin (valor predeterminado: `generaltranslation.secrets`). El plugin lee el campo `secret` como la clave de API y el campo `project` como el ID del proyecto. Verifica que el documento exista con la herramienta Vision en tu Studio: ```text *[_id == 'generaltranslation.secrets'] ``` Si usas varios conjuntos de datos, repite este paso para cada uno. Después de verificarlo, elimina `populateSecrets.js`. ### 5. Traducir un documento [#translate-document] 1. Abre un documento en el idioma de origen en Sanity Studio. 2. Haz clic en **Traducir** en la barra de acciones del documento. 3. Selecciona las configuraciones regionales de destino. 4. Haz clic en **Generar traducciones**. En el diálogo del documento, el plugin consulta periódicamente si hay traducciones completadas y las importa automáticamente. Después de la importación, actualiza las referencias del documento y publica los documentos traducidos, ya que la importación automática, la actualización automática de referencias y la publicación automática están activadas de forma predeterminada en este diálogo. Consulta las guías completas para [traducir contenido](/docs/integrations/sanity/guides/translating-content) y [administrar traducciones](/docs/integrations/sanity/guides/managing-translations). ### 6. Consultar contenido traducido [#query-content] Las traducciones se almacenan como documentos separados con un campo de idioma. Para obtener contenido traducido, filtra por el campo de idioma. ```text // Los documentos del idioma de origen no establecen el campo de idioma de forma predeterminada *[_type == "article" && !defined(language)]{ title, slug, body } ``` ```text // Obtener artículos en español *[_type == "article" && language == "es"]{ title, slug, body } ``` Consulta [Consulta de traducciones](/docs/integrations/sanity/guides/querying-translations) para ver más patrones de consulta. ## Next steps - /docs/integrations/sanity/guides/translating-content - /docs/integrations/sanity/guides/managing-translations - /docs/integrations/sanity/guides/querying-translations - /docs/integrations/sanity/guides/configuring-sanity