Google AI

KI-Übersetzung mit Google Gemini und Lingo.dev Compiler

Was ist Google AI?

Google AI Studio ist eine webbasierte Entwicklungsumgebung zum Erstellen, Testen und Bereitstellen von Anwendungen, die von Googles generativen KI-Modellen wie Gemini angetrieben werden. Es ermöglicht Entwicklern, mit Prompts zu experimentieren, Antworten zu optimieren und Modelle über APIs in Apps zu integrieren – alles innerhalb einer benutzerfreundlichen Oberfläche, die mit Google Cloud verbunden ist.

API-Schlüssel einrichten

Google AI benötigt einen API-Schlüssel, um Anfragen vom Lingo.dev Compiler zu authentifizieren. Wählen Sie die Einrichtungsmethode, die am besten zu Ihrem Workflow passt:

Option 1: Umgebungsvariable (Terminal)

Am besten für schnelle Experimente und Tests ohne Änderung von Dateien geeignet.

Setzen Sie den Schlüssel direkt in Ihrer Terminal-Sitzung:

export GOOGLE_API_KEY="your-api-key-here"

Dieser Schlüssel ist nur verfügbar, bis Sie Ihr Terminal-Fenster schließen.

Option 2: Projektkonfiguration (.env)

Am besten für projektspezifische Konfigurationen und Team-Umgebungen geeignet, in denen jedes Projekt unterschiedliche Anmeldedaten verwenden kann.

Erstellen Sie eine .env-Datei in Ihrem Projektverzeichnis:

touch .env

Fügen Sie die folgende Zeile zur Datei hinzu:

GOOGLE_API_KEY="your-api-key-here"

Lingo.dev Compiler prüft Umgebungsdateien in dieser Prioritätsreihenfolge:

  1. .env.development (höchste Priorität)
  2. .env.local
  3. .env (niedrigste Priorität)

Werte in Dateien mit höherer Priorität überschreiben diejenigen in Dateien mit niedrigerer Priorität.

Option 3: Globale Konfiguration (Benutzereinstellungen)

Am besten für einzelne Entwickler geeignet, die denselben API-Schlüssel für alle ihre Projekte verwenden möchten.

Erstellen Sie eine Konfigurationsdatei in Ihrem Home-Verzeichnis:

touch ~/.lingodotdevrc

Fügen Sie den folgenden Inhalt zur Datei hinzu:

[llm]
googleApiKey="your-api-key-here"

Diese Konfiguration bleibt über alle Terminal-Sitzungen und Projekte auf Ihrem Gerät bestehen.

Konfigurationspriorität

Wenn mehrere Konfigurationsmethoden verwendet werden, prüft der Lingo.dev Compiler API-Schlüssel in dieser Reihenfolge:

  1. Umgebungsvariablen (höchste Priorität)
  2. Projekt .env-Dateien (in ihrer eigenen Prioritätsreihenfolge)
  3. Benutzerkonfigurationsdatei ~/.lingodotdevrc (niedrigste Priorität)

Der erste gültige API-Schlüssel, der gefunden wird, wird verwendet.

Verwendung von Google AI

Um Google AI zu aktivieren, setzen Sie die models-Eigenschaft in den Compiler-Optionen:

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);

Die Eigenschaft akzeptiert ein Objekt, bei dem:

  • die Schlüssel Paare von Quell- und Zielsprachen sind, wobei * für jede Sprache steht
  • die Werte Modellbezeichner sind (z.B. google:gemini-1.5-flash)

Sie können Google AI verwenden, um zu übersetzen:

  • zwischen allen Sprachen
  • von einer bestimmten Quellsprache
  • in eine bestimmte Zielsprache
  • zwischen einer bestimmten Quell- und Zielsprache

Übersetzung aller Sprachen

Verwenden Sie das Platzhalter-Muster *:*, um dasselbe Google-Modell für alle Übersetzungspaare anzuwenden:

const withLingo = lingoCompiler.vite({
  sourceRoot: "src",
  lingoDir: "lingo",
  sourceLocale: "en",
  targetLocales: ["es", "fr", "de", "ja", "pt", "zh"],
  models: {
    // Gemini 1.5 Flash für alle Übersetzungspaare verwenden
    "*:*": "google:gemini-1.5-flash",
  },
});

Übersetzung von einer bestimmten Quellsprache

Verwenden Sie eine spezifische Quellsprache mit Platzhalter-Ziel, um ein Modell für alle Übersetzungen aus dieser Quelle anzuwenden:

const withLingo = lingoCompiler.vite({
  sourceRoot: "src",
  lingoDir: "lingo",
  sourceLocale: "en",
  targetLocales: ["es", "fr", "de", "ja", "pt", "zh"],
  models: {
    // Gemini 1.5 Pro für alle Übersetzungen aus dem Englischen verwenden
    "en:*": "google:gemini-1.5-pro",
    // Gemini 1.5 Flash für Übersetzungen vom Spanischen in jede Sprache verwenden
    "es:*": "google:gemini-1.5-flash",
    // Fallback für andere Quellsprachen
    "*:*": "google:gemini-1.5-flash-latest",
  },
});

Übersetzung in eine bestimmte Zielsprache

Verwenden Sie einen Wildcard-Quellcode mit einer spezifischen Zielsprache, um ein Modell für alle Übersetzungen in diese Zielsprache anzuwenden:

const withLingo = lingoCompiler.vite({
  sourceRoot: "src",
  lingoDir: "lingo",
  sourceLocale: "en",
  targetLocales: ["es", "fr", "de", "ja", "pt", "zh"],
  models: {
    // Spezialisiertes Modell für Übersetzungen ins Japanische verwenden
    "*:ja": "google:gemini-1.5-pro",
    // Gemini 1.5 Flash für Übersetzungen ins Chinesische verwenden
    "*:zh": "google:gemini-1.5-flash",
    // Gemini 1.5 Pro für Übersetzungen ins Deutsche verwenden
    "*:de": "google:gemini-1.5-pro-latest",
    // Standard für andere Zielsprachen
    "*:*": "google:gemini-1.5-flash",
  },
});

Übersetzung zwischen spezifischen Sprachen

Definieren Sie exakte Quell-Ziel-Paare für eine präzise Kontrolle darüber, welches Modell bestimmte Sprachkombinationen verarbeitet:

const withLingo = lingoCompiler.vite({
  sourceRoot: "src",
  lingoDir: "lingo",
  sourceLocale: "en",
  targetLocales: ["es", "fr", "de", "ja", "pt", "zh"],
  models: {
    // Spezifische Paare mit optimalen Modellen
    "en:es": "google:gemini-1.5-flash", // Englisch nach Spanisch
    "en:ja": "google:gemini-1.5-pro", // Englisch nach Japanisch
    "en:zh": "google:gemini-1.5-pro", // Englisch nach Chinesisch
    "es:en": "google:gemini-1.5-flash", // Spanisch nach Englisch
    "fr:en": "google:gemini-1.5-flash-latest", // Französisch nach Englisch
    "de:en": "google:gemini-1.0-pro", // Deutsch nach Englisch

    // Fallback für nicht spezifizierte Paare
    "*:*": "google:gemini-1.5-flash",
  },
});