Dictionary Translations

useTranslations

API Reference für den useTranslations-Hook

Überblick

useTranslations dient dazu, Zeichenkettenübersetzungen aus dem Übersetzungs-Wörterbuch abzurufen.

Es muss innerhalb einer Komponente verwendet werden, die von einem <GTProvider> umschlossen ist.

const d = useTranslations(); // Holt die Übersetzungsfunktion
d('greeting.hello'); // übergibt die id, um eine Übersetzung zu erhalten

useTranslations verwendet ein Wörterbuch, um alle 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

PropBeschreibung
idEin optionales Präfix, das allen Übersetzungsschlüsseln vorangestellt wird. Das ist hilfreich beim Arbeiten mit verschachtelten dictionary-Werten.

Rückgabe

Eine Übersetzungsfunktion d, die für eine angegebene id die übersetzte Version des entsprechenden Entry zurückgibt

(id: string, options?: DictionaryTranslationOptions) => React.ReactNode
NameTypeDescription
idstringDie 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.

dictionary.jsx
const dictionary = {
  greeting: "Hallo, Bob", 
};
export default dictionary;

Wenn wir 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.

Sie müssen das Wörterbuch an die Komponente GTProvider übergeben.

TranslateGreeting.jsx
import { useTranslations } from 'gt-react';
import dictionary from "./dictionary.json"

export default function TranslateGreeting() {
  const d = useTranslations(); 
  return (
    <GTProvider dictionary={dictionary}>
      <p>
        {d('greeting')} // [!code highlight]
      </p>
    </GTProvider>
  );
}

Verwendung von Variablen

Um Werte zu übergeben, müssen Sie (1) einen Bezeichner festlegen und (2) diesen Bezeichner referenzieren, wenn Sie die Funktion d aufrufen.

In diesem Beispiel verwenden wir {}, um Variablen an die Übersetzungen zu übergeben. Im Wörterbuch vergeben wir den Bezeichner {userName}.

dictionary.jsx
const dictionary = {
  greeting: „Hallo, {userName}!", // [!code highlight]
};
export default dictionary;
TranslateGreeting.jsx
import { useTranslations } from 'gt-react';

export default function TranslateGreeting() {
  const d = useTranslations();
  
  // Hallo Alice!
  const greetingAlice = d('greeting', { userName: "Alice" }); 

  return (
    <p>
      {greetingAlice} // Hallo, Alice // [!code highlight]
    </p>
  );
}

Verwendung von Präfixen

Wir können Präfixe nutzen, um nur einen Teil des Wörterbuchs zu übersetzen.

dictionary.jsx
const dictionary = {
  prefix1: { 
    prefix2: { 
      greeting: „Hallo, Bob",
    }
  }
};
export default dictionary;

Da wir den Wert 'prefix1.prefix2' an den Hook useTranslations übergeben haben, sind alle Schlüssel mit prefix1.prefix2 versehen:

UserDetails.jsx
import { useTranslations } from 'gt-react';

export default function UserDetails() {
  const d = useTranslations('prefix1.prefix2'); 
  return (
    <div>
      <p>{d('greeting')}</p> // greeting => prefix1.prefix2.greeting // [!code highlight]
    </div>
  );
}

Hinweise

  • Die useTranslations-Funktion ermöglicht den Zugriff auf Übersetzungen aus dem Wörterbuch.
  • Der useTranslations-Hook kann nur innerhalb einer Komponente verwendet werden, die von einer <GTProvider>-Komponente umschlossen ist.

Nächste Schritte

Wie ist dieser Leitfaden?

useTranslations