# react-native: T URL: https://generaltranslation.com/es/docs/react-native/api/components/t.mdx --- title: T description: Referencia de la API del componente T --- {/* GENERADO AUTOMÁTICAMENTE: No edites esto directamente. Edita la plantilla en content/docs-templates/. */} ## Descripción general El componente `` es el método principal de traducción en `gt-react-native`. ```jsx // [!code highlight] Today, I went to {" the store"}

to buy some groceries.

// [!code highlight] ``` El componente `` admite la traducción de texto sin formato, así como de estructuras JSX complejas. Además, ofrece funciones para gestionar variables, plurales y traducciones según el contexto. **Traducción en tiempo de construcción:** Las traducciones de `` se realizan en tiempo de construcción. Esto significa que la traducción se hace antes del despliegue para reducir la latencia. Asegúrate de seguir [esta guía de despliegue](/docs/react-native/tutorials/quickdeploy). ## Referencia ### Props ### Descripciones | Prop | Descripción | | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `children` | El contenido que se debe traducir. Puede incluir texto sin formato o estructuras JSX. | | `id` | Un identificador único para la cadena de traducción. Esto garantiza una traducción coherente en toda la aplicación. | | `context` | Contexto adicional para afinar la traducción. Útil para resolver frases ambiguas. | | `requiresReview` | Cuando es `true`, la traducción no se sirve hasta que se apruebe en un paso de revisión humana. Debe ser un literal booleano. `$requiresReview` es un alias equivalente. | ### Devuelve `React.JSX.Element|undefined`, que contiene la traducción renderizada o el contenido alternativo según la configuración proporcionada. *** ## Comportamiento ### Producción Durante el proceso de CD, cualquier contenido dentro de un `` se traducirá antes de desplegar tu aplicación. Esto garantiza tiempos de carga rápidos para todas las configuraciones regionales, pero solo puede traducir contenido conocido en tiempo de construcción. Una vez generadas, las traducciones se almacenan (1) en la CDN o (2) en la salida de compilación de tu aplicación, según tu configuración. A partir de ahí, el contenido traducido se sirve a tus usuarios. Si no se encuentra una traducción, se usará el contenido original. Asegúrate de seguir la [guía de despliegue aquí](/docs/react-native/tutorials/quickdeploy). ### Desarrollo Durante el desarrollo, la función `` traducirá el contenido a demanda. Esto es útil para crear prototipos de cómo se verá tu aplicación en distintos idiomas. Recuerda agregar una clave de API de desarrollo a tu entorno para habilitar este comportamiento. Mientras se carga, `` devolverá undefined, a menos que los idiomas sean similares (en-US vs en-GB), aunque este comportamiento puede personalizarse con los ajustes de renderizado. Si se produce un error, `` devolverá el contenido original. Verás un retraso durante la traducción a demanda en desarrollo. Este retraso no se producirá en las compilaciones de producción, ya que todo ya estará traducido. *** ## Ejemplos ### Uso básico El componente `` puede traducir cadenas simples usando un `id` y su contenido hijo. Recuerda que el componente `` debe usarse dentro de un [``](/docs/react-native/api/components/gtprovider) para acceder a las traducciones. ```jsx title="SimpleTranslation.jsx" copy import { T } from 'gt-react-native'; export default function Greeting() { return ( // [!code highlight] Hello, world! // [!code highlight] ); } ``` ### Con variables El componente `` puede incluir variables para contenido dinámico en las traducciones. ```jsx title="DynamicGreeting.jsx" copy import { T, Var } from 'gt-react-native'; export default function DynamicGreeting(user) { return ( Hello, {user.name}! // [!code highlight] ); } ``` ### Con plurales El componente `` también admite la pluralización con el componente ``. ```jsx title="ItemCount.jsx" copy import { T, Plural } from 'gt-react-native'; export default function ItemCount({ count }) { return ( Tienes un artículo.} // [!code highlight] other={<>Tienes artículos.} // [!code highlight] /> // [!code highlight] ); } ``` ### Requiere revisión Usa `requiresReview` para hacer que una traducción pase por una revisión humana antes de servirse en producción. ```jsx title="ReviewedGreeting.jsx" copy import { T } from 'gt-react-native'; export default function ReviewedGreeting() { return ( {/* [!code highlight] */} Welcome to our platform! ); } ``` **Nota:** `requiresReview` condiciona las traducciones de tiempo de construcción y de producción. La traducción bajo demanda en desarrollo es solo una comodidad para la vista previa en vivo y no está sujeta a revisión, aunque la intención de revisión sigue registrándose en los metadatos del contenido. ### Limitaciones El componente `` no traduce contenido dinámico. ```jsx title="DynamicContent.jsx" copy import { T } from 'gt-react-native'; export default function DynamicContent({greeting}) { return ( {greeting} // generará un error // [!code highlight] ); } ``` La función `` traduce sus elementos descendientes. ```jsx title="Example.jsx" copy import { T } from 'gt-react-native'; const ValidTranslation = ({ children }) => (
{children}
); const InvalidTranslation = ({ children }) => (
No translation
); export default function Example() { return (
This is valid!
// se traducirá // [!code highlight] // se traducirá // [!code highlight] Hello, world! // [!code highlight] // [!code highlight] // no se traducirá
); } ``` **Nota:** Como regla general, se traducirá cualquier contenido que esté *literalmente* entre los dos `` del archivo. Siempre puedes añadir otro `` para traducir el contenido que no se esté traduciendo, aunque no se recomienda anidar componentes ``. *** ## Notas * El componente `` está diseñado para traducir el contenido de tu aplicación. Es el método principal de localización en `gt-react-native`. * Usa el componente `` para traducir texto sin formato o estructuras JSX, incluidas variables y pluralización. * Asegúrate de que el componente `` esté dentro de un [``](/docs/react-native/api/components/gtprovider) para acceder al contexto de traducción. * La prop `requiresReview` solo acepta un literal booleano. Solo el valor `true` cambia el hash del contenido y no muestra la traducción hasta que se apruebe. ## Próximos pasos * Para funciones más avanzadas, como la traducción bajo demanda, las variables, el contexto y el manejo de plurales, consulta la documentación sobre [patrones de diseño de ``](/docs/react-native/guides/t). * Para traducir cadenas, consulta [`useGT`](/docs/react-native/api/strings/use-gt).