<GTProvider>
API-Referenz für die <GTProvider>-Komponente
Übersicht
Die <GTProvider>
-Komponente stellt den General Translation (GT) Kontext für ihre Kindkomponenten bereit, sodass diese auf übersetzte Inhalte zugreifen können.
Sie ist erforderlich für alle clientseitigen Übersetzungen in Ihrer Anwendung.
Wann verwenden
- Um Übersetzungen auf dem Client zu ermöglichen, umschließen Sie Ihre gesamte Anwendung mit
<GTProvider>
. - Wenn Sie mit Wörterbüchern arbeiten, können Sie optional eine
id
angeben, um die an den Client gesendeten Wörterbuchdaten zu begrenzen und so die Leistung bei großen Wörterbüchern zu optimieren. - Die
<GTProvider>
-Komponente wird sowohl für Inline-<T>
als auch für Wörterbücher verwendet.
Referenz
Props
Prop | Type | Default |
---|---|---|
metadata?? | object | - |
devApiKey?? | string | - |
_versionId?? | string | - |
renderSettings?? | RenderSettings | defaultRenderSettings |
runtimeUrl?? | string | 'https://runtime.gtx.dev' |
cacheUrl?? | string | 'https://cdn.gtx.dev' |
locale?? | string | - |
defaultLocale?? | string | libraryDefaultLocale |
locales?? | string[] | - |
dictionary?? | Dictionary | defaultDictionary |
id?? | string | undefined |
projectId? | string | - |
children? | ReactNode | - |
Beschreibung
Prop | Beschreibung |
---|---|
children | Jede Komponente oder die übergeordneten Elemente jeder Komponente, die auf der Clientseite übersetzen oder auf Übersetzungsinformationen zugreifen muss. Diese sollten alle Komponenten umfassen, die <T> , useGT oder andere Übersetzungshilfsmittel verwenden. |
projectId? | Die Projekt-ID, die für General Translation Cloud-Dienste erforderlich ist. |
id? | Die ID eines verschachtelten Wörterbuchs, um die an den Client gesendeten Daten zu begrenzen. Dies ist nützlich für große Projekte mit umfangreichen Wörterbüchern. |
dictionary? | Das Übersetzungswörterbuch für das Projekt. |
locales? | Die Liste der genehmigten Sprachen für das Projekt. |
defaultLocale? | Die Standardsprache, die verwendet wird, wenn keine andere Sprache gefunden wird. |
locale? | Die aktuelle Sprache, falls bereits festgelegt. |
cacheUrl? | Die URL des Cache-Dienstes zum Abrufen von Übersetzungen. |
runtimeUrl? | Die URL des Laufzeitdienstes zum Abrufen von Übersetzungen. |
renderSettings? | Die Einstellungen für das Rendern von Übersetzungen. |
_versionId? | Die Versions-ID zum Abrufen von Übersetzungen. |
devApiKey? | Der API-Schlüssel für Entwicklungsumgebungen. |
metadata? | Zusätzliche Metadaten, die an den Kontext übergeben werden sollen. |
Rückgabewert
React.JSX.Element|undefined
, das die Kinder enthält, die an diese Komponente übergeben wurden.
Beispiele
Grundlegende Verwendung
Umhüllen Sie Ihre Anwendung mit <GTProvider>
, um Übersetzungen zu Ihrer App hinzuzufügen.
Vergessen Sie nicht, eine Liste der unterstützten Locales hinzuzufügen, um Übersetzungen zu aktivieren.
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']}> // Enable Spanish and French // [!code highlight]
<App />
</GTProvider> // [!code highlight]
</StrictMode>
);
Wörterbücher
Sie können auch ein Wörterbuch an die <GTProvider>
-Komponente übergeben und dann mit dem useTranslations()
Hook darauf zugreifen.
import dictionary from "./dictionary.js";
createRoot(document.getElementById("root")!).render(
<StrictMode>
<GTProvider locales={['es', 'fr']} dictionary={dictionary}> // [!code highlight]
<App />
</GTProvider>
</StrictMode>
);
Für weitere Informationen zur Verwendung von Wörterbüchern schauen Sie sich diesen Leitfaden an.
Konfiguration hinzufügen
Wenn Sie kein Fan davon sind, Props direkt an die <GTProvider>
-Komponente zu übergeben, können Sie eine Konfigurationsdatei erstellen und diese an die Komponente übergeben.
Sie integriert sich auch direkt mit dem gtx-cli translate
Befehl, sodass Sie Dinge wie Locales nicht manuell als Parameter angeben müssen.
{
"projectId": "your-project-id",
"locales": ["es", "fr"],
"defaultLocale": "en-US",
"_versionId": "translation-version-id" // allows for rolling back to previous translations (autogenerated by the CLI)
}
Alles was Sie tun müssen, ist dies an die <GTProvider>
-Komponente zu ü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 loadTranslations
Prop verwenden, um Übersetzungen aus einer benutzerdefinierten Quelle zu laden.
Dies ist nützlich, wenn Sie Übersetzungen aus einer anderen Quelle laden müssen, wie z.B. einer benutzerdefinierten API.
import loadTranslations from "./loadTranslations";
createRoot(document.getElementById("root")!).render(
<StrictMode>
<GTProvider locales={['es', 'fr']} loadTranslations={loadTranslations}> // [!code highlight]
<App />
</GTProvider>
</StrictMode>
);
Render-Einstellungen
Render-Einstellungen steuern das Ladeverhalten für Übersetzungen.
Es gibt zwei Felder: timeout
und method
.
timeout
ist die Anzahl der Millisekunden, die auf das Laden einer Übersetzung gewartet wird, bevor ein Fallback angezeigt wird (Standard:8000ms
).method
ist die Methode zum Laden von Übersetzungen ("skeleton"
,"replace"
oder"default"
).
<GTProvider renderSettings={{ method: "skeleton", timeout: 1000 }}>
<App />
</GTProvider>
Jede Render-Einstellung bestimmt unterschiedliches Ladeverhalten:
"skeleton"
gibt null
zurück, bis die Übersetzungen geladen sind.
"replace"
gibt den Fallback-Inhalt zurück, bis die Übersetzungen geladen sind.
"default"
gibt null
zurück, bis die Übersetzungen geladen sind, es sei denn, das Fallback-Locale hat dieselbe Sprache wie das aktuelle Locale (z.B. en-US
und en-GB
).
In diesem Fall wird der Fallback-Inhalt sofort zurückgegeben, bis die Übersetzungen geladen sind.
Hinweise
- Der
<GTProvider>
muss alle<T>
-Komponenten und andere übersetzungsbezogene Funktionen umschließen. Erfahre mehr hier.
Nächste Schritte
- Erfahren Sie mehr über die
<T>
Komponente zum Übersetzen von Text und Komponenten. - Schauen Sie sich Übersetzungskomponenten und -funktionen an:
<T>
,useGT()
, oderuseTranslations()
.
Wie ist dieser Leitfaden?