withGTConfig
API-Referenz für withGTConfig(), vormals initGT()
Übersicht
withGTConfig ist der primäre 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 frühere (Legacy-)Methode zur Konfiguration der gt-next-Bibliothek. Sie gibt eine Callback-Funktion zurück, die anschließend auf dem NextConfig-Objekt 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-
localezu konfigurieren (alias Standardsprache). - API-Schlüssel und Projekt-IDs für den Zugriff auf GT-Dienste festzulegen.
- Das Ladeverhalten festzulegen.
- Zeitüberschreitungen zu konfigurieren.
- Eigene 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 Datei gt.config.json 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 Datei gt.config.json. Daher empfehlen wir, gt.config.json als maßgebliche Quelle für Ihre App zu verwenden.
Zusätzliche options, die nicht in gt.config.json enthalten sind, können withGTConfig direkt als Props übergeben werden.
Erforderliche Props
Prop
Type
Empfohlene Props
Prop
Type
| Prop | Description |
|---|---|
defaultLocale | Standardmäßige defaultLocale für die Anwendung. Englisch dient als Standardwert, wenn keine angegeben ist. |
locales | Eine ausschließliche Liste unterstützter locales für die Anwendung. Geht eine nicht unterstützte Anfrage ein, wird zur nächsthöher bevorzugten Browsersprache in der Liste umgeleitet. Fällt auf defaultLocale zurück, wenn keine Übereinstimmung gefunden wird. |
description | Eine natürlichsprachliche Beschreibung der Website, die die Übersetzung unterstützt. |
Erweiterte Props
Prop
Type
| Prop | Beschreibung |
|---|---|
projectId | Projekt-ID, die hier oder als Umgebungsvariable angegeben werden kann. |
apiKey | Zwar nicht empfohlen, aber ein hier anzugebender API-Schlüssel. Alternativ kann er als Umgebungsvariable gesetzt werden. |
devApiKey | Zwar nicht empfohlen, aber ein hier anzugebender Entwicklungs-API-Schlüssel. Alternativ kann er als Umgebungsvariable gesetzt werden. |
preferredModelProvider | Bevorzugter KI-Modelanbieter. Derzeit sind nur Anthropic oder OpenAI verfügbar. Lassen Sie dieses Feld leer, ermitteln wir pro Übersetzung den jeweils besten Anbieter. In Zeiten hoher Auslastung oder bei Deaktivierung eines Anbieters können wir nicht garantieren, dass der bevorzugte Anbieter genutzt wird. |
runtimeUrl | Basis-URL für die GT-API. Um die automatische Übersetzung zu deaktivieren, setzen Sie dies auf einen leeren String. |
cacheUrl | URL, unter der zwischengespeicherte Übersetzungen abgelegt werden. Kann angepasst werden, um auf einen eigenen Cache-Server zu verweisen. |
cacheExpiryTime | Zeit in Millisekunden, bis lokal zwischengespeicherte Übersetzungen ablaufen. |
renderSettings | Objekt, das das Ladeverhalten für Runtime-Übersetzungen definiert. |
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 Versandrate der Anfragen zu steuern. |
dictionary | Optionaler Konfigurationspfad für das Wörterbuch. Ähnlich wie i18n akzeptiert es einen String zur Angabe eines benutzerdefinierten Pfads. Wörterbücher mit dem Namen dictionary.js (oder .jsx, .ts, .tsx usw.), die im Projektstamm oder im Ordner src liegen, werden standardmäßig unterstützt. |
dynamicJsxCheckLogLevel | Steuert die Validierung von nicht umschlossenem dynamischem Inhalt in Übersetzungskomponenten. Setzen Sie auf "error", um Builds fehlschlagen zu lassen, auf "warn" für Warnungen oder auf "off", um die Prüfung zu deaktivieren. |
dynamicStringCheckLogLevel | Steuert die Validierung von Argumenten der Übersetzungsfunktion, um die Verwendung von String-Literalen sicherzustellen. Setzen Sie auf "error", um Builds fehlschlagen zu lassen, auf "warn" für Warnungen oder auf "off", um die Prüfung zu deaktivieren. |
Rückgabewert
Eine Funktion (NextConfig) => NextConfig, die das Next.js‑Konfigurationsobjekt mit den angegebenen GT‑Einstellungen erweitert.
Ausnahmen
Löst einen Error aus, wenn die projectId fehlt und Standard-URLs verwendet werden, oder wenn der 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 zwischengespeichert ist, ist die Antwortzeit zu kurz, um spezielles Ladeverhalten zu rechtfertigen.
Prop
Type
| Prop | Description |
|---|---|
method | Die Methode, mit der die Seite gerendert wird. Optionen sind skeleton, replace und default. |
timeout | Die Zeit in Millisekunden, bevor die Methode in eine Zeitüberschreitung läuft. Standard ist 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-USunden-GB) verhält es sich wie replace. Für locales mit unterschiedlichen Sprachen (z. B.en-USundfr) verhält es sich wie skeleton.
Zeitüberschreitung
Zeitüberschreitungen gelten nur für Laufzeitübersetzungen, also Ü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 standardmäßige Zeitüberschreitung von 10 Sekunden für serverlose Funktionen haben.
Beispiele
Render-Einstellungen
Dieses Beispiel konfiguriert gt-next, damit während des Ladens der Übersetzungen ein Skeleton gerendert wird.
Wenn das Laden der Übersetzungen länger als 8 Sekunden dauert, läuft die Methode in einen 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 weiteren 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, {
// Build bei dynamischen JSX-Verstößen fehlschlagen lassen
dynamicJsxCheckLogLevel: 'error',
// Warnung bei dynamischen String-Verstößen ausgeben
dynamicStringCheckLogLevel: 'warn',
});Hinweise
withGTConfigintegriert die GT-Übersetzungsfunktionalität in Ihre Next.js‑App und muss in der Konfigurationsdatei im Projektstamm verwendet werden.- Parameter wie
apiKeyundprojectIdkönnen direkt in der Konfiguration oder als Umgebungsvariablen festgelegt werden. - Erweiterte Parameter wie
renderSettingsund_batchIntervalermöglichen eine feingranulare Steuerung des Übersetzungsverhaltens und der Performance.
Nächste Schritte
- Fügen Sie Übersetzungen in Ihren CD‑Prozess ein.
Wie ist diese Anleitung?