# General Translation Integrations: Traducir contenido
URL: https://generaltranslation.com/es/docs/integrations/sanity/guides/translating-content.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Cómo traducir documentos de Sanity desde la acción del documento, la vista de pestañas o la página Translations.

Genera traducciones a nivel de documento o a nivel de campo con el plugin de General Translation.

Las traducciones a nivel de documento crean un documento para cada configuración regional. Las traducciones a nivel de campo añaden valores localizados a listas internacionalizadas en el documento de origen.

## Traducir un documento [#translate-one]

La acción **Traducir** está disponible en todos los documentos, pero las herramientas de traducción solo aparecen en los documentos en el idioma de origen. En un documento traducido, el cuadro de diálogo muestra un mensaje en su lugar.

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. En **Traducir**, selecciona las configuraciones regionales de destino.
4. Haz clic en **Traducir**.

El cuadro de diálogo muestra cada configuración regional como **No traducido**, **Traduciendo…**, **Listo para importar** o **Importado** en **Estado de la traducción**. Mientras haya una ejecución pendiente, el botón **Traducir** permanece deshabilitado.

Para la localización a nivel de documento, la actualización automática y la importación automática están habilitadas de forma predeterminada, por lo que las traducciones que finalizan mientras el cuadro de diálogo está abierto se importan como borradores. La aplicación automática de parches y la publicación automática están deshabilitadas de forma predeterminada. Puedes activar o desactivar cada comportamiento, importar manualmente una configuración regional desde su fila de estado o usar **Importar todo**, **Aplicar parches a referencias** y **Publicar traducciones**. Una traducción que ya estaba completa cuando abriste el cuadro de diálogo no se vuelve a importar automáticamente, lo que conserva las ediciones de su documento de Sanity.

Para la localización a nivel de campo, la importación fusiona los valores traducidos en campos `internationalizedArray*` del mismo documento. Revisa y publica ese documento en Sanity. La aplicación de parches a referencias y los controles de publicación de traducciones solo se aplican a las traducciones a nivel de documento.

## Usa la pestaña Translations [#translations-tab]

Si tu Studio incluye `TranslationsTab`, abre la pestaña **General Translation** de un documento. Ofrece el mismo flujo de trabajo que la acción **Traducir**, pero permanece visible dentro del editor de documentos.

