Erweiterte Konfiguration

Lingo.dev Compiler bietet umfangreiche Konfigurationsoptionen zur Anpassung des Übersetzungsverhaltens und zur Optimierung Ihres Lokalisierungsworkflows.

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": "qwen/qwen3-32b",
    "en:es": "meta-llama/llama-4-maverick-17b-128e-instruct",
    "*:*": "qwen/qwen3-32b",
  },
  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 beste Ergebnisse haben wir die Qualität der folgenden GROQ-Modelle für bestimmte Sprachen getestet und validiert:

qwen/qwen3-32b

  • 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

Sie können auch Modelle von anderen LLM-Anbietern verwenden.

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": "qwen/qwen3-32b",
    "en:es": "meta-llama/llama-4-maverick-17b-128e-instruct",
    "es:fr": "meta-llama/llama-4-maverick-17b-128e-instruct",
    "*:*": "qwen/qwen3-32b",
  },
  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
  • Sehen Sie alternative LLM-Anbieter für alle Optionen

Benutzerdefinierte Prompts

Sie können benutzerdefinierte Übersetzungsprompts mit Platzhaltern definieren:

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

Für die Erstellung benutzerdefinierter Glossare können Sie Terminologie in Ihren Prompt einbeziehen. 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 wurden.

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. Z.B. 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:

  • Verfolgt Inhaltsänderungen durch Datei-Fingerprinting
  • Übersetzt nur neue oder modifizierte Inhalte
  • Verwendet vorhandene Übersetzungen für unveränderte Inhalte

Bundle-Optimierung

  • Locale-spezifische Bundles - Lädt nur Übersetzungen für das aktive Locale
  • Tree Shaking - Entfernt ungenutzte Übersetzungen aus Production-Builds
  • Code Splitting - Lädt Übersetzungen bei Bedarf für routenbasierte Anwendungen

Fehlerbehebung

Debug-Modus

Aktivieren Sie Debug-Logging zur Fehlerbehebung:

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