|Labs
Demo buchenPlattform
React (Lingo Compiler)
Alpha
React (MCP)React (i18n)Legacy CLI (v0)
Veraltet

Lingo.dev Compiler

  • So funktioniert's
  • Einrichtung
  • Compiler – Erste Schritte

Frameworks

  • Next.js-Integration
  • Vite + React

Leitfäden

  • Sprache wechseln
  • Automatische Pluralisierung
  • Manuelle Überschreibungen
  • Build-Modi
  • Projektstruktur
  • Übersetzungsanbieter
  • Benutzerdefinierte Sprache-Resolver
  • Entwicklungstools

Referenz

  • Best Practices
  • Konfigurationsreferenz
  • Fehlerbehebung
  • Migrationsleitfaden
  • Optimierung
  • Ausgabeformate

Konfigurationsreferenz

Alpha

Der Lingo.dev Compiler befindet sich in der Alpha-Phase. Er ist instabil, für den Produktionseinsatz nicht empfohlen, und APIs können sich zwischen Releases ändern.

Das Konfigurationsobjekt des Lingo.dev Compiler steuert, wie Ihre React-Anwendung während des Builds übersetzt wird. Diese Seite dokumentiert jede verfügbare Option mit Typen, Standardwerten und Anwendungsbeispielen.

Grundoptionen#

OptionTypStandardBeschreibung
sourceRootstring"src"Verzeichnis mit übersetzbaren Komponenten. Relativ zum Projektstamm.
lingoDirstring".lingo"Verzeichnis für Übersetzungsmetadaten und Cache-Dateien.
sourceLocalestringerforderlichSprachcode Ihrer Ausgangsinhalte (z. B. "en").
targetLocalesstring[]erforderlichArray mit Zielsprachcodes (z. B. ["es", "de", "fr"]).
useDirectivebooleanfalseWenn true, werden nur Dateien mit der Direktive 'use i18n' übersetzt. Wenn false, werden alle Dateien in sourceRoot übersetzt.
modelsstring | object"lingo.dev"Konfiguration des Übersetzungsanbieters. Ein String setzt den Standard für alle Sprachpaare. Ein Objekt ordnet Sprachpaare bestimmten Anbietern zu.
promptstringundefinedBenutzerdefinierter System-Prompt für das Übersetzungs-LLM. Unterstützt die Platzhalter {SOURCE_LOCALE} und {TARGET_LOCALE}.
buildMode"translate" | "cache-only""translate"Steuert, ob der Compiler neue Übersetzungen generiert oder ausschließlich zwischengespeicherte Übersetzungen verwendet.

Dev-Optionen#

Optionen unter dem Schlüssel dev steuern das Verhalten während der Entwicklung:

OptionTypStandardBeschreibung
dev.usePseudotranslatorbooleanfalseErzeugt sofort Pseudo-Übersetzungen (z. B. [!!! Welcome !!!]), statt ein LLM aufzurufen. Kein API-Schlüssel erforderlich.
dev.translationServerStartPortnumber60000Startport für den lokalen Übersetzungsserver. Der Compiler findet automatisch einen verfügbaren Port im Bereich 60000-60099.
dev.translationServerUrlstringundefinedÜberschreibt die URL des Übersetzungsservers. Nützlich für benutzerdefinierte Setups oder Remote-Übersetzungsserver.

Sprache-Persistenz#

Optionen unter localePersistence steuern, wie die vom Benutzer ausgewählte Sprache gespeichert und abgerufen wird:

OptionTypStandardBeschreibung
localePersistence.typestring"cookie"Persistenzmechanismus. Aktuell wird "cookie" unterstützt.
localePersistence.config.namestring"locale"Name des Cookies, in dem die Sprache gespeichert wird.
localePersistence.config.maxAgenumber31536000Max-Age des Cookies in Sekunden (Standard: 1 Jahr).

Für benutzerdefinierte Persistenzlogik (localStorage, URL-basiert, Header) siehe Benutzerdefinierte Sprache-Resolver.

Pluralisierung#

Optionen unter pluralization steuern die automatische Erkennung und Generierung von Pluralformen:

OptionTypStandardBeschreibung
pluralization.enabledbooleantrueAktiviert oder deaktiviert die automatische Erkennung von Pluralformen.
pluralization.modelstring"groq:llama-3.1-8b-instant"LLM-Modell zur Erkennung von Pluralformen im Ausgangstext. Ein kleineres, schnelleres Modell ist empfehlenswert, da die Erkennung einfacher ist als die Übersetzung.

Unter Automatische Pluralisierung erfahren Sie im Detail, wie die Pluralerkennung funktioniert.

Umgebungsvariablen#

Umgebungsvariablen überschreiben die Konfiguration oder ergänzen sie:

VariableWann erforderlichBeschreibung
LINGO_BUILD_MODEOptionalÜberschreibt die Konfigurationsoption buildMode. Auf "translate" oder "cache-only" setzen.
LINGODOTDEV_API_KEYBei Verwendung von "lingo.dev"-ModellenAPI-Schlüssel für die Lingo.dev Lokalisierungs-Engine. Erhältlich über npx lingo.dev@latest login.
OPENAI_API_KEYBei Verwendung von "openai:*"-ModellenOpenAI-API-Schlüssel.
ANTHROPIC_API_KEYBei Verwendung von "anthropic:*"-ModellenAnthropic-API-Schlüssel.
GOOGLE_API_KEYBei Verwendung von "google:*"-ModellenGoogle-AI-API-Schlüssel.
GROQ_API_KEYBei Verwendung von "groq:*"-ModellenGroq-API-Schlüssel.
MISTRAL_API_KEYBei Verwendung von "mistral:*"-ModellenMistral-API-Schlüssel.
OPENROUTER_API_KEYBei Verwendung von "openrouter:*"-ModellenOpenRouter-API-Schlüssel.

Vollständiges Beispiel#

ts
// next.config.ts
import type { NextConfig } from "next";
import { withLingo } from "@lingo.dev/compiler/next";

const nextConfig: NextConfig = {};

export default async function (): Promise<NextConfig> {
  return await withLingo(nextConfig, {
    sourceRoot: "./app",
    lingoDir: ".lingo",
    sourceLocale: "en",
    targetLocales: ["es", "de", "fr", "ja"],
    useDirective: false,
    models: {
      "*:*": "lingo.dev",
      "*:ja": "anthropic:claude-3-5-sonnet",
    },
    prompt: "Translate UI text from {SOURCE_LOCALE} to {TARGET_LOCALE}. Keep it concise.",
    buildMode: "translate",
    dev: {
      usePseudotranslator: true,
      translationServerStartPort: 60000,
    },
    localePersistence: {
      type: "cookie",
      config: {
        name: "locale",
        maxAge: 31536000,
      },
    },
    pluralization: {
      enabled: true,
      model: "groq:llama-3.1-8b-instant",
    },
  });
}

Nächste Schritte#

Übersetzungsanbieter
Alle unterstützten LLM-Anbieter und die Zuordnung nach Sprachpaaren
Build-Modi
Dev-, CI- und Produktions-Workflows
Benutzerdefinierte Sprache-Resolver
Benutzerdefinierte Sprache-Erkennung implementieren
Best Practices
Empfohlene Muster für den Produktionseinsatz

War diese Seite hilfreich?

Max PrilutskiyMax Prilutskiy·Aktualisiert vor 4 Monaten·4 Min. Lesezeit