Integración con Vite
Lingo.dev Compiler se integra directamente con Vite para proporcionar localización en tiempo de compilación para aplicaciones React.
Sigue estos pasos para añadir soporte multilingüe a tu aplicación Vite + React.
O explora el proyecto de demostración de Vite para probar el Compiler en acción.
Requisitos previos
- Vite 4+
- React 18+
- Node.js 18 o superior
Paso 1. Instalar el paquete
Instala el paquete lingo.dev:
npm install lingo.dev
Paso 2. Configurar Vite
Importa y configura el compilador en tu vite.config.ts
:
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react-swc";
import lingoCompiler from "lingo.dev/compiler";
const viteConfig = {
plugins: [react()],
// Tu configuración existente de Vite
};
export default defineConfig(() =>
lingoCompiler.vite({
sourceRoot: "src",
targetLocales: ["es", "fr", "de"],
models: {
"*:*": "groq:mistral-saba-24b",
},
})(viteConfig),
);
Paso 3. Configurar la autenticación
Lingo.dev Compiler envía tu contenido a motores de traducción de IA para la localización, por lo que necesitas autenticarte primero.
Opción 1. Motor de Lingo.dev
Lingo.dev Compiler puede utilizar el Motor de Lingo.dev como tu motor de traducción de IA. Proporciona selección dinámica de modelos, enrutamiento automático, memoria de traducción y soporte de glosario. Hay opciones gratuitas y de pago disponibles.
Para autenticarte, ejecuta:
npx lingo.dev@latest login
Si tienes problemas con el flujo del navegador, puedes añadir manualmente un LINGODOTDEV_API_KEY
a tu .env
:
# .env
LINGODOTDEV_API_KEY=...
Encontrarás el token en la Configuración de Proyecto de Lingo.dev Engine.
Opción 2. Proveedor LLM alternativo
Alternativamente, puedes utilizar modelos de proveedores LLM compatibles:
Añade tu(s) clave(s) API a tu .env
:
# .env
GROQ_API_KEY=gsk_...
GOOGLE_API_KEY=...
OPENROUTER_API_KEY=...
Nota: Asegúrese de activar su cuenta con el proveedor de LLM y aceptar sus Términos de servicio antes de utilizarlo en Compiler.
Paso 4. Añadir proveedor
Importe el proveedor en su archivo de entrada principal (src/main.tsx
):
import React from "react";
import ReactDOM from "react-dom/client";
import App from "./App.tsx";
import { LingoProviderWrapper, loadDictionary } from "lingo.dev/react/client";
ReactDOM.createRoot(document.getElementById("root")!).render(
<React.StrictMode>
<LingoProviderWrapper loadDictionary={(locale) => loadDictionary(locale)}>
<App />
</LingoProviderWrapper>
</React.StrictMode>,
);
Paso 5. Opcional: Añadir selector de idioma
Cree un componente selector de idioma en su App o Header:
import { LocaleSwitcher } from "lingo.dev/react/client";
function App() {
return (
<div className="App">
<header>
<LocaleSwitcher locales={["en", "es", "fr", "de"]} />
</header>
<main>
<h1>Welcome to our app</h1>
<p>This content is automatically translated</p>
</main>
</div>
);
}
export default App;
Paso 6. Compilar y probar
Inicie su servidor de desarrollo:
npm run dev
El compilador automáticamente:
- Escaneará sus componentes React para contenido traducible
- Extraerá claves de traducción
- Generará traducciones potenciadas por IA
- Creará archivos de traducción optimizados en el directorio
lingo/
Visite http://localhost:5173
para ver su aplicación multilingüe en acción.
Opciones de configuración
Puede personalizar el comportamiento del compilador:
export default defineConfig(() =>
lingoCompiler.vite({
sourceRoot: "src",
sourceLocale: "en",
targetLocales: ["es", "fr", "de", "ja"],
lingoDir: "lingo",
debug: false,
})(viteConfig),
);
Características de desarrollo
Reemplazo de módulos en caliente
El compilador soporta HMR de Vite para actualizaciones de traducción:
// src/components/Welcome.tsx
export function Welcome() {
return (
<div>
<h1>Welcome to our app</h1>
<p>Edit this text and see translations update automatically</p>
</div>
);
}
Optimización de compilación
La optimización de compilación de Vite funciona perfectamente con el compilador:
- División de código incluye paquetes de traducción
- Optimización de activos gestiona los archivos de traducción de manera eficiente
- Tree shaking elimina las traducciones no utilizadas
Estructura de proyecto de ejemplo
my-vite-app/
├── src/
│ ├── components/
│ │ └── Welcome.tsx
│ ├── App.tsx
│ ├── main.tsx
│ └── lingo/ # Archivos de traducción generados
│ ├── meta.json
│ └── dictionary.js
├── vite.config.ts
├── package.json
└── .env
Despliegue en producción
-
Compila tu aplicación:
npm run build
-
Confirma los archivos de traducción:
git add src/lingo/ git commit -m "Add translations"
-
Despliega utilizando tu plataforma preferida (Vercel, Netlify, etc.)
Tu aplicación Vite servirá contenido localizado automáticamente según las preferencias del usuario.
Solución de problemas
Problemas comunes
Las traducciones no se generan: Asegúrate de que tu GROQ_API_KEY
esté configurada correctamente en tu archivo .env
.
Errores de compilación: Asegúrate de que el directorio lingo/
esté incluido en tu control de versiones.
HMR no funciona: Reinicia el servidor de desarrollo después de añadir nuevo contenido traducible.
Próximos pasos
- Configuración avanzada: Opciones de personalización
- FAQ: Preguntas frecuentes y solución de problemas
- Cómo funciona: Entendiendo el proceso de compilación