Dictionary Translations

getTranslations

API-Referenz für die serverseitige Übersetzungsfunktion getTranslations

Überblick

getTranslations wird verwendet, um Zeichenkettenübersetzungen aus dem Übersetzungs-Wörterbuch für serverseitige Komponenten abzurufen.

const d = await getTranslations(); // Übersetzungsfunktion abrufen
d('greeting.hello'); // id übergeben, um eine Übersetzung zu erhalten

getTranslations unterstützt:

  • Übersetzung von Strings und JSX-Inhalten.
    • Variableneinbindung und bedingte Logik innerhalb von Übersetzungen.
    • Optionales id-Präfixing.

Für clientseitige Übersetzungen siehe useTranslations.

getTranslations und useTranslations verwenden ein Wörterbuch, um sämtlichen Übersetzungsinhalt zu speichern. Dies 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

Props

Prop

Type

Beschreibung

PropBeschreibung
idEin optionales Präfix, das allen Übersetzungsschlüsseln vorangestellt wird. Nützlich beim Arbeiten mit verschachtelten Wörterbuchwerten.

Rückgabewert

Ein Promise einer Übersetzungsfunktion d, die für eine angegebene id die übersetzte Version des entsprechenden Entry zurückgibt.

Promise<(id: string, options?: DictionaryTranslationOptions) => React.ReactNode>
NameTypeDescription
idstringDie id des zu übersetzenden Entry
options?DictionaryTranslationOptionsÜbersetzungsoptions zur Anpassung des Verhaltens von d.

Beispiele

Grundlegende Wörterbuchnutzung

Jeder Entry in deinem Wörterbuch wird übersetzt.

dictionary.jsx
const dictionary = {
  greeting: <>Hallo, Alice!</>, 
};
export default dictionary;

Wenn wir serverseitig auf diese Einträge zugreifen wollen, rufen wir getTranslations auf. Das liefert eine Funktion, die den Schlüssel einer Übersetzung aus dem Wörterbuch entgegennimmt.

TranslateGreeting.jsx
import { getTranslations } from 'gt-next/server';

export default async function TranslateGreeting() {
  
  const d = await getTranslations(); 

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

Verwendung von Variablen

Um Werte zu übergeben, müssen Sie (1) eine Kennung vergeben und (2) diese Kennung beim Aufruf der Funktion d referenzieren.

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

dictionary.jsx
const dictionary = {
  greeting: „Hallo, {userName}!“, 
};
export default dictionary;
TranslateGreeting.jsx
import { getTranslations } from 'gt-next/server';

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

  return (
    <p>
      {greetingAlice}
    </p>
  );
}

Verwendung von Präfixen

Wir können Präfixe verwenden, um nur einen Teil des Wörterbuchs abzurufen.

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

Da wir den Prop value 'prefix1.prefix2' zur Methode getTranslations hinzugefügt haben, sind alle Schlüssel mit prefix1.prefix2 vorangestellt:

UserDetails.jsx
import { getTranslations } from 'gt-next/server';

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

Hinweise

  • Die Funktion getTranslations ermöglicht den serverseitigen Zugriff auf Wörterbuchübersetzungen.

Nächste Schritte

Wie ist dieser Leitfaden?

getTranslations