useTranslations
API‑Referenz für den Hook useTranslations
Übersicht
useTranslations wird verwendet, um Zeichenketten aus dem translation dictionary abzurufen.
Es muss innerhalb einer Komponente verwendet werden, die von einem <GTProvider> umschlossen ist.
const d = useTranslations(); // Übersetzungsfunktion abrufen
d('greeting.hello'); // id übergeben, um die Übersetzung zu erhaltenFür asynchrone Komponenten siehe getTranslations.
getTranslations und useTranslations verwenden ein Wörterbuch, um sämtliche Inhalte für die Übersetzung zu speichern.
Das unterscheidet sich von der Verwendung der <T>-Komponente für Übersetzungen.
Wenn Sie ausschließlich <T>-Komponenten für Übersetzungen verwenden möchten, ist dieses Dokument nicht relevant.
Referenz
Parameter
Prop
Type
Beschreibung
| Prop | Beschreibung | 
|---|---|
| id | Ein optionales Präfix, das allen Übersetzungsschlüsseln vorangestellt wird. Das ist hilfreich beim Arbeiten mit verschachtelten Wörterbuchwerten. | 
Rückgabewert
Eine Übersetzungsfunktion d, die für eine angegebene id die übersetzte Version des entsprechenden Entry zurückgibt
(id: string, options?: DictionaryTranslationOptions) => React.ReactNode| Name | Type | Description | 
|---|---|---|
| id | string | Die id des zu übersetzenden Entry | 
| options? | DictionaryTranslationOptions | Übersetzungsoptions zur Anpassung des Verhaltens von d. | 
Beispiele
Grundlegende Verwendung des Wörterbuchs
Jeder Entry in deinem Wörterbuch wird übersetzt.
const dictionary = {
  greeting: "Hallo, Bob", 
};
export default dictionary;Wenn wir clientseitig auf diese Einträge zugreifen möchten, rufen wir useTranslations auf.
Das liefert eine Funktion, die den Schlüssel einer Übersetzung aus dem Wörterbuch entgegennimmt.
import { useTranslations } from 'gt-next';
export default async function TranslateGreeting() {
  const d = useTranslations(); 
  return (
    <p>
      {d('greeting')} // Hallo, Alice // [!code highlight]
    </p>
  );
}Verwendung von Variablen
Um Werte zu übergeben, müssen Sie (1) einen Bezeichner vergeben und (2) diesen Bezeichner beim Aufruf der Funktion d referenzieren.
In diesem Beispiel verwenden wir {}, um Variablen an die Übersetzungen zu übergeben.
Im Wörterbuch vergeben wir den Bezeichner {userName}.
const dictionary = {
  greeting: "Hallo, {userName}!", 
};
export default dictionary;import { useTranslations } from 'gt-next';
export default async function TranslateGreeting() {
  const d = useTranslations();
  
  // Hallo, Alice!
  const greetingAlice = d('greeting', { userName: "Alice" }); 
  return (
    <p>
      {greetingAlice}
    </p>
  );
}Präfixe verwenden
Wir können Präfixe nutzen, um nur eine Teilmenge des Wörterbuchs zu übersetzen.
const dictionary = {
  prefix1: { 
    prefix2: { 
      greeting: "Hallo, Bob",
    }
  }
};
export default dictionary;Da wir den Wert 'prefix1.prefix2' dem Hook useTranslations hinzugefügt haben, sind alle Schlüssel mit prefix1.prefix2 vorangestellt:
import { useTranslations } from 'gt-next';
export default function UserDetails() {
  const d = useTranslations('prefix1.prefix2'); 
  return (
    <div>
      <p>{d('greeting')}</p> // greeting => prefix1.prefix2.greeting // [!code highlight]
    </div>
  );
}Hinweise
- Die Funktion useTranslationsermöglicht den Zugriff auf Wörterbuchübersetzungen auf der Clientseite.
- Der Hook useTranslationskann nur innerhalb einer Komponente verwendet werden, die von einer<GTProvider>-Komponente umschlossen ist.
Nächste Schritte
- Für serverseitige Übersetzungen siehe getTranslations.
- Weitere Informationen zur Verwendung von dictionaries finden Sie in der dictionaries reference.
Wie ist dieser Leitfaden?

