useGT()
API-Referenz für die useGT() String-Übersetzungsfunktion
Überblick
Die useGT()
-Funktion ist ein Hook zum Übersetzen von Strings zur Build-Zeit.
const t = useGT();
<p>{ t('This text will be translated') }</p>;
Build-Zeit-Übersetzung:
useGT()
-Übersetzungen erfolgen zur Build-Zeit, bevor Ihre App bereitgestellt wird.
Obwohl Sie Variablen an den übersetzten String übergeben können, können Sie nur Inhalte übersetzen, die zur Build-Zeit bekannt sind.
Referenz
Parameter
Keine
Rückgabewerte
Eine Callback-Funktion, t()
, die den bereitgestellten Inhalt übersetzt.
(content: string, options?: InlineTranslationOptions) => string
Name | Typ | Beschreibung |
---|---|---|
content | string | Der String-Inhalt, der übersetzt werden soll. |
options? | InlineTranslationOptions | Übersetzungsoptionen zur Anpassung des Verhaltens von t() . |
Verhalten
Produktion
Während des CD-Prozesses wird jeder Inhalt innerhalb einer t()
-Funktion übersetzt, bevor Ihre Anwendung bereitgestellt wird.
Dies gewährleistet schnelle Ladezeiten für alle Sprachen, kann aber nur Inhalte übersetzen, die zur Build-Zeit bekannt sind.
Nach der Generierung werden Übersetzungen entweder (1) im CDN gespeichert oder (2) in der Build-Ausgabe Ihrer App gespeichert, je nach Ihrer Konfiguration. Von dort wird der übersetzte Inhalt an Ihre Benutzer ausgeliefert. Wenn eine Übersetzung nicht gefunden wird, wird auf den ursprünglichen Inhalt zurückgegriffen.
Stellen Sie sicher, dass Sie dem Bereitstellungsleitfaden hier folgen.
Entwicklung
Während der Entwicklung übersetzt die t()
-Funktion Inhalte auf Anfrage.
Dies ist nützlich für die Prototypenerstellung, um zu sehen, wie Ihre App in verschiedenen Sprachen aussehen wird.
Denken Sie daran, einen Dev API-Schlüssel zu Ihrer Umgebung hinzuzufügen, um dieses Verhalten zu aktivieren.
Sie werden eine Verzögerung während der On-Demand-Übersetzung in der Entwicklung bemerken.
Dies wird bei Produktions-Builds nicht auftreten, es sei denn, Inhalte werden explizit on-demand übersetzt,
d.h. mit tx()
oder <Tx>
.
Beispiel
Grundlegende Verwendung
Sie können useGT()
verwenden, um Strings zu übersetzen.
import { useGT } from 'gt-next';
export default function TranslateGreeting() {
const t = useGT();
return (
<p>
{t('Hello, Alice!')}
</p>
);
}
Hinweis: "Alice" wird in die bevorzugte Sprache des Benutzers übersetzt.
Verwendung von Variablen
Sie können Variablen an Wörterbuchübersetzungen übergeben.
import { useGT } from 'gt-next';
export default function TranslateGreeting() {
const t = useGT();
return (
<p>
{t('Hello, {name}!', { variables: { name: 'Alice' } })}
</p>
);
}
Hinweis: "Alice" wird nicht in die bevorzugte Sprache des Benutzers übersetzt, da es sich um eine Variable handelt.
Verwendung des ICU-Nachrichtenformats
gt-next
unterstützt das ICU-Nachrichtenformat, mit dem Sie auch Ihre Variablen formatieren können.
import { useGT } from 'gt-next';
export default function TranslateGreeting() {
const t = useGT();
return (
<p>
{t('There are {count, plural, =0 {no items} =1 {one item} other {{count} items}} in the cart', { count: 10 })}
</p>
);
}
Das ICU-Nachrichtenformat ist eine mächtige Möglichkeit, Ihre Variablen zu formatieren. Weitere Informationen finden Sie in der ICU-Nachrichtenformat-Dokumentation.
Notizen
- Die
useGT()
-Funktion ist ein Hook, der Strings übersetzt. - Übersetzungen von Strings mit
useGT()
erfolgen vor der Laufzeit, während des Build-Prozesses (außer in der Entwicklung).
Nächste Schritte
- Siehe
getGT()
für asynchrone String-Übersetzungen zur Buildzeit. - Für Laufzeit-Übersetzungen siehe
tx()
und<Tx>
. - Siehe
InlineTranslationOptions
für weitere Informationen zur Anpassung von Übersetzungen.
Wie ist dieser Leitfaden?