Erweiterte Konfiguration

Lingo.dev Compiler bietet umfangreiche Konfigurationsoptionen zur Anpassung des Übersetzungsverhaltens und zur Optimierung Ihres Lokalisierungs-Workflows.

Konfigurationseinstellungen

Bei der Implementierung des Compilers in Ihrem Projekt können Sie ein Einstellungsobjekt mit den folgenden Optionen übergeben:

// Standardkonfiguration
const compilerConfig = {
  sourceRoot: "src",
  lingoDir: "lingo",
  sourceLocale: "en",
  targetLocales: ["es"],
  rsc: false,
  debug: false,
  models: {
    // Benutzerdefinierte Modellkonfiguration
    "*:fr": "mistral-saba-24b",
    "en:es": "meta-llama/llama-4-maverick-17b-128e-instruct",
    "*:*": "mistral-saba-24b",
  },
  prompt:
    "You are AI translator. You translate from {SOURCE_LOCALE} to {TARGET_LOCALE}.",
};

// Next.js
lingoCompiler.next(compilerConfig)(nextConfig);

// Vite/React Router
lingoCompiler.vite(compilerConfig)(viteConfig);

Konfigurationsoptionen

  • sourceRoot - Pfad zu Ihrem Quellverzeichnis, in dem das lingo/-Verzeichnis gespeichert wird
  • lingoDir - Name des Verzeichnisses mit Übersetzungsdateien (Standard: "lingo")
  • sourceLocale - Die Quellsprache Ihrer Anwendung (Standard: "en")
  • targetLocales - Array der Zielsprachen, in die übersetzt werden soll
  • rsc - Unterstützung für React Server Components aktivieren (Standard: false)
  • debug - Debug-Logging für Fehlerbehebung aktivieren (Standard: false)
  • models - Benutzerdefinierte KI-Modellkonfiguration für spezifische Sprachpaare (optional)
  • prompt - Benutzerdefinierter Übersetzungsprompt mit Platzhaltern (optional)

Empfohlene Groq-Modelle

Für optimale Ergebnisse haben wir die Qualität der folgenden GROQ-Modelle für spezifische Lokalisierungen getestet und validiert:

mistral-saba-24b

  • ar - Arabisch
  • de - Deutsch
  • fr - Französisch
  • pt-BR - Portugiesisch (Brasilien)

meta-llama/llama-4-maverick-17b-128e-instruct

  • es - Spanisch
  • ja - Japanisch
  • ko - Koreanisch
  • ru - Russisch
  • zh - Chinesisch

Benutzerdefinierte Modellkonfiguration

Sie können KI-Modelle und Prompts direkt in Ihrer Compiler-Konfiguration anpassen:

const compilerConfig = {
  sourceLocale: "en",
  targetLocales: ["es", "fr", "de"],
  models: {
    "*:fr": "mistral-saba-24b",
    "en:es": "meta-llama/llama-4-maverick-17b-128e-instruct",
    "es:fr": "meta-llama/llama-4-maverick-17b-128e-instruct",
    "*:*": "mistral-saba-24b",
  },
  prompt:
    "You are a professional translator specializing in technical documentation. Translate from {SOURCE_LOCALE} to {TARGET_LOCALE} while maintaining technical accuracy.",
};

Modellkonfiguration

  • Definieren Sie Locale-Paare als source-locale:target-locale
  • Verwenden Sie * als Platzhalter für beliebige Locales
  • Verwenden Sie *:* als Fallback für alle Übersetzungen
  • Siehe alternative LLM-Anbieter für alle Optionen

Benutzerdefinierte Prompts

Sie können benutzerdefinierte Übersetzungs-Prompts mit Platzhaltern definieren:

  • {SOURCE_LOCALE} - Quellsprachcode
  • {TARGET_LOCALE} - Zielsprachcode

Für die Erstellung benutzerdefinierter Glossare können Sie Terminologie in Ihrem Prompt einbinden. Orientieren Sie sich am Standard-Compiler-Prompt für Best Practices.

Build-Normalisierung

Führen Sie immer einen Produktions-Build lokal aus, bevor Sie Änderungen committen:

npm run build

Dies stellt sicher, dass die Dateien meta.json und dictionary.js im Verzeichnis lingo/ nur Strings enthalten, die in Ihrer App vorhanden sind, und korrekt formatiert sind.

Einrichtung eines Pre-commit Hooks

Richten Sie eine automatische Normalisierung mit husky ein:


# Husky installieren

npm install --save-dev husky

# Pre-commit Hook hinzufügen

npx husky add .husky/pre-commit "npm run build"

Umgebungsspezifische Konfiguration

Entwicklung

const isDev = process.env.NODE_ENV === "development";

const compilerConfig = {
  debug: isDev,
  targetLocales: isDev ? ["es"] : ["es", "fr", "de", "ja"],
};

CI/CD-Integration

Für automatisierte Builds stellen Sie sicher, dass Ihre CI-Umgebung Zugriff auf den API-Schlüssel für Lingo.dev oder Ihren konfigurierten LLM-Anbieter hat. Beispiel für Groq:


# GitHub Actions

GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}

# Vercel

GROQ_API_KEY=gsk_...

# Netlify

GROQ_API_KEY=gsk_...

Performance-Optimierung

Inkrementelle Builds

Der Compiler führt automatisch folgende Aktionen durch:

  • Nachverfolgung von Inhaltsänderungen durch File-Fingerprinting
  • Übersetzung nur neuer oder modifizierter Inhalte
  • Wiederverwendung vorhandener Übersetzungen für unveränderte Inhalte

Bundle-Optimierung

  • Locale-spezifische Bundles - Laden Sie nur Übersetzungen für das aktive Locale
  • Tree Shaking - Entfernung ungenutzter Übersetzungen aus Production-Builds
  • Code Splitting - Bedarfsgesteuertes Laden von Übersetzungen für routenbasierte Anwendungen

Fehlerbehebung

Debug-Modus

Aktivieren Sie Debug-Logging zur Problembehebung:

const compilerConfig = {
  debug: true,
  // ... weitere Optionen
};

Häufige Probleme

Fehlende Übersetzungen: Stellen Sie sicher, dass Sie npm run build lokal ausgeführt und das lingo/-Verzeichnis committed haben. Bei Verwendung von NextJS müssen Sie möglicherweise das .next/-Verzeichnis löschen, um sicherzustellen, dass alle Dateien neu erstellt werden.

Build-Fehler: Überprüfen Sie, ob Ihr API-Schlüssel für den konfigurierten LLM-Provider korrekt in Ihren Umgebungsvariablen gesetzt ist.

Performance-Probleme: Aktivieren Sie den Debug-Modus, um Engpässe im Kompilierungsprozess zu identifizieren.

Nächste Schritte