Inicio rápido de React
Internacionaliza fácilmente tu aplicación React con gt-react
Haz que tu aplicación React traduzca contenido en minutos.
Requisitos previos: React, conocimientos básicos de JavaScript
Configuración rápida: Prueba npx gtx-cli@latest para realizar la configuración automática. Consulta la guía del Asistente de configuración o utiliza nuestra integración con herramientas de IA.
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
GTProvider
El componente GTProvider proporciona el contexto de traducción a tus componentes de React. Administra el estado del locale, las traducciones y habilita los hooks useGT y useTranslations.
Agrega el GTProvider a tu componente raíz de la app:
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
Agrega lo siguiente a tu archivo de entorno para 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 exportar variables de entorno al cliente.
En entornos de desarrollo, tanto GT_API_KEY como GT_PROJECT_ID deben exportarse al cliente.
Hemos añadido compatibilidad con algunas bibliotecas hasta ahora, 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 solo para hot reloading en desarrollo.
Obtén tus claves de API gratuitas en dash.generaltranslation.com o ejecuta:
npx gtx-cli authUso
Ahora puedes empezar a internacionalizar tu contenido. Hay dos enfoques principales:
Contenido JSX con <T>
Envuelve elementos JSX para traducirlos usando 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 variables 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 simples con useGT
Para atributos, etiquetas y texto sin formato con el hook useGT:
import { useGT } from 'gt-react';
function ContactForm() {
const t = useGT();
return (
<input
placeholder={t('Introduce tu correo electrónico')}
aria-label={t('Campo de entrada de correo electrónico')}
/>
);
}Consulta la guía sobre traducción de strings 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 tu servidor de desarrollo:
npm run devyarn run devbun run devpnpm run dev -
Visita localhost:3000 y cambia el idioma mediante 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
Implementación
Para producción, debes pretraducir el contenido, ya que la traducción en tiempo de ejecución está deshabilitada (excepto 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 comienzan congtx-dev-). Obtén más información sobre las diferencias entre entornos. -
Añádela 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 variable pública de tu framework (como
VITE_,REACT_APP_, etc.) — deben permanecer solo 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 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 de la traducción en JSX - Guía de traducción de strings - Uso de
useGTpara traducir strings - Componentes de variables - Gestiona contenido dinámico con
<Var>,<Num>, etc.
¿Qué te parece esta guía?