# gt-react: General Translation React SDK: El componente T URL: https://generaltranslation.com/es/docs/react/guides/t.mdx --- title: El componente T description: Cómo internacionalizar componentes JSX con el componente T --- {/* GENERADO AUTOMÁTICAMENTE: No lo edites directamente. En su lugar, edita la plantilla en content/docs-templates/. */} El [componente ``](/docs/react/api/components/t) es la herramienta principal para internacionalizar el contenido JSX de tu aplicación React. Envuelve los elementos JSX y los traduce automáticamente según la configuración regional del usuario. **Consejo:** Con la [inyección automática de JSX](/docs/cli/features/auto-jsx-injection) habilitada, el compilador puede envolver automáticamente tu JSX en componentes de traducción en tiempo de construcción. Es posible que no necesites añadir `` manualmente en la mayoría de los casos. Aun así, usar `` manualmente sigue siendo útil cuando necesitas un control más preciso, por ejemplo, para establecer un `id` o un `context` específicos. ## Inicio rápido Transforma cualquier contenido JSX estático envolviéndolo en [``](/docs/react/api/components/t): ```jsx import { T } from 'gt-react'; // Antes function Greeting() { return

Hello, world!

; } // Después function Greeting() { return

Hello, world!

; } ``` Para contenido dinámico dentro de [``](/docs/react/api/components/t), usa [Componentes de variable](/docs/react/guides/variables) y [Componentes de ramificación](/docs/react/guides/branches). ## Uso básico El [componente ``](/docs/react/api/components/t) acepta cualquier contenido JSX como `children`: ```jsx // Texto simple Welcome to our app // Elementos HTML

Page Title

// JSX anidado complejo
Important: Please read carefully.
``` ## Opciones de configuración ### Añadir contexto Proporciona contexto para la traducción de términos ambiguos: ```jsx Click the toast to dismiss ``` ## Cuándo usar T Usa [``](/docs/react/api/components/t) **solo para contenido estático**: ```jsx // ✅ El contenido estático funciona

Welcome to our site

// ❌ El contenido dinámico falla

Hello {username}

Today is {new Date()}

// ✅ Usa componentes de variable para contenido dinámico

Hello {username}

``` Los componentes de variable y de ramificación están diseñados para funcionar dentro de [``](/docs/react/api/components/t) con contenido dinámico. Consulta las guías de [Componentes de variable](/docs/react/guides/variables) y [Componentes de ramificación](/docs/react/guides/branches) para obtener más detalles. ## Ejemplos ### Elementos simples ```jsx // Texto básico Hello, world! // Botón con texto // Encabezado con estilos

Welcome

``` ### Componentes complejos ```jsx // Menú de navegación // Mensaje de alerta
Your session expires in 5 minutes
``` ### Con variables Puedes usar componentes de variable para aplicar formato localizado. ```jsx // Combinando texto estático con valores dinámicos

Welcome back, {user.name}!

You have {user.friends.length} friends online

Your birthday is {user.birthday}

Your balance is {user.balance}

``` Más información sobre el [componente ``](/docs/react/api/components/var) en la [Guía de componentes de variable](/docs/react/guides/variables). ## Configuración para producción ### Proceso de compilación Integra la traducción en tu flujo de compilación: ```json title="package.json" { "scripts": { "build": "npx gt translate && <...YOUR_BUILD_COMMAND...>" } } ``` ### Comportamiento en desarrollo frente a producción * **Desarrollo**: Con una clave de API de desarrollo, las traducciones se generan bajo demanda cuando se renderizan los componentes. Verás las traducciones en tiempo real mientras desarrollas. * **Producción**: Todas las traducciones se generan previamente durante la fase de compilación y estarán disponibles una vez que tu aplicación esté en producción. Configura tu clave de API de desarrollo en tu entorno para habilitar la traducción en tiempo real durante el desarrollo. Puedes crear una en el Dashboard, en [API Keys](https://dash.generaltranslation.com/en-US/project/api-keys). ### Consideraciones de privacidad El contenido de los componentes [``](/docs/react/api/components/t) se envía a la API de GT para traducirse. Para datos sensibles, usa [componentes de variable](/docs/react/guides/variables) para mantener la información privada de forma local: ```jsx // Seguro - los datos sensibles se mantienen locales Welcome back, {username} ``` ## Cuánto incluir en un solo `` Envuelve **bloques lógicos de contenido**: contenido que un traductor leería y traduciría de forma natural como una sola unidad. ```jsx // ✅ Correcto — agrupar contenido relacionado da a los traductores el contexto completo

Welcome to Our Platform

Get started in minutes with our simple setup process.

// ✅ Correcto — cada tarjeta es una unidad independiente {features.map((feature) => (

{feature.title}

{feature.description}

))} // ❌ Demasiado granular — fragmenta la traducción y pierde contexto

Welcome to Our Platform

Get started in minutes with our simple setup process.

// ❌ Demasiado amplio — envolver toda la página dificulta el mantenimiento {/* ...cientos de líneas de JSX... */} ``` **Regla general:** si el texto está relacionado visual o semánticamente, envuélvelo en un solo ``. Divídelo solo cuando el contenido sea realmente independiente (p. ej., un encabezado frente a un pie de página). Envolver más contenido en un único `` les da a los traductores un mejor contexto, lo que da lugar a traducciones más naturales: algunos idiomas reestructuran las oraciones o necesitan hacer referencia al contenido cercano. ## Problemas comunes ### Límites de componentes [``](/docs/react/api/components/t) solo traduce los hijos directos, no el contenido dentro de otros componentes: ```jsx // ❌ Incorrecto - el contenido dentro de los componentes no se traducirá function MyComponent() { return

This won't be translated

; }

This will be translated

{/* El contenido interno no se traducirá */}
// ✅ Correcto - envuelve cada componente individualmente function MyComponent() { return

This will be translated

; }

This will be translated

``` ### Anidar componentes T ```jsx // ❌ No anides componentes Hello world {/* No hagas esto */} ``` ### Errores de contenido dinámico La CLI mostrará un error si hay contenido dinámico en [``](/docs/react/api/components/t). Envuelve los valores dinámicos con componentes de variable: ```jsx // ❌ Incorrecto - el contenido dinámico falla

Hello {username}

// ✅ Correcto - usa componentes de variable

Hello {username}

``` Consulta la [Guía de componentes de variable](/docs/react/guides/variables) para gestionar valores dinámicos y la [Guía de componentes de ramificación](/docs/react/guides/branches) para contenido condicional. ## Próximos pasos **Míralo en acción:** Consulta la [app de ejemplo de conceptos básicos del componente ``](https://github.com/gt-examples/t-component-basics) para ver una demostración funcional — [vista previa en vivo](https://t-component-basics.generaltranslation.dev). * [Guía de componentes de variable](/docs/react/guides/variables) - Maneja contenido dinámico en las traducciones de JSX * [Guía de componentes de ramificación](/docs/react/guides/branches) - Agrega lógica condicional a tus traducciones