Guía rápida de React
Internacionaliza fácilmente tu app de React con gt-react
Pon a traducir el contenido de tu app de React en minutos.
Requisitos previos: React, conocimientos básicos de JavaScript
Instalación
Instala los paquetes gt-react y gtx-cli:
npm i gt-react
npm i gtx-cliyarn add gt-react
yarn add --dev gtx-clibun add gt-react
bun add --dev gtx-clipnpm add gt-react
pnpm add --save-dev gtx-cliConfiguración rápida: Prueba npx gtx-cli@latest para una configuración automática. Consulta la guía del Asistente de configuración o usa nuestra integración con herramientas de IA.
Configuración
GTProvider
El componente GTProvider proporciona el contexto de traducción a tus componentes de React. Gestiona el estado del locale, las traducciones y habilita los hooks useGT y useTranslations.
Añade GTProvider al componente raíz de tu aplicación:
import { GTProvider } from 'gt-react';
export default function App() {
  return (
    <GTProvider>
      <YourAppContent />
    </GTProvider>
  );
}Crea un archivo gt.config.json en la raíz de tu proyecto:
{
  "defaultLocale": "en",
  "locales": ["fr", "es", "de"]
}Personaliza los locales de tu proyecto. Consulta los locales compatibles para ver las options.
Variables de entorno
Añade lo siguiente a tu archivo de entorno para habilitar el hot reloading en desarrollo:
VITE_GT_API_KEY="your-dev-api-key"
VITE_GT_PROJECT_ID="your-project-id"REACT_APP_GT_API_KEY="your-dev-api-key"
REACT_APP_GT_PROJECT_ID="your-project-id"GATSBY_GT_API_KEY="your-dev-api-key"
GATSBY_GT_PROJECT_ID="your-project-id"REDWOOD_ENV_GT_API_KEY="your-dev-api-key"
REDWOOD_ENV_GT_PROJECT_ID="your-project-id"Muchos frameworks de React tienen su propia forma de exponer variables de entorno al cliente.
En entornos de desarrollo, tanto GT_API_KEY como GT_PROJECT_ID deben exponerse al cliente.
Por ahora hemos añadido compatibilidad con algunas bibliotecas, pero avísanos si tu framework no aparece creando un issue en nuestro repositorio de GitHub.
Solo para desarrollo: No configures GT_API_KEY en producción; es únicamente para el hot reloading en desarrollo.
Obtén tus claves de API gratis en dash.generaltranslation.com o ejecuta:
npx gtx-cli authUso
Ya puedes empezar a internacionalizar tu contenido. Hay dos enfoques principales:
Contenido JSX con <T>
Envuelve elementos JSX para traducirlos con el componente <T>:
import { T } from 'gt-react';
function Welcome() {
  return (
    <T>
      <h1>¡Bienvenido a nuestra app!</h1>
    </T>
  );
}Para contenido dinámico, usa componentes de variable como <Var>:
import { T, Var } from 'gt-react';
function Greeting({ user }) {
  return (
    <T>
      <p>Hola, <Var>{user.name}</Var>!</p>
    </T>
  );
}Consulta la guía sobre cómo usar el componente <T> para obtener más información.
Cadenas de texto con useGT
Para atributos, etiquetas y texto plano usando el hook useGT:
import { useGT } from 'gt-react';
function ContactForm() {
  const t = useGT();
  
  return (
    <input 
      placeholder={t('Ingresa tu email')}
      aria-label={t('Campo de entrada de email')}
    />
  );
}Consulta la guía sobre traducción de cadenas para obtener más información.
Prueba de tu aplicación
Prueba tus traducciones cambiando el idioma:
- 
Agrega un menú desplegable para seleccionar el locale usando <LocaleSelector>:import { LocaleSelector } from 'gt-react'; function App() { return <LocaleSelector />; }
- 
Inicia el servidor de desarrollo: npm run devyarn run devbun run devpnpm run dev
- 
Visita localhost:3000 y cambia el idioma desde el menú desplegable de selección de locale. 
En desarrollo, las traducciones se realizan bajo demanda (verás una breve carga). En producción, todo está pretraducido.
Solución de problemas
Despliegue
En producción, debes pretraducir el contenido porque la traducción en tiempo de ejecución está deshabilitada (salvo para las funciones <Tx> y tx).
- 
Obtén una clave de API de producción en dash.generaltranslation.com. Las claves de producción comienzan con gtx-api-(a diferencia de las claves de desarrollo, que empiezan congtx-dev-). Obtén más información sobre las diferencias entre entornos.
- 
Agrégala a tu entorno de CI/CD: GT_PROJECT_ID=your-project-id GT_API_KEY=gtx-api-your-production-keyNunca antepongas a las claves de producción el prefijo de variables públicas de tu framework (como VITE_,REACT_APP_, etc.): deben permanecer exclusivamente del lado del servidor.
- 
Ejecuta el comando translate para traducir tu contenido: npx gtx-cli translatePuedes configurar el comportamiento del comando translate con el archivo gt.config.json.Consulta la guía de referencia de la CLI para obtener más información. 
- 
Actualiza tu script de compilación para traducir antes de compilar: package.json { "scripts": { "build": "npx gtx-cli translate && <...YOUR_BUILD_COMMAND...>" } }
Próximos pasos
- Guía del componente <T>- Análisis en profundidad del componente<T>y la traducción con JSX
- Guía de traducción de cadenas - Uso de useGTpara traducir cadenas
- Componentes de variables - Gestiona contenido dinámico con <Var>,<Num>, etc.
¿Qué te ha parecido esta guía?