(Consulta [Configurar Sanity](/docs/integrations/sanity/guides/configuring-sanity#translations-tab) para añadir la pestaña).

## Traducir varios documentos [#translate-many]

Usa la herramienta **Translations** de todo el sitio para trabajar con todos los documentos traducibles a la vez. Desde allí puedes:

* Generar traducciones para todos los documentos (**Traducir todo**).
* Importar todas las traducciones listas (**Importar todo**).
* Importar solo las traducciones que todavía no se hayan importado (**Import Missing**).
* Corregir las referencias entre documentos traducidos (**Aplicar parches a referencias**).
* Publicar los documentos traducidos cuyo documento de origen esté publicado (**Publicar traducciones**).
* Enviar a General Translation las traducciones que ya están en Sanity (**Guardar ediciones locales**).

(Consulta [Gestionar traducciones](/docs/integrations/sanity/guides/managing-translations)).

## Conservar las ediciones en las traducciones [#preserve-edits]

Los editores suelen revisar el contenido traducido después de recibirlo de General Translation. De forma predeterminada, una ejecución posterior vuelve a generar ese contenido y se pierden esas ediciones.

Activa **Guardar ediciones locales** para conservarlas. Con el interruptor activado, cada ejecución de traducción envía primero a General Translation las traducciones que se encuentran actualmente en Sanity para los documentos que ya tienen una versión de origen de General Translation. El contenido cuyo texto de origen no haya cambiado se reutiliza desde Sanity en lugar de traducirse de nuevo.

El interruptor se encuentra en la herramienta **Translations** y, en la pestaña del documento, aparece como **Guardar ediciones locales antes de traducir**. Está desactivado de forma predeterminada. Al activarlo, se solicita confirmación; al desactivarlo, el cambio surte efecto de inmediato.

El plugin recuerda esta opción en el almacenamiento del navegador para el proyecto y conjunto de datos actuales de Sanity. Tiene prioridad sobre el valor predeterminado configurado de [`preserveExistingTranslations`](/docs/integrations/sanity/reference/plugin-configuration#preserve-existing-translations) en visitas posteriores.

Se admiten ambas estrategias de localización. Las traducciones a nivel de documento se leen mediante `translation.metadata` y se priorizan los borradores sobre los documentos publicados para que se tengan en cuenta las ediciones sin publicar. Las traducciones a nivel de campo se leen de las listas internacionalizadas del documento de origen. Se omiten las configuraciones regionales que no tengan contenido existente.

<Callout type="warn">
  Al activar esta opción, Sanity pasa a ser la fuente de referencia. El contenido de Sanity reemplaza todo lo que General Translation tenga para esa versión del documento, incluida una traducción finalizada que aún no se haya importado. Importa primero las traducciones pendientes.
</Callout>

Si el plugin no puede enviar las traducciones existentes, la ejecución de traducción continúa y Studio advierte que las ediciones podrían sobrescribirse.

## Guardar ediciones locales sin traducir [#save-local-edits]

Usa la acción **Guardar ediciones locales** para enviar a General Translation las traducciones que ya existen en Sanity sin iniciar una ejecución de traducción. El plugin carga los archivos fuente necesarios y, a continuación, guarda el contenido existente de cada configuración regional como la traducción de esa versión. Usa esta acción antes del interruptor cuando un documento aún no tenga una versión de origen de General Translation.

Esto resulta útil al adoptar el plugin en un proyecto que se tradujo en otro lugar, ya que General Translation comienza con el contenido que ya tienes.

La acción está disponible en la herramienta **Translations** y en la pestaña del documento. Se ejecuta bajo demanda y no depende del interruptor **Guardar ediciones locales**.

## Regenerar traducciones [#retranslate]

Para descartar las traducciones existentes y volver a generarlas, abre **Traducir todo** y selecciona **Retraducir desde cero**. El botón de confirmación cambia a **Retraducir todo**.

Esto descarta las ediciones realizadas en documentos traducidos en Studio y omite el paso **Guardar ediciones locales** en esa ejecución. Deja la casilla sin seleccionar para reutilizar las traducciones existentes.

Esta opción solo está disponible en el cuadro de diálogo **Traducir todo**. El flujo de trabajo **Traducir** de un solo documento siempre reutiliza las traducciones existentes y respeta la opción **Guardar ediciones locales**.

## Qué se traduce [#what-translated]

El plugin serializa los documentos a HTML, envía ese HTML para traducirlo y luego incorpora el HTML traducido en documentos de configuración regional o campos de lista internacionalizados, según `translationLevel`. Procesa recursivamente:

* Campos de tipo string y de texto.
* Bloques de Portable Text.
* Objetos anidados.
* Listas.

Algunos tipos de campo se conservan y no se envían para traducción de forma predeterminada, incluidas las referencias, las fechas, los archivos, las imágenes, los números, los booleanos, las URL, los colores, el código y los geopoints. (Consulta los [tipos excluidos predeterminados](/docs/integrations/sanity/reference/plugin-configuration#stop-types)).

Los campos slug *no* se excluyen de forma predeterminada, por lo que el valor `current` de un slug se envía para traducción. Usa `dedupeFields` o `skipFields` para controlar el comportamiento del slug.

## Gestionar referencias [#references]

Las traducciones a nivel de documento pueden hacer referencia a otros documentos. El plugin busca la traducción de cada documento referenciado y reescribe la referencia para que apunte a la versión correcta de la configuración regional, cuando exista.

Activa **Aplicar parches automáticamente después de importar** para ejecutar esto después de cada importación, o usa **Aplicar parches a referencias** a demanda. La aplicación automática de parches está desactivada de forma predeterminada. (Consulta [Gestionar traducciones](/docs/integrations/sanity/guides/managing-translations#patch-references)).

## Gestiona slugs y campos copiados [#slugs-fields]

Algunos campos no deben traducirse directamente. Usa reglas de coincidencia de campos para controlarlos:

* `dedupeFields` — copia el valor de origen y agrega la configuración regional para que sea único en cada documento, por ejemplo, de `about` a `about-es`. Se usa habitualmente para slugs.
* `ignoreFields` — copia el valor de origen sin cambios en cada documento traducido.
* `skipFields` — elimina por completo el campo de los documentos traducidos.

(Consulta [Gestionar traducciones](/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

## Sitemap

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