Inicio Rápido
Internacionaliza fácilmente tu aplicación React con gt-react
Descripción general
Esta guía de inicio rápido te guiará a través de la internacionalización de tu aplicación React con gt-react
.
Al final de esta guía, tendrás una aplicación React completamente internacionalizada.
En esta guía, cubriremos lo siguiente:
Instalación
Configuración
Uso
Probando tu aplicación
Despliegue
Prerrequisitos
- Un proyecto React usando un framework compatible (Next.js, Vite, etc.)
- Conocimiento básico de React y JavaScript
Instalación
Instala los paquetes gt-react
y gtx-cli
:
npm i gt-react
npm i --save-dev gtx-cli
yarn add gt-react
yarn add --dev gtx-cli
bun add gt-react
bun add --dev gtx-cli
pnpm add gt-react
pnpm add --save-dev gtx-cli
Configuración Automática: Tenemos un Asistente de Configuración experimental que puede ayudarte a configurar tu proyecto con gt-react
.
Pruébalo ejecutando npx gtx-cli@latest
. Aún necesitarás internacionalizar las cadenas de texto manualmente, pero te ayudará a comenzar.
Consulta la guía de referencia del Asistente de Configuración para más información.
Alternativamente, si quieres que tu herramienta de IA como Claude Code, Cursor, o Windsurf configure automáticamente tu proyecto, puedes usar nuestro servidor mcp.
Configuración
GTProvider
El núcleo de gt-react
es el componente GTProvider
.
Es responsable de:
- Gestionar la configuración regional actual del usuario
- Proporcionar traducciones relevantes a tu aplicación
- Proporcionar contexto a los hooks para acceder a las traducciones
- Proporcionar contexto a los hooks para cambiar la configuración regional del usuario
Primero, añade el componente GTProvider
a tu aplicación. Debe colocarse lo más alto posible en el árbol de componentes.
import { GTProvider } from 'gt-react';
export default function App() {
return (
<GTProvider>
<App />
</GTProvider>
);
}
A continuación, crea un archivo gt.config.json
en la raíz de tu proyecto.
Este archivo se utiliza para configurar tanto la herramienta gtx-cli
como la biblioteca gt-react
.
{
"defaultLocale": "en",
"locales": ["fr", "es"]
}
Debes personalizar defaultLocale
y locales
para que coincidan con tu proyecto. Consulta la lista de configuraciones regionales compatibles para obtener más información.
Por último, extiende el archivo gt.config.json
en las props del proveedor.
import gtConfig from './gt.config.json';
<GTProvider {...gtConfig}>
<App />
</GTProvider>
Extender el archivo gt.config.json
hace que la configuración sea consistente en toda tu aplicación y herramienta CLI.
Alternativamente, puedes especificar individualmente cada prop en el componente GTProvider
.
<GTProvider
defaultLocale="en"
locales={["fr", "es"]}
>
Variables de Entorno
Establece las siguientes variables de entorno:
VITE_GT_API_KEY="" # Tu clave API de desarrollador de General Translation
VITE_GT_PROJECT_ID="" # Tu ID de proyecto de General Translation
GATSBY_GT_API_KEY="" # Tu clave API de desarrollador de General Translation
GATSBY_GT_PROJECT_ID="" # Tu ID de proyecto de General Translation
REDWOOD_ENV_GT_API_KEY="" # Tu clave API de desarrollador de General Translation
REDWOOD_ENV_PROJECT_ID="" # Tu ID de proyecto de General Translation
NEXT_PUBLIC_GT_API_KEY="" # Tu clave API de desarrollador de General Translation
NEXT_PUBLIC_GT_PROJECT_ID="" # Tu ID de proyecto de General Translation
REACT_APP_GT_API_KEY="" # Tu clave API de desarrollador de General Translation
REACT_APP_GT_PROJECT_ID="" # Tu ID de proyecto de General Translation
Muchos frameworks de React tienen cada uno una forma única de exportar variables de entorno al cliente.
En entornos de desarrollo, tanto GT_API_KEY
como GT_PROJECT_ID
necesitan ser exportadas al cliente.
Hemos añadido soporte para algunas bibliotecas hasta ahora, pero por favor háznoslo saber si tu framework no está listado creando un issue en nuestro repositorio de GitHub.
¡Asegúrate de que tu variable de clave API solo esté configurada en tu entorno de desarrollo! No debe estar configurada en producción.
Puedes obtener una clave API gratuita y un ID de proyecto creando una cuenta de General Translation.
Después de crear una cuenta, navega a la página de Claves API de Desarrollo para obtener tu clave API de desarrollo y el ID del proyecto.
Alternativamente, también puedes usar el comando de la herramienta CLI npx gtx-cli auth
para generar una clave API y un ID de proyecto para tu proyecto, guardados en tu archivo .env.local
.
Uso
¡Excelente! Si has seguido los pasos anteriores, tu proyecto React ahora está configurado para usar gt-react
.
El siguiente paso es internacionalizar tu contenido. Aquí, daremos una breve descripción general de las diferentes formas de traducir contenido en tu aplicación.
Componente <T>
El componente <T>
es el componente principal para traducir contenido JSX en tu aplicación.
Para usarlo, simplemente envuelve el JSX que quieres traducir en el componente <T>
.
import { T } from 'gt-react';
<T>
<div>Your content</div>
</T>
Si tienes contenido dinámico, necesitarás usar componentes de variables para pasar los valores dinámicos.
import { T, Var } from 'gt-react';
<T>
<div>Hello, <Var>{name}</Var>!</div>
</T>
Consulta la guía Traduciendo JSX para más información.
Hook useGT
El hook useGT
es un hook de React que devuelve una función que puede ser usada para traducir cadenas de texto.
import { useGT } from 'gt-react';
const translate = useGT();
translate('Hello, world!');
Consulta la guía Traduciendo Cadenas de Texto para más información.
Utilizar la funcionalidad de traducción con recarga en caliente será útil para internacionalizar tu aplicación.
Para habilitar esto, asegúrate de tener las variables de entorno GT_API_KEY
y GT_PROJECT_ID
configuradas en tu entorno de desarrollo.
Probando Tu Aplicación
¡Felicidades! 🥳 Si has seguido los pasos anteriores, ¡tu aplicación ahora es multiidioma! Veámosla en acción.
Ve Tu Aplicación en un Idioma Diferente
Agrega el componente <LocaleSelector>
a tu aplicación.
Esto te permitirá seleccionar un idioma diferente para tu aplicación.
Consejo: También puedes omitir este paso y simplemente cambiar tu idioma en la configuración de tu navegador.
Inicia tu aplicación React en modo de desarrollo.
npm run dev
yarn run dev
bun run dev
pnpm run dev
Abre tu aplicación en tu navegador preferido (generalmente en http://localhost:3000).
Solución de Problemas
Despliegue
¡Excelente! Si estás satisfecho con tus traducciones y la funcionalidad de tu aplicación, ahora puedes desplegar tu aplicación.
El comportamiento de gt-react
en producción es ligeramente diferente al desarrollo. Específicamente, no se realizarán traducciones en tiempo de ejecución.
Esto significa que necesitarás traducir tu contenido antes de desplegar tu aplicación, en el proceso de construcción.
Afortunadamente, la herramienta gtx-cli
tiene un comando translate
que puede usarse para traducir automáticamente tu contenido.
Primero, necesitarás obtener una clave API de Producción de la plataforma General Translation.
Ten en cuenta que esta clave es diferente de tu clave API de Desarrollo, y comienza con gtx-api-
, en lugar de gtx-dev-
.
Lee sobre la diferencia entre las claves de Desarrollo y Producción aquí.
Agrega esta variable de entorno a tu pipeline de CI/CD.
GT_PROJECT_ID=<your-project-id>
GT_API_KEY=<your-production-api-key>
¡Asegúrate de que GT_API_KEY
NO tenga el prefijo NEXT_PUBLIC_
o VITE_
, dependiendo de tu framework!
Si lo tiene, corres el riesgo de exponer tu clave API al público.
Ejecuta el comando translate
para traducir tu contenido.
npx gtx-cli translate
Puedes configurar el comportamiento del comando translate
con el archivo gt.config.json
.
Consulta la guía de referencia de CLI Tool para más información.
Agrega el comando translate
a tu proceso de construcción.
{
"scripts": {
"build": "npx gtx-cli translate && <...YOUR_BUILD_COMMAND...>"
}
}
Resumen
- En esta guía, cubrimos cómo configurar tu proyecto React con
gt-react
- Cubrimos brevemente las diferentes formas de traducir contenido en tu aplicación.
- También cubrimos cómo desplegar tu aplicación después de haber internacionalizado tu contenido.
Próximos Pasos
- Aprende cómo traducir contenido JSX con el componente
<T>
: Traduciendo JSX - Aprende cómo traducir cadenas de texto con el hook
useGT
: Traduciendo Cadenas de Texto - Aprende cómo usar traducciones locales: Traducciones Locales
¿Qué te parece esta guía?