# react-native: El componente T URL: https://generaltranslation.com/es/docs/react-native/guides/t.mdx --- title: El componente T description: Cómo internacionalizar componentes JSX con el componente T --- {/* GENERADO AUTOMÁTICAMENTE: No edites este archivo directamente. En su lugar, edita la plantilla en content/docs-templates/. */} El [componente ``](/docs/react-native/api/components/t) es la herramienta principal para internacionalizar el contenido JSX de tu aplicación de React Native. 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 agregar `` 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-native/api/components/t): ```jsx import { T } from 'gt-react-native'; // Antes function Greeting() { return

Hello, world!

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

Hello, world!

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

Page Title

// JSX anidado complejo
Important: Please read carefully.
``` ## Opciones de configuración ### Agregar contexto Proporciona contexto de traducción para términos ambiguos: ```jsx Click the toast to dismiss ``` ## Cuándo usar T Usa [``](/docs/react-native/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 componentes condicionales están diseñados para usarse dentro de [``](/docs/react-native/api/components/t) con contenido dinámico. Consulta las guías de [Componentes de variable](/docs/react-native/guides/variables) y [Componentes condicionales](/docs/react-native/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/react-native/api/components/var) en la [Guía de componentes de variable](/docs/react-native/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 de API de desarrollo, las traducciones se generan bajo demanda cuando se renderizan los componentes. Verás la traducción en tiempo real mientras desarrollas. * **Producción**: Todas las traducciones se precompilan durante la fase de compilación y estarán visibles una vez que tu aplicación esté en producción. Configura tu clave de API de desarrollo en el 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-native/api/components/t) se envía a la API de GT para traducirse. Si manejas datos sensibles, usa [componentes de variable](/docs/react-native/guides/variables) para mantener la información privada en local: ```jsx // Seguro - los datos sensibles se mantienen locales Welcome back, {username} ``` ## Cuánto envolver en un solo `` Envuelve **bloques lógicos de contenido**: contenido que un traductor leería y traduciría naturalmente como una sola unidad. ```jsx // ✅ Correcto — agrupar contenido relacionado da a los traductores 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 práctica:** si un 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). Agrupar más contenido en un único `` da más contexto a los traductores, lo que permite obtener traducciones más naturales: algunos idiomas reestructuran las frases o necesitan hacer referencia al contenido cercano. ## Problemas comunes ### Límites de los componentes [``](/docs/react-native/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 generará un error si hay contenido dinámico en [``](/docs/react-native/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-native/guides/variables) para manejar valores dinámicos y la [Guía de componentes condicionales](/docs/react-native/guides/branches) para el contenido condicional. ## Próximos pasos **Míralo en acción:** Echa un vistazo a la [aplicación de ejemplo de conceptos básicos del componente ``](https://github.com/gt-examples/t-component-basics) para ver una demo funcional — [vista previa en vivo](https://t-component-basics.generaltranslation.dev). * [Guía de componentes de variable](/docs/react-native/guides/variables) - Maneja contenido dinámico en las traducciones de JSX * [Guía de componentes condicionales](/docs/react-native/guides/branches) - Agrega lógica condicional a tus traducciones