GTProvider
API-Referenz für die Komponente <GTProvider>
Übersicht
Die Komponente <GTProvider> stellt den General Translation (GT)-Kontext für ihre children bereit und ermöglicht so den Zugriff auf übersetzte Inhalte.
Sie ist für alle clientseitigen Übersetzungen in Ihrer Anwendung erforderlich.
Wann verwenden
- Umschließen Sie Ihre gesamte Anwendung mit <GTProvider>, um Übersetzungen auf dem Client zu aktivieren.
- Beim Arbeiten mit dictionaries können Sie optional eine idangeben, um die an den Client gesendeten Wörterbuchdaten zu begrenzen und so die Performance bei großen dictionaries zu optimieren.
- Die <GTProvider>-Komponente wird sowohl für Inline-<T>als auch für dictionaries verwendet.
Referenzen
Props
Prop
Type
Beschreibung
| Prop | Beschreibung | 
|---|---|
| children | Beliebige Komponente oder übergeordnete Elemente von Komponenten, die clientseitig übersetzen oder auf Übersetzungsinformationen zugreifen müssen. Dazu gehören alle Komponenten, die <T>,useGToder andere Übersetzungs-Utilities verwenden. | 
| projectId? | Die Projekt-ID, die für General Translation Cloud-Services erforderlich ist. | 
| id? | Die id eines verschachtelten Wörterbuchs, um die an den Client gesendeten Daten zu begrenzen. Nützlich für große Projekte mit umfangreichen dictionaries. | 
| dictionary? | Das Wörterbuch mit den Übersetzungen für das Projekt. | 
| locales? | Die Liste der freigegebenen locales für das Projekt. | 
| defaultLocale? | Die Standard-locale, die verwendet wird, wenn keine andere locale gefunden wird. | 
| locale? | Die aktuelle locale, falls bereits gesetzt. | 
| cacheUrl? | Die URL des Cache-Services zum Abrufen von Übersetzungen. | 
| runtimeUrl? | Die URL des Runtime-Services zum Abrufen von Übersetzungen. | 
| renderSettings? | Die Einstellungen zum Rendern von Übersetzungen. | 
| _versionId? | Die versionId zum Abrufen von Übersetzungen. | 
| devApiKey? | Der API-Schlüssel für Entwicklungsumgebungen. | 
| metadata? | Zusätzliche Metadaten, die an den Kontext übergeben werden. | 
Rückgabewert
React.JSX.Element|undefined, das die an diese Komponente übergebenen children enthält.
Beispiele
Grundlegende Verwendung
Umhüllen Sie Ihre Anwendung mit <GTProvider>, um Übersetzungen in Ihrer App zu aktivieren.
Vergessen Sie nicht, eine Liste der unterstützten locales hinzuzufügen, um die Übersetzung zu ermöglichen.
import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import "./index.css";
import App from "./App.tsx";
import { GTProvider } from "gt-react";
createRoot(document.getElementById("root")!).render(
  <StrictMode>
    <GTProvider locales={['es', 'fr']}> // Spanisch und Französisch aktivieren // [!code highlight]
      <App />
    </GTProvider> // [!code highlight]
  </StrictMode>
);Dictionaries
Sie können auch ein Wörterbuch an die Komponente <GTProvider> übergeben und anschließend mit dem Hook useTranslations darauf zugreifen.
import dictionary from "./dictionary.js";
createRoot(document.getElementById("root")!).render(
  <StrictMode>
    <GTProvider locales={['es', 'fr']} dictionary={dictionary}> // [!code highlight]
      <App />
    </GTProvider>
  </StrictMode>
);Weitere Informationen zur Verwendung von dictionaries finden Sie in diesem Guide.
Konfiguration hinzufügen
Wenn du keine Props direkt an die <GTProvider>-Komponente übergeben möchtest, kannst du eine Konfigurationsdatei erstellen und diese der Komponente übergeben.
Sie integriert sich außerdem direkt mit dem gtx-cli translate-Befehl, sodass du Dinge wie locales nicht manuell als Parameter angeben musst.
{
  "projectId": "your-project-id",
  "locales": ["es", "fr"],
  "defaultLocale": "en-US",
  "_versionId": "translation-version-id" // ermöglicht das Zurücksetzen auf frühere Übersetzungen (automatisch von der CLI generiert)
}Sie müssen es nur an die Komponente <GTProvider> übergeben.
import config from "../gt.config.json";
createRoot(document.getElementById("root")!).render(
  <StrictMode>
    <GTProvider {...config}> // [!code highlight]
      <App />
    </GTProvider>
  </StrictMode>
);Benutzerdefinierter Übersetzungslader
Sie können die Eigenschaft loadTranslations verwenden, um Übersetzungen aus einer benutzerdefinierten Quelle zu laden.
Das ist hilfreich, wenn Sie Übersetzungen aus einer anderen Quelle laden müssen, zum Beispiel aus einer eigenen API.
import loadTranslations from "./loadTranslations";
createRoot(document.getElementById("root")!).render(
  <StrictMode>
    <GTProvider locales={['es', 'fr']} loadTranslations={loadTranslations}> // [!code highlight]
      <App />
    </GTProvider>
  </StrictMode>
);Render-Einstellungen
Die Render-Einstellungen steuern das Ladeverhalten für Übersetzungen.
Es gibt zwei Felder: timeout und method.
- timeoutist die Zeit in Millisekunden, die gewartet wird, bevor ein Standardwert angezeigt wird, falls eine Übersetzung nicht rechtzeitig geladen wird (Standard:- 8000 ms).
- methodist die Methode, mit der Übersetzungen geladen werden (- "skeleton",- "replace"oder- "default").
<GTProvider renderSettings={{ method: "skeleton", timeout: 1000 }}>
  <App />
</GTProvider>Jede Render-Einstellung bewirkt ein anderes Ladeverhalten:
"skeleton" liefert null, bis die Übersetzungen geladen sind.
"replace" zeigt den Standardwert an, bis die Übersetzungen geladen sind.
"default" liefert null, bis die Übersetzungen geladen sind, es sei denn, die Fallback‑locale hat dieselbe Sprache wie die aktuelle locale (d. h. en-US und en-GB).
In diesem Fall wird der Standardwert sofort angezeigt, bis die Übersetzungen geladen sind.
Hinweise
- Der <GTProvider>muss alle<T>-Komponenten und andere übersetzungsbezogene Funktionen umschließen. Weitere Informationen finden Sie hier.
Nächste Schritte
- Erfahren Sie mehr über die <T>-Komponente zum Übersetzen von Text und Komponenten.
Wie ist dieser Leitfaden?

