# General Translation Knowledge Base: ¿Cómo traduzco una app de React Native?
URL: https://generaltranslation.com/es/kb/translate-react-native-app.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Marca el texto en tus componentes, genera un archivo de traducciones para cada idioma, agrega polyfills de Intl y carga el archivo correspondiente al idioma del dispositivo. Con gt-react-native, la biblioteca experimental de General Translation, envuelves el texto en `<T>`, un plugin de Babel agrega los polyfills y npx gt translate genera los archivos.
Category: Internacionalización
Last updated: 2026-10-21
Authors: Kevin Liu, Kevin Wu
Published: 2026-10-21

Traducir una app de React Native consiste en marcar el texto de tus componentes, generar una traducción para cada idioma y cargar la que corresponda al idioma del dispositivo. El entorno de ejecución de JavaScript de React Native no incluye las API `Intl` completas que dan formato a números, fechas y plurales, por lo que la app necesita polyfills. El empaquetador Metro no puede resolver rutas de importación dinámicas, así que cada archivo de traducciones necesita una llamada estática a `require`. Además, cada lanzamiento añade cadenas nuevas que deben estar traducidas a todos los idiomas antes de publicarse.

## Video

The video is narrated in English, with English captions.

[How do I translate a React Native app?](https://caxecubb9c64cezv.public.blob.vercel-storage.com/films/kb-translate-react-native-app.mp4) (47 s)

General Translation lets you translate a React Native app with `gt-react-native` and `T`. Add its Babel plugin, call `initializeGT` with `loadTranslations`, mark the welcome with `<T>`, run `npx gt translate`, and run it as a development build.

## Formas de traducir una aplicación de React Native

| Enfoque                                                                                                                                                     | En qué destaca                                                                                                                                                                                                                                                                                 | Lo que queda a tu cargo                                                                                                                                                     |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Solo una biblioteca de internacionalización (i18n) ([`i18next`](/kb/general-translation-vs-i18next), [`react-intl`](/kb/general-translation-vs-react-intl)) | Entornos de ejecución maduros para renderizar traducciones y dar formato a valores                                                                                                                                                                                                             | Mover cada cadena a archivos de claves, reemplazar el texto de cada `<Text>` por una búsqueda de clave, añadir los polyfills de `Intl` y generar y mantener cada traducción |
| `expo-localization` o `react-native-localize`                                                                                                               | Leen los idiomas preferidos y la configuración regional del dispositivo para que la aplicación pueda elegir una configuración regional inicial                                                                                                                                                 | Todo lo demás: una biblioteca para buscar cadenas, los archivos de traducción, las formas plurales y cada traducción                                                        |
| Un sistema de gestión de traducciones ([Crowdin](/kb/general-translation-vs-crowdin), [Lokalise](/kb/general-translation-vs-lokalise))                      | Un editor web, sincronizado con tu repositorio, donde los traductores trabajan con capturas de pantalla, un glosario y memoria de traducción                                                                                                                                                   | La biblioteca de i18n y los archivos de claves en la aplicación, la configuración inicial de la sincronización y la espera a los traductores antes de cada lanzamiento      |
| General Translation (`gt-react-native` y la CLI `gt`)                                                                                                       | [`<T>`](/docs/react/reference/components/t) traduce `<Text>` en el mismo documento sin claves, un plugin de Babel añade los polyfills de `Intl` y [`npx gt translate`](/docs/cli/reference/commands/translate) genera un archivo por idioma aplicando tu glosario y tus prompts personalizados | El paquete es experimental y las aplicaciones de Expo necesitan una compilación de desarrollo, porque Expo Go no puede cargar el módulo nativo del paquete                  |

Usa solo una biblioteca de i18n, con traducciones escritas a mano, cuando la aplicación tenga pocas pantallas y uno o dos idiomas de destino, o cuando tu equipo necesite seguir probando en Expo Go; combínala con `expo-localization` o `react-native-localize` para elegir el idioma inicial. Usa un sistema de gestión de traducciones cuando un equipo de localización traduzca a mano cada lanzamiento. Usa General Translation cuando los textos cambien con cada lanzamiento y todos los idiomas tengan que mantenerse al día. Si ya usas `i18next`, la CLI `gt` puede traducir sus archivos JSON.

## Traduce una app de React Native con General Translation

El paquete `gt-react-native` de General Translation es experimental y funciona tanto con Expo como con React Native CLI puro.

1. Instala `gt-react-native` y la CLI `gt`, y especifica tus idiomas en `gt.config.json`.

2. Agrega el plugin de Babel del paquete, que inyecta los polyfills de `Intl` en tu archivo de entrada.

3. Llama a [`initializeGT`](/docs/react/reference/config#initialize) una sola vez con una función [`loadTranslations`](/docs/react/reference/functions/load-translations) y envuelve la app en [`<GTProvider>`](/docs/react/reference/components/gt-provider), que detecta la configuración regional del dispositivo.

4. Envuelve el texto en [`<T>`](/docs/react/reference/components/t), sin claves:

   ```tsx
   import { T } from 'gt-react-native';

   <T>
     <Text>Welcome back</Text>
     <Text>Your order is on its way.</Text>
   </T>;
   ```

5. Inicia sesión con [`npx gt login`](/docs/cli/reference/commands/login) y configura el ID del proyecto.

6. Ejecuta [`npx gt translate`](/docs/cli/reference/commands/translate) para generar un archivo de traducciones por idioma, y agrega el comando a tu script de compilación para que cada lanzamiento incluya las traducciones actualizadas.

Asigna un mismo grupo de contexto (tu glosario y tus prompts personalizados) a tus proyectos móviles y web para mantener la misma terminología y el mismo tono en ambos. Consulta todos los pasos en el [Inicio rápido de React Native](/docs/react/react-native-quickstart).

## Related questions

- [¿Cómo traduzco una aplicación de React?](https://generaltranslation.com/es/kb/translate-react-app.mdx): Traducir una aplicación de React significa internacionalizar sus componentes para que se rendericen en el idioma del usuario y, después, traducir cada cadena a todos los idiomas que admitas. gt-react de General Translation traduce JSX en el mismo documento con el componente `<T>`, y npx gt translate genera un archivo por idioma.
- [¿Cómo agrego i18n a una aplicación de Next.js con App Router?](https://generaltranslation.com/es/kb/add-i18n-to-nextjs.mdx): Empieza con gt init para configurar General Translation en un proyecto compatible con App Router; luego marca el contenido de origen, genera las traducciones y verifica el cambio de idioma. gt-next mantiene el texto en JSX junto con el contexto de traducción; la CLI, el editor del panel de control y Locadex se encargan de la generación, la revisión y las actualizaciones continuas. Esta guía también muestra la configuración inicial explícita con archivos locales.
- [¿Puedo hacer i18n sin archivos de traducción?](https://generaltranslation.com/es/kb/i18n-without-translation-files.mdx): Sí. Las bibliotecas gt-react y gt-next de General Translation permiten hacer i18n en React y Next.js sin claves de traducción y sin tener que mantener un archivo JSON por idioma. El texto permanece inline en JSX dentro del componente `<T>`, y el comando gt translate genera las traducciones de cada idioma durante la compilación, con contexto extraído de tu código. Locadex puede mantenerlas al día mediante pull requests.
- [¿Cómo gestiono los plurales en React?](https://generaltranslation.com/es/kb/how-to-handle-plurals-in-react.mdx): Para gestionar los plurales en React, asigna a cada idioma una oración por cada forma plural y selecciónala con las reglas de plural de ese idioma, ya que el inglés tiene 2 formas, el ruso tiene 4 y el árabe tiene 6. El componente `<Plural>` de General Translation en gt-react y gt-next recibe tus formas de origen, y General Translation genera las formas que necesita cada idioma de destino.

## Previous and next questions

- Previous question: [¿Cómo traduzco una aplicación Vue?](https://generaltranslation.com/es/kb/translate-vue-app.mdx)
- Next question: [¿Qué hace el agente Locadex?](https://generaltranslation.com/es/kb/what-is-locadex.mdx)

## Sitemap

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