Schnellstart für create-t3-app
Wie man den Lingo.dev Compiler mit create-t3-app einrichtet
Einführung
Lingo.dev Compiler ist ein KI-gestütztes Tool, das die Lokalisierung von React-basierten Apps ermöglicht, ohne bestehende Komponenten zu verändern. Sie konfigurieren nur einige Einstellungen, umschließen Ihre App mit einem Context Provider, und das war's – Ihre App ist lokalisiert.
Diese Anleitung erklärt, wie Sie Lingo.dev Compiler mit create-t3-app einrichten, einem Full-Stack-Web-App-Framework, das Next.js, TypeScript, Tailwind CSS und tRPC kombiniert.
Was Sie lernen werden
- Wie man Lingo.dev Compiler in einem create-t3-app Projekt initialisiert
- Wie man den Compiler für die Kompatibilität mit create-t3-app konfiguriert
- Wie man einen Locale-Switcher zum Umschalten zwischen Sprachen einrichtet
Schritt 1. API-Schlüssel einrichten
Lingo.dev Compiler verwendet Large Language Models (LLMs), um Apps mit KI zu lokalisieren. Um eines dieser Modelle zu nutzen, benötigen Sie einen API-Schlüssel von einem unterstützten Anbieter.
Um schnellstmöglich loszulegen, empfehlen wir die Verwendung von Lingo.dev Engine – unserer eigenen, gehosteten Plattform, die 10.000 Tokens kostenlose monatliche Nutzung anbietet.
So richten Sie einen API-Schlüssel ein:
-
Navigieren Sie zur Seite Projects.
-
Klicken Sie auf API key > Copy.
-
Speichern Sie den API-Schlüssel in einer Umgebungsvariable:
export LINGODOTDEV_API_KEY="<your_api_key>"
Alternative: Benutzerdefinierte LLM-Anbieter
Sie müssen nicht Lingo.dev Engine verwenden. Sie können den Compiler so konfigurieren, dass er mit verschiedenen benutzerdefinierten LLM-Anbietern integriert wird, darunter:
- Groq
- Mistral
- Ollama
- OpenRouter
Schritt 2. Paket installieren
Lingo.dev Compiler wird als Teil des lingo.dev
npm-Pakets vertrieben. Zur Installation verwenden Sie Ihren bevorzugten Paketmanager:
npm install lingo.dev
Schritt 3. Turbopack deaktivieren
Bei der Verwendung von create-t3-app ist der Lingo.dev Compiler nicht kompatibel mit Turbopack. Wenn Turbopack aktiviert ist, wird der Kompilierungsprozess fehlschlagen.
Um Turbopack zu deaktivieren, entfernen Sie das Flag --turbopack
aus dem dev
-Skript:
{
"scripts": {
"dev": "next dev"
}
}
Schritt 4. Den Compiler initialisieren
Der Lingo.dev Compiler integriert sich in Next.js und läuft zur Build-Zeit. Um in den Build-Prozess einzugreifen, nehmen Sie folgende Änderungen an der Datei next.config.ts
vor:
-
Importieren Sie den Compiler:
import lingoCompiler from "lingo.dev/compiler";
-
Initialisieren Sie den Compiler mit der
next
-Methode:const withLingo = lingoCompiler.next({ sourceRoot: "src", lingoDir: "lingo", sourceLocale: "en", targetLocales: ["es"], rsc: true, useDirective: false, debug: false, models: "lingo.dev", });
Für die Kompatibilität mit create-t3-app stellen Sie sicher, dass:
sourceRoot
auf"src"
gesetzt istrsc
auftrue
gesetzt ist
Um mehr über die verfügbaren Optionen zu erfahren, siehe Compiler-Optionen.
-
Führen Sie die Compiler-Konfiguration mit der bestehenden Konfiguration zusammen und exportieren Sie sie:
export default withLingo(config);
Mit dieser Konfiguration wird der Lingo.dev Compiler:
- Den Abstract Syntax Tree (AST) des Quellcodes durchlaufen
- Lokalisierbaren Inhalt finden (d.h. Text in JSX-Elementen und bestimmten Attributwerten)
- Die konfigurierten KI-Modelle verwenden, um Übersetzungen zu generieren
- Den originalen und übersetzten Inhalt in einer
dictionary.js
-Datei speichern - Lokalisierten Inhalt durch Platzhalter ersetzen
Schritt 5. Den lokalisierten Inhalt laden
Nachdem der Compiler Ihre App verarbeitet und Übersetzungen generiert hat, müssen Sie diesen lokalisierten Inhalt laden und Ihren Benutzern bereitstellen. Dies beinhaltet:
- Laden des entsprechenden Wörterbuchs basierend auf der Locale-Präferenz des Benutzers
- Bereitstellen der geladenen Übersetzungen für Ihre App durch einen Context-Provider
In der Datei src/app/layout.tsx
umschließen Sie die App mit der LingoProvider
-Komponente und übergeben die loadDictionary
-Funktion:
import { LingoProvider, loadDictionary } from "lingo.dev/react/rsc";
export default function RootLayout({
children,
}: Readonly<{ children: React.ReactNode }>) {
return (
<LingoProvider loadDictionary={(locale) => loadDictionary(locale)}>
<html lang="en" className={`${geist.variable}`}>
<body>
<TRPCReactProvider>{children}</TRPCReactProvider>
</body>
</html>
</LingoProvider>
);
}
Die loadDictionary
-Funktion:
- Ruft die aktuelle Locale aus dem
lingo-locale
-Cookie ab (Standardwert ist"en"
) - Lädt den lokalisierten Inhalt aus der
dictionary.js
-Datei
Die LingoProvider
-Komponente ist ein React-Context-Provider, der die vom Compiler erstellten Platzhalter durch den lokalisierten Inhalt ersetzt.
Schritt 6. Einrichten eines Locale-Switchers
Um Benutzern das Umschalten zwischen Sprachen zu ermöglichen, importieren Sie den LocaleSwitcher
aus dem lingo.dev
Paket. Dies ist eine unstyled Komponente, die:
- Ein Dropdown-Menü mit verfügbaren Sprachen rendert
- Benutzern die Auswahl einer Sprache ermöglicht
- Die ausgewählte Sprache für zukünftige Besuche speichert
Um die Komponente zu verwenden, betten Sie sie an beliebiger Stelle in Ihrer App ein und setzen Sie die locales
-Prop auf ein Array, das die konfigurierten Quell- und Zielsprachen enthält:
import { LocaleSwitcher } from "lingo.dev/react/client";
<LocaleSwitcher locales={["en", "es"]} />;
Alternative: Benutzerdefinierter Locale-Switcher
Sie müssen nicht die LocaleSwitcher
-Komponente verwenden. Sie können eine benutzerdefinierte Logik und UI für den Sprachwechsel implementieren. Die einzige Voraussetzung ist, dass die aktive Sprache aus dem lingo-locale
-Cookie gelesen und in diesen geschrieben wird.
Schritt 7. Ausführen der App
Um zu überprüfen, ob der Lingo.dev Compiler korrekt eingerichtet wurde:
-
Starten Sie den Entwicklungsserver:
npm run dev
-
Navigieren Sie zu localhost:3000.
-
Verwenden Sie die
LocaleSwitcher
-Komponente, um zwischen den Sprachen zu wechseln.
Die Seite sollte neu geladen werden und den lokalisierten Inhalt anzeigen.
Alternative: Cookies manuell setzen
Wenn Sie die LocaleSwitcher
-Komponente nicht verwenden, können Sie alternativ überprüfen, ob die Lokalisierung funktioniert, indem Sie den lingo-locale
-Cookie manuell setzen.
Wenn Sie Google Chrome verwenden, folgen Sie diesen Anweisungen:
- Navigieren Sie zu Ansicht > Entwickler > Entwicklertools.
- Gehen Sie zum Tab Anwendung.
- Erweitern Sie in der linken Seitenleiste unter Speicher die Option Cookies und wählen Sie die URL der Website aus.
- Klicken Sie in der Cookie-Tabelle mit der rechten Maustaste und wählen Sie Hinzufügen.
- Geben Sie in der Spalte Name
lingo-locale
ein. - Geben Sie in der Spalte Wert die gewünschte Sprache ein (z.B.
es
). - Drücken Sie Enter, um den Cookie zu speichern.
- Aktualisieren Sie die Seite, um den Cookie anzuwenden.
Weiterführende Lektüre
- Um zu verstehen, wie der Compiler funktioniert, siehe Funktionsweise.
- Um zu lernen, wie man den Compiler konfiguriert, siehe Compiler-Optionen.