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

Steuerung der Dateiverarbeitung

Übersetzungen überspringen

Fügen Sie das Attribut data-lingo-skip zu Elementen hinzu, die nicht übersetzt werden sollen:

<div data-lingo-skip>This content will not be translated</div>

Übersetzungs-Overrides

Überschreiben Sie Übersetzungen für bestimmte Lokalisierungen mit data-lingo-override- Attributen:

<button data-lingo-override-es="¡Hola!" data-lingo-override-fr="Bonjour!">
  Hello
</button>

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 Lokalisierungspaare als source-locale:target-locale
  • Verwenden Sie * als Platzhalter für beliebige Lokalisierungen
  • Verwenden Sie *:* als Fallback für alle Übersetzungen
  • Siehe GROQ-Modelle für verfügbare 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 bewährte Praktiken.

Build-Normalisierung

Führen Sie immer einen lokalen Produktions-Build durch, 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 Anwendung vorhanden sind, und korrekt formatiert sind.

Einrichtung des Pre-commit Hooks

Richten Sie die 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

Stellen Sie für automatisierte Builds sicher, dass Ihre CI-Umgebung Zugriff auf den GROQ API-Schlüssel hat:


# GitHub Actions

GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}

# Vercel

GROQ_API_KEY=gsk_...

# Netlify

GROQ_API_KEY=gsk_...

Leistungsoptimierung

Inkrementelle Builds

Der Compiler führt automatisch folgende Aktionen durch:

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

Bundle-Optimierung

  • Lokale-spezifische Bundles - Laden Sie nur Übersetzungen für die aktive Lokale
  • Tree Shaking - Entfernen Sie ungenutzte Übersetzungen aus Produktions-Builds
  • Code Splitting - Laden Sie Übersetzungen bei Bedarf für routenbasierte Anwendungen

Fehlerbehebung

Debug-Modus

Aktivieren Sie Debug-Logging zur Fehlerbehebung:

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

Häufige Probleme

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

Build-Fehler: Überprüfen Sie, ob Ihr GROQ_API_KEY korrekt in Ihren Umgebungsvariablen gesetzt ist.

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

Nächste Schritte