# General Translation Knowledge Base: ¿Cómo doy a la traducción con IA suficiente contexto para las cadenas de software?
URL: https://generaltranslation.com/es/kb/ai-translation-context.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Traduce mensajes completos con notas sobre su significado, la función de cada marcador de posición, límites de longitud y terminología compartida. La CLI de General Translation extrae el JSX marcado como un bloque estructurado e incorpora las notas de contexto a la generación. Para los catálogos JSON y YAML existentes, los metadatos asociados a claves aportan instrucciones para cada cadena. Los grupos de contexto aplican tu glosario y tus prompts personalizados en todos los proyectos asignados, y los revisores corrigen el resultado en el panel de control.
Category: Traducción
Last updated: 2026-11-13
Authors: Jackie Chen
Published: 2026-11-13

Una cadena breve de la interfaz puede admitir varias traducciones correctas. Pensemos en &quot;Free&quot;: en una etiqueta de precios significa &quot;gratis&quot; (en alemán, *kostenlos*), mientras que en un mapa de asientos significa &quot;disponible&quot; (en alemán, *frei*). La palabra por sí sola no indica a qué significado te refieres. Proporciona la información que pediría un traductor humano: qué describe el texto y qué puede hacer el usuario a continuación.

## ¿Qué contexto necesita un modelo de traducción?

| Contexto                                  | Qué le indica al modelo                                                 | Ejemplo                                                                         | Cómo proporcionarlo                                    |
| ----------------------------------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------ |
| La oración o el bloque de UI que la rodea | Cómo encajan las palabras entre sí, incluidos los enlaces y el formato  | «Lee nuestros **términos** antes de continuar», traducido como una sola oración | Traduce bloques completos, no fragmentos               |
| Una nota de significado                   | Qué sentido de una palabra ambigua se busca                             | «Free» significa disponible                                                     | Una descripción, un comentario o una nota de `context` |
| Rol en la UI y límite de longitud         | Si es un botón, un encabezado o un tooltip, y de cuánto espacio dispone | Una etiqueta de pestaña que no puede superar los 12 caracteres                  | Una nota de rol y una longitud máxima                  |
| Variables y marcadores de posición        | Qué contiene un valor y que no debe traducirse                          | `{name}` es el nombre de pila de una persona                                    | Sintaxis de marcadores de posición y una nota          |
| Terminología                              | Nombres de productos y términos con una única traducción aprobada       | «Workspace» nunca se traduce como «office»                                      | Un glosario                                            |
| Tono y formalidad                         | Cómo se dirige el producto al usuario                                   | El *Sie* formal en alemán                                                       | Reglas de estilo                                       |
| Dónde aparece                             | Qué hay en pantalla alrededor de la cadena                              | Una captura de pantalla de la página de pago                                    | Capturas de pantalla adjuntas en un TMS                |

La terminología y las reglas de estilo se aplican a todas las cadenas, así que basta con configurarlas una vez. La [guía de glosarios](/kb/ai-translation-glossary) explica cómo mantener la coherencia terminológica. El resto es contexto propio de cada cadena, y es ahí donde más difieren los flujos de trabajo.

## ¿Cómo aportan contexto los flujos de trabajo basados en catálogos?

Cuando las cadenas se almacenan en catálogos de clave-valor, el contexto viaja en campos junto a cada clave:

* **Descripciones de mensajes.** Los [descriptores de mensajes de react-intl](https://formatjs.github.io/docs/react-intl/api#message-descriptor) aceptan una `description` que la extracción puede conservar. Los archivos PO de gettext incluyen comentarios extraídos (`#.`) para los traductores y [`msgctxt`](https://www.gnu.org/software/gettext/manual/html_node/Contexts.html) para diferenciar cadenas idénticas con significados distintos.
* **Comentarios de plataforma.** Los archivos XML de Android y los archivos `.strings` de Apple admiten comentarios; los String Catalogs de Apple y las entradas `.resx` de .NET tienen campos de comentario. Tu exportación y tu integración de traducción deben conservar esas notas de principio a fin.
* **Nombres de claves.** Una clave como `pricing.badge.free` da pistas sobre el significado, aunque un modelo no puede fiarse de ella. La [guía de nomenclatura de claves](/kb/i18n-key-naming) explica cómo nombrar las claves según su significado.
* **Campos del TMS.** Los sistemas de gestión de traducciones añaden descripciones, capturas de pantalla y límites de caracteres por clave. [SimpleLocalize](/kb/general-translation-vs-simplelocalize), por ejemplo, guarda para cada clave una descripción de código escrita por el desarrollador y una descripción para el traductor. [SimpleLocalize AI](https://simplelocalize.io/docs/general/auto-translation/#simplelocalize-ai) utiliza esas descripciones, capturas de pantalla y comentarios durante la traducción.

Mantén cada oración completa, con sus marcadores de posición y su marcado. Un catálogo puede guardarla bajo una sola clave; dividirla en fragmentos traducidos por separado dificulta reordenar sus partes. Después, comprueba que las notas lleguen al paso de traducción. Una descripción en un editor o en un archivo de origen solo sirve si la integración la transmite.

## ¿Cómo envía General Translation el contexto desde tu código?

General Translation parte del componente. [`<T>`](/docs/react/reference/components/t) marca un bloque de JSX, y la CLI extrae su texto, la estructura de elementos, los marcadores de posición de variables y la nota para el servicio de traducción. El SDK renderiza el resultado con tus valores en tiempo de ejecución:

```tsx title="src/SeatStatus.tsx"
import { T, Var } from 'gt-react';

export function SeatStatus({ seat }: { seat: string }) {
  return (
    <T context="Seat map. Free means the seat is available, not that it costs nothing.">
      <p>
        Seat <Var>{seat}</Var> is free. <a href="/checkout">Book it now</a>
      </p>
    </T>
  );
}
```

* **El bloque es la unidad.** La oración, el marcador de posición del asiento y el texto del enlace viajan juntos, de modo que el servicio puede traducirlos y reordenarlos sin perder los elementos. El valor del asiento en tiempo de ejecución permanece en la app. La [guía de JSX condicional](/kb/translate-conditional-jsx) muestra cómo funciona esto en oraciones con ramas.
* **Las notas y los límites van junto al texto.** La prop `context` resuelve ambigüedades, y la prop `maxChars` solicita un límite de longitud best effort, por ejemplo, `<T maxChars={12}>` en la etiqueta de una pestaña. Las cadenas fuera de JSX admiten las mismas opciones en [`gt()`](/docs/react/reference/hooks/use-gt) como `$context` y `$maxChars`.
* **El código fuente como contexto.** En `files.gt.parsingFlags` dentro de `gt.config.json`, establece `includeSourceCodeContext` en `true` para enviar las líneas de código circundantes como contexto adicional. Es de activación voluntaria y complementa el bloque extraído. (Consulta [análisis de contenido en línea](/docs/cli/reference/formats/gt-jsx-files#parsing)).
* **Valores que no se traducen.** Envuelve nombres, correos electrónicos y otros valores dinámicos en [`<Var>`](/docs/react/reference/components/var); su contenido no se envía a traducir y la traducción mantiene el marcador de posición en su sitio.
* **Contexto para catálogos existentes.** En archivos JSON y YAML, un archivo complementario de [metadatos asociados a claves](/docs/cli/reference/keyed-metadata) añade una nota `context` y un límite `maxChars` por clave. Los comentarios de los archivos [Android `strings.xml`](/docs/cli/reference/formats/android-strings-files), [Apple `.strings`](/docs/cli/reference/formats/dot-strings-files) y [`.resx`](/docs/cli/reference/formats/resx-files) se envían a la traducción como contexto.
* **Términos y tono compartidos.** Los [grupos de contexto](/docs/platform/dashboard/guides/defining-context-for-translations) contienen un glosario y prompts personalizados, y los aplican a todos los proyectos a los que los asignes. Crea uno desde un proyecto con **Autogenerate from project files** para generar un borrador de términos y prompts a partir de tus textos existentes. Además, un agente de programación puede actualizarlos mediante el [servidor MCP](/docs/overview/for-coding-agents#mcp) de General Translation.

En un catálogo con claves, la misma instrucción sobre el mapa de asientos va junto al archivo de origen. Con estos dos archivos puedes conservar la clave y la biblioteca que ya tienes:

```json title="locales/en.json"
{
  "seatStatus": "Free"
}
```

```json title="locales/en.metadata.json"
{
  "seatStatus": {
    "context": "Seat map. Free means the seat is available, not that it costs nothing.",
    "maxChars": 12
  }
}
```

## ¿Cómo sé si el contexto es suficiente?

Reúne botones de una sola palabra, palabras con varios significados, oraciones con variables y plurales. Tradúcelos a los idiomas con los que vas a lanzar y pide a alguien que domine cada idioma que los revise en el [panel de control](/kb/review-translations). Corrige allí la redacción actual y, después, añade la información que falta donde corresponda: una nota de `context` para esa cadena, o bien un término del glosario o un prompt personalizado si el problema puede repetirse. Las instrucciones actualizadas orientan las generaciones posteriores, pero no reescriben por sí solas las traducciones ya guardadas. En la [guía sobre la precisión de la traducción con IA](/kb/is-ai-translation-accurate) se explica cómo elaborar una evaluación más completa.

## Puntos clave

* Mantén cada mensaje junto con sus marcadores de posición, tanto si lo escribes en JSX como bajo una clave del catálogo.
* General Translation incorpora la estructura marcada y las notas explícitas al proceso de generación; las líneas de origen de activación voluntaria y los grupos de contexto compartidos aportan significado más allá del propio mensaje.
* Corrige la salida existente y mejora las instrucciones para futuras traducciones. Revisa el significado y el layout por separado.

## Related questions

- [¿Cómo mantengo la coherencia terminológica en la traducción con IA?](https://generaltranslation.com/es/kb/ai-translation-glossary.mdx): Mantén un único glosario de términos aprobados, incluidos los nombres que no se traducen, aplícalo a todas las solicitudes de traducción, deja las variables y el código fuera de la traducción y revisa el resultado. General Translation lo consigue con los grupos de contexto, cuyo glosario y prompts personalizados se aplican a todos los proyectos a los que los asignes, además del componente Var para los valores que nunca se traducen.
- [¿Es la traducción con IA lo bastante precisa para una aplicación en producción?](https://generaltranslation.com/es/kb/is-ai-translation-accurate.mdx): A menudo sí, en los idiomas más hablados, pero solo después de superar una evaluación con tus propios idiomas, cadenas de UI y contenido de mayor riesgo. En WMT25, Gemini 2.5 Pro igualó o superó a las traducciones humanas de referencia en 10 de 16 pares de idiomas; aun así, un benchmark basado en documentos no demuestra si las cadenas cortas de interfaz están listas para publicarse.
- [¿Cómo traduzco texto condicional en JSX?](https://generaltranslation.com/es/kb/translate-conditional-jsx.mdx): Mantén la oración completa y traduce cada una de sus versiones, porque un ternario la divide en fragmentos que pierden su significado y su lugar en el orden de palabras de cada idioma. General Translation lo resuelve con `<Branch>` dentro de `<T>`, que traduce la oración como una sola unidad.
- [¿Se puede localizar software sin traductores ni un equipo de localización?](https://generaltranslation.com/es/kb/localize-without-translators.mdx): Sí, puedes localizar sin un equipo de traducción dedicado. General Translation genera el texto nuevo y modificado durante la compilación a partir del contexto del código y de una terminología compartida, y Locadex puede marcar el texto nuevo de React y Next.js. Compañeros bilingües o revisores autónomos corrigen la redacción en el panel de control sin tarifas por puesto. Define los requisitos de revisión según el idioma y lo que cueste un error.
- [¿Cómo debo nombrar las claves de traducción de i18n?](https://generaltranslation.com/es/kb/i18n-key-naming.mdx): Nombra las claves según dónde aparece el texto y qué significa, como checkout.summary.title, y no según su redacción en inglés. Asigna a cada uso distinto su propia clave, aunque el texto en inglés coincida: en alemán, el botón Open se traduce como Öffnen y el estado Open como Offen.

## Previous and next questions

- Previous question: [Tiempo de compilación, tiempo de ejecución o proxy de traducción: ¿cómo deberías entregar las traducciones?](https://generaltranslation.com/es/kb/build-time-vs-runtime-translation.mdx)
- Next question: [¿Se puede localizar software sin traductores ni un equipo de localización?](https://generaltranslation.com/es/kb/localize-without-translators.mdx)

## Sitemap

See the [Knowledge Base sitemap](https://generaltranslation.com/es/kb/sitemap.md) for every article.
