withGTConfig
API-Referenz für withGTConfig(), früher initGT()
Übersicht
withGTConfig ist der wichtigste Weg, die Bibliothek gt-next zu konfigurieren.
Es umschließt direkt ein NextConfig-Objekt.
import { withGTConfig } from 'gt-next/config';
const nextConfig = {
    // Ihre vorhandene next.config.js
}
export default withGTConfig(nextConfig, {
  // Weitere Konfigurationsoptionen
});Legacy
initGT ist die ältere/Legacy-Methode zur Konfiguration der Bibliothek gt-next. Sie gibt eine Callback-Funktion zurück, die anschließend am Objekt NextConfig aufgerufen wird.
Die Props beider Funktionen sind identisch, mit der Ausnahme, dass withGTProps erfordert, dass NextConfig ebenfalls übergeben wird.
Verwenden Sie withGTConfig, um:
- Unterstützte Sprachen und die Standard-locale zu konfigurieren (Fallback-Sprache).
- API-Schlüssel und Projekt-IDs für den Zugriff auf GT-Dienste festzulegen.
- Das Ladeverhalten festzulegen.
- Zeitüberschreitungen zu konfigurieren.
- Benutzerdefinierte Endpunkte einzurichten.
- Übersetzungsverhalten, Caching und Request-Batching anzupassen.
- Build-Time-Validierung über das SWC-Plugin zu konfigurieren.
withGTConfig muss in Ihrer Datei next.config.js verwendet werden, um die Übersetzungsfunktionalität zu aktivieren.
Referenz
Standardmäßig sucht withGTConfig nach einer gt.config.json-Datei im selben Verzeichnis wie Ihre next.config.js.
Diese JSON-Datei wird geladen und mit der an withGTConfig übergebenen Konfiguration zusammengeführt.
Weitere Informationen zur Konfigurationsdatei finden Sie in der Referenz zu gt.config.json.
Das CLI-Tool liest die Konfiguration ausschließlich aus der gt.config.json. Daher empfehlen wir, die gt.config.json als maßgebliche Quelle (Source of Truth) für Ihre App zu verwenden.
Zusätzliche Konfigurationsoptionen, die nicht in der gt.config.json enthalten sind, können direkt als Props an withGTConfig übergeben werden.
Erforderliche Props
Prop
Type
Empfohlene Props
Prop
Type
| Prop | Beschreibung | 
|---|---|
| defaultLocale | Standardmäßige locale der Anwendung. Englisch dient als Standardwert, wenn keine festgelegt ist. | 
| locales | Eine ausschließliche Liste der unterstützten locales für die Anwendung. Bei einer nicht unterstützten Anfrage wird auf die nächste bevorzugte Browsersprache in der Liste umgeleitet. Fällt auf defaultLocalezurück, wenn keine Übereinstimmung gefunden wird. | 
| description | Eine natürlichsprachige Beschreibung der Website zur Unterstützung der Übersetzung. | 
Erweiterte Props
Prop
Type
| Prop | Description | 
|---|---|
| projectId | Projekt-ID, die hier oder als Umgebungsvariable angegeben werden kann. | 
| apiKey | Nicht empfohlen, kann aber hier angegeben werden. Alternativ als Umgebungsvariable. | 
| devApiKey | Nicht empfohlen, kann aber hier als Entwicklungs-API-Schlüssel angegeben werden. Alternativ als Umgebungsvariable. | 
| preferredModelProvider | Ihr bevorzugter KI-Modellanbieter. Derzeit sind nur Anthropic oder OpenAI verfügbar. Lassen Sie dieses Feld leer, ermitteln wir pro Übersetzung den besten Anbieter. In Zeiten hoher Auslastung oder wenn ein Anbieter nicht verfügbar ist, können wir nicht garantieren, dass Ihr bevorzugter Anbieter verwendet wird. | 
| runtimeUrl | Basis-URL für die GT-API. Um automatische Übersetzungen zu deaktivieren, auf einen leeren String setzen. | 
| cacheUrl | URL, unter der zwischengespeicherte Übersetzungen abgelegt werden. Kann angepasst werden, um auf einen eigenen Cache-Server zu verweisen. | 
| cacheExpiryTime | Zeit in Millisekunden, nach der lokal zwischengespeicherte Übersetzungen verfallen. | 
| renderSettings | Objekt, das das Ladeverhalten für Laufzeitübersetzungen festlegt. | 
| maxConcurrentRequests | Maximale Anzahl gleichzeitiger Übersetzungsanfragen an die GT-API. | 
| maxBatchSize | Maximale Anzahl von Übersetzungen, die vor dem Senden einer Anfrage gebündelt werden. | 
| batchInterval | Intervall in Millisekunden zwischen gebündelten Übersetzungsanfragen. Hilft, die Anfragerate zu steuern. | 
| dictionary | Optionaler Konfigurationspfad für das Wörterbuch. Ähnlich wie bei i18nkann ein String zur Angabe eines benutzerdefinierten Pfads verwendet werden. Wörterbücher namensdictionary.js(oder.jsx,.ts,.tsxetc.) und im Projektwurzelverzeichnis oder im Ordnersrcwerden standardmäßig unterstützt. | 
| dynamicJsxCheckLogLevel | Steuert die Prüfung von nicht umschlossenem dynamischem Inhalt in Übersetzungskomponenten. Auf "error"setzen, um Builds fehlschlagen zu lassen,"warn"für Warnungen oder"off", um die Prüfung zu deaktivieren. | 
| dynamicStringCheckLogLevel | Steuert die Prüfung von Argumenten der Übersetzungsfunktion, um sicherzustellen, dass String-Literale verwendet werden. Auf "error"setzen, um Builds fehlschlagen zu lassen,"warn"für Warnungen oder"off", um die Prüfung zu deaktivieren. | 
Rückgabe
Eine Funktion (NextConfig) => NextConfig, die das Next.js-Konfigurationsobjekt mit den angegebenen GT-Einstellungen erweitert.
Ausnahmen
Löst eine Error aus, wenn die projectId fehlt und Standard-URLs verwendet werden, oder wenn ein API-Schlüssel erforderlich ist und fehlt.
Render-Einstellungen
Die Render-Einstellungen steuern das Verhalten von Übersetzungen während des Ladens. Dies gilt nur für Übersetzungen, die zur Laufzeit erfolgen. Wenn die Übersetzung aus dem Cache kommt, ist die Reaktionszeit so kurz, dass ein spezielles Ladeverhalten nicht erforderlich ist.
Prop
Type
| Prop | Description | 
|---|---|
| method | Die Methode, mit der die Seite gerendert wird. Optionen sind skeleton,replaceunddefault. | 
| timeout | Die Zeit in Millisekunden, bevor die Methode wegen Zeitüberschreitung abbricht. Standard: 8000 ms. | 
Render-Methoden
- skeleton: Rendert ein Fragment.
- replace: Rendert Inhalte in der Standardsprache während des Wartens.
- default: Für locales mit derselben Sprache (z. B.- en-USund- en-GB) verhält es sich wie replace. Für locales mit unterschiedlichen Sprachen (z. B.- en-USund- fr) verhält es sich wie skeleton.
Zeitüberschreitung
Zeitüberschreitungen gelten nur für Übersetzungen zur Laufzeit, also für Übersetzungen, die bei Bedarf ausgeführt werden müssen, weil sie nicht im Cache liegen.
Standardmäßig beträgt die Zeitüberschreitung 8 Sekunden. Diese Designentscheidung kommt Vercel-Nutzerinnen und -Nutzern entgegen, die im kostenlosen Tarif eine Standard-Zeitüberschreitung von 10 Sekunden für serverlose Funktionen haben.
Beispiele
Rendereinstellungen
Dieses Beispiel konfiguriert gt-next, sodass während des Ladens der Übersetzungen ein Skeleton angezeigt wird.
Wenn das Laden der Übersetzungen länger als 8 Sekunden dauert, läuft die Methode in ein Timeout und rendert den Inhalt in der Standardsprache.
{
  "defaultLocale": "en-US",
  "locales": ["en-US", "es", "fr"],
}import { withGTConfig } from 'gt-next/config';
const nextConfig = {
  // Ihre anderen Next.js-Konfigurationen
};
export default withGTConfig(nextConfig, {
  renderSettings: {
    method: 'skeleton',
    timeout: 10000,
  },
});Validierung zur Build-Zeit
Dieses Beispiel konfiguriert das SWC-Plugin so, dass Verstöße gegen dynamische Inhalte als Build-Fehler statt als Warnungen behandelt werden.
import { withGTConfig } from 'gt-next/config';
const nextConfig = {
  // Ihre anderen Next.js-Konfigurationen
};
export default withGTConfig(nextConfig, {
  // Builds bei dynamischen JSX-Verstößen fehlschlagen lassen
  dynamicJsxCheckLogLevel: 'error',
  // Bei dynamischen String-Verstößen warnen  
  dynamicStringCheckLogLevel: 'warn',
});Hinweise
- withGTConfigintegriert die GT-Übersetzungsfunktionen in deine Next.js-App und muss in der Root-Konfigurationsdatei verwendet werden.
- Parameter wie apiKeyundprojectIdkönnen direkt in der Konfiguration oder als Umgebungsvariablen festgelegt werden.
- Erweiterte Parameter wie renderSettingsund_batchIntervalermöglichen eine fein granulare Steuerung des Übersetzungsverhaltens und der Performance.
Nächste Schritte
- Fügen Sie Übersetzungen in Ihren CD-Prozess ein.
Wie ist dieser Leitfaden?

