# gt-next: General Translation Next.js SDK: El componente T URL: https://generaltranslation.com/es/docs/next/guides/t.mdx --- title: El componente T description: Cómo internacionalizar componentes JSX con el componente T --- {/* GENERADO AUTOMÁTICAMENTE: No edites esto directamente. En su lugar, edita el template en content/docs-templates/. */} El [componente ``](/docs/next/api/components/t) es la herramienta principal para internacionalizar el contenido JSX de tu aplicación Next.js. Envuelve tus 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. Puede 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, como establecer un `id` o un `context` específicos. ## Inicio rápido Transforma cualquier contenido JSX estático envolviéndolo en [``](/docs/next/api/components/t): ```jsx import { T } from 'gt-next'; // Antes function Greeting() { return

Hello, world!

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

Hello, world!

; } ``` Para el contenido dinámico dentro de [``](/docs/next/api/components/t), usa [Componentes de variable](/docs/next/guides/variables) y [Componentes de ramificación](/docs/next/guides/branches). ## Uso básico El [componente ``](/docs/next/api/components/t) acepta cualquier contenido JSX como elemento secundario: ```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/next/api/components/t) **solo con 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 usarse dentro de [``](/docs/next/api/components/t) con contenido dinámico. Consulta las guías de [Componentes de variable](/docs/next/guides/variables) y [Componentes de ramificación](/docs/next/guides/branches) para 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/next/api/components/var) en la [guía de componentes de variable](/docs/next/guides/variables). ## Configuración para producción ### Proceso de compilación Añade la traducción a tu flujo de compilación: ```json title="package.json" { "scripts": { "build": "npx gt translate && <...YOUR_BUILD_COMMAND...>" } } ``` ### Comportamiento en desarrollo vs. producción * **Desarrollo**: Con una clave API de desarrollo, las traducciones se realizan on-demand a medida que se renderizan los componentes. Verás traducciones en tiempo real mientras desarrollas. * **Producción**: Todas las traducciones se generan previamente durante la etapa de compilación y estarán visibles una vez que tu aplicación esté en producción. Configura tu clave API de desarrollo en tu entorno para activar la traducción en tiempo real durante el desarrollo. Puedes crearla en el Dashboard, en [API Keys](https://dash.generaltranslation.com/en-US/project/api-keys). ### Consideraciones de privacidad El contenido de los componentes [``](/docs/next/api/components/t) se envía a la API de GT para su traducción. Para datos sensibles, usa [Componentes de variable](/docs/next/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 en conjunto. ```jsx // ✅ Bien — agrupar contenido relacionado da a los traductores contexto completo

Welcome to Our Platform

Get started in minutes with our simple setup process.

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

{feature.title}

{feature.description}

))} // ❌ Demasiado fragmentado — divide 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 práctica:** si el texto guarda relación visual o semántica, envuélvelo en un solo ``. Divídelo solo cuando el contenido sea realmente independiente (p. ej., una cabecera frente a un pie de página). Envolver más contenido en un solo `` proporciona más contexto a los traductores, lo que da lugar a traducciones más naturales: algunos idiomas reestructuran las frases o necesitan hacer referencia al contenido cercano. ## Problemas comunes ### Límites entre componentes [``](/docs/next/api/components/t) solo traduce los elementos secundarios directos, no el contenido dentro de otros componentes: ```jsx // ❌ Incorrecto - el contenido dentro de los componentes no se traducirá function MyComponent() { return

Esto no se traducirá

; }

Esto se traducirá

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

Esto se traducirá

; }

Esto se traducirá

``` ### Componentes T anidados ```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/next/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/next/guides/variables) para manejar valores dinámicos y la [guía de componentes de ramificación](/docs/next/guides/branches) para contenido condicional. ## Próximos pasos **Míralo en acción:** Consulta la [aplicación 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/next/guides/variables) - Maneja contenido dinámico en traducciones JSX * [Guía de componentes de ramificación](/docs/next/guides/branches) - Agrega lógica condicional a tus traducciones