Google AI
Traducción con IA mediante Google Gemini y Lingo.dev Compiler
¿Qué es Google AI?
Google AI Studio es un entorno de desarrollo basado en web para construir, probar e implementar aplicaciones impulsadas por los modelos de IA generativa de Google, como Gemini. Permite a los desarrolladores experimentar con prompts, ajustar respuestas e integrar modelos en aplicaciones mediante APIs, todo dentro de una interfaz fácil de usar conectada a Google Cloud.
Configuración de la clave API
Google AI requiere una clave API para autenticar solicitudes desde Lingo.dev Compiler. Elige el método de configuración que mejor se adapte a tu flujo de trabajo:
Opción 1: Variable de entorno (Terminal)
Ideal para experimentos rápidos y pruebas sin modificar archivos.
Establece la clave directamente en tu sesión de terminal:
export GOOGLE_API_KEY="tu-clave-api-aquí"
Esta clave solo estará disponible hasta que cierres la ventana de terminal.
Opción 2: Configuración del proyecto (.env)
Ideal para configuración específica de proyectos y entornos de equipo donde cada proyecto puede usar diferentes credenciales.
Crea un archivo .env en la raíz de tu proyecto:
touch .env
Añade la siguiente línea al archivo:
GOOGLE_API_KEY="tu-clave-api-aquí"
Lingo.dev Compiler verifica los archivos de entorno en este orden de prioridad:
.env.development(prioridad más alta).env.local.env(prioridad más baja)
Los valores en archivos de mayor prioridad sobrescriben los de archivos de menor prioridad.
Opción 3: Configuración global (Ajustes de usuario)
Ideal para desarrolladores individuales que quieren usar la misma clave API en todos sus proyectos.
Crea un archivo de configuración en tu directorio principal:
touch ~/.lingodotdevrc
Añade el siguiente contenido al archivo:
[llm]
googleApiKey="tu-clave-api-aquí"
Esta configuración persiste a través de todas las sesiones de terminal y proyectos en tu máquina.
Prioridad de configuración
Cuando se utilizan múltiples métodos de configuración, Lingo.dev Compiler verifica las claves API en este orden:
- Variables de entorno (prioridad más alta)
- Archivos .env del proyecto (en su propio orden de prioridad)
- Archivo de configuración del usuario
~/.lingodotdevrc(prioridad más baja)
Se utiliza la primera clave API válida que se encuentre.
Uso de Google AI
Para habilitar Google AI, establece la propiedad models en las opciones del compilador:
import react from "@vitejs/plugin-react";
import lingoCompiler from "lingo.dev/compiler";
import { type UserConfig } from "vite";
// https://vite.dev/config/
const viteConfig: UserConfig = {
plugins: [react()],
};
const withLingo = lingoCompiler.vite({
sourceRoot: "src",
lingoDir: "lingo",
sourceLocale: "en",
targetLocales: ["es", "fr", "de", "ja"],
rsc: false,
useDirective: false,
debug: false,
models: {
"*:*": "google:gemini-1.5-flash",
},
});
export default withLingo(viteConfig);
La propiedad acepta un objeto donde:
- las claves son pares de locales de origen y destino, con
*representando cualquier locale - los valores son identificadores de modelo (por ejemplo,
google:gemini-1.5-flash)
Puedes usar Google AI para traducir:
- entre todos los locales
- desde un locale de origen específico
- a un locale de destino específico
- entre un locale de origen y destino específicos
Traducción de todos los locales
Utiliza el patrón comodín *:* para aplicar el mismo modelo de Google a todos los pares de traducción:
const withLingo = lingoCompiler.vite({
sourceRoot: "src",
lingoDir: "lingo",
sourceLocale: "en",
targetLocales: ["es", "fr", "de", "ja", "pt", "zh"],
models: {
// Usar Gemini 1.5 Flash para todos los pares de traducción
"*:*": "google:gemini-1.5-flash",
},
});
Traducción desde un locale de origen específico
Utiliza un locale de origen específico con un comodín de destino para aplicar un modelo a todas las traducciones desde ese origen:
const withLingo = lingoCompiler.vite({
sourceRoot: "src",
lingoDir: "lingo",
sourceLocale: "en",
targetLocales: ["es", "fr", "de", "ja", "pt", "zh"],
models: {
// Usar Gemini 1.5 Pro para todas las traducciones desde inglés
"en:*": "google:gemini-1.5-pro",
// Usar Gemini 1.5 Flash para traducciones desde español a cualquier idioma
"es:*": "google:gemini-1.5-flash",
// Fallback para otros idiomas de origen
"*:*": "google:gemini-1.5-flash-latest",
},
});
Traducción a un idioma de destino específico
Utiliza un comodín de origen con un idioma de destino específico para aplicar un modelo a todas las traducciones a ese destino:
const withLingo = lingoCompiler.vite({
sourceRoot: "src",
lingoDir: "lingo",
sourceLocale: "en",
targetLocales: ["es", "fr", "de", "ja", "pt", "zh"],
models: {
// Usar modelo especializado para traducciones al japonés
"*:ja": "google:gemini-1.5-pro",
// Usar Gemini 1.5 Flash para traducciones al chino
"*:zh": "google:gemini-1.5-flash",
// Usar Gemini 1.5 Pro para traducciones al alemán
"*:de": "google:gemini-1.5-pro-latest",
// Predeterminado para otros idiomas de destino
"*:*": "google:gemini-1.5-flash",
},
});
Traducción entre idiomas específicos
Define pares exactos de origen-destino para un control preciso sobre qué modelo maneja combinaciones específicas de idiomas:
const withLingo = lingoCompiler.vite({
sourceRoot: "src",
lingoDir: "lingo",
sourceLocale: "en",
targetLocales: ["es", "fr", "de", "ja", "pt", "zh"],
models: {
// Pares específicos con modelos óptimos
"en:es": "google:gemini-1.5-flash", // Inglés a español
"en:ja": "google:gemini-1.5-pro", // Inglés a japonés
"en:zh": "google:gemini-1.5-pro", // Inglés a chino
"es:en": "google:gemini-1.5-flash", // Español a inglés
"fr:en": "google:gemini-1.5-flash-latest", // Francés a inglés
"de:en": "google:gemini-1.0-pro", // Alemán a inglés
// Respaldo para pares no especificados
"*:*": "google:gemini-1.5-flash",
},
});