0Pricing
React Academy · Lektion

Den useTranslation-Hook verwenden

Ersetzen Sie fest codierte Zeichenfolgen durch t()-Aufrufe und organisieren Sie JSON-Dateien für Übersetzungen.

Den useTranslation-Hook verwenden ist eine kostenlose React Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des React Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.

Willkommen

In dieser Lektion verwenden Sie den useTranslation-Hook, um auf die Funktion t() zuzugreifen, Zeichenfolgen in Komponenten zu übersetzen und JSON-Übersetzungsdateien nach Namensraum zu organisieren.

Der useTranslation-Hook

Rufen Sie useTranslation() innerhalb einer Komponente auf, um die Übersetzungsfunktion `t` und die `i18n`-Instanz zu erhalten. Übergeben Sie den Namen des Namensraums, wenn Sie Übersetzungen mit Namensräumen verwenden.
import { useTranslation } from 'react-i18next';

function Header() {
  const { t } = useTranslation('common');
  return <h1>{t('app_title')}</h1>;
}

Grundlegende Übersetzungsschlüssel

Erstellen Sie für jede Sprache und jeden Namensraum eine JSON-Datei. Schlüssel sind Zeichenfolgen, auf die per Punktnotation zugegriffen werden kann. Flache Schlüssel sind einfach; verschachtelte Schlüssel verwenden die Punktnotation.
// public/locales/en/common.json
{
  "app_title": "My App",
  "nav": {
    "home": "Home",
    "about": "About"
  }
}

Schlüssel mit Punktnotation

Greifen Sie in der Funktion t() mit der Punktnotation auf verschachtelte Schlüssel zu: `t('nav.home')` liest `nav -> home` aus der JSON-Datei.
const { t } = useTranslation('common');
return <a href="/">{t('nav.home')}</a>;

Standardnamensraum

Konfigurieren Sie bei der i18n-Initialisierung einen `defaultNS`, damit Sie useTranslation() ohne Argumente aufrufen können und Schlüssel automatisch im Standardnamensraum aufgelöst werden.
i18n.init({ defaultNS: 'common', ... });

// No namespace argument needed
const { t } = useTranslation();
t('app_title'); // resolves in 'common'

Auf mehrere Namensräume zugreifen

Übergeben Sie useTranslation ein Array, um auf mehrere Namensräume zuzugreifen. Stellen Sie den Schlüsseln den Namensraum gefolgt von einem Doppelpunkt voran.
const { t } = useTranslation(['common', 'auth']);

t('common:app_title');
t('auth:login');

Trans-Komponente für JSX-Inhalte

Wenn eine übersetzte Zeichenfolge HTML oder React-Komponenten enthält, verwenden Sie die Trans-Komponente. Sie unterstützt Platzhalter, die React-Komponenten zugeordnet werden.
import { Trans } from 'react-i18next';

// JSON: "tos": "Read our <1>Terms</1>"
<Trans i18nKey="tos">
  Read our <a href="/terms">Terms</a>
</Trans>

Struktur der Übersetzungsdateien

Organisieren Sie JSON-Dateien nach dem Muster `public/locales/{lang}/{ns}.json`. Verwenden Sie aussagekräftige Schlüssel und gruppieren Sie sie nach Funktion. Vermeiden Sie stark verschachtelte Schlüssel — 2 Ebenen sind normalerweise ausreichend.
public/
  locales/
    en/
      common.json
      auth.json
      dashboard.json
    tr/
      common.json
      auth.json

Sprache zur Laufzeit ändern

Verwenden Sie `i18n.changeLanguage(lng)`, um die aktive Sprache programmgesteuert zu wechseln. React-Komponenten, die useTranslation verwenden, werden automatisch erneut gerendert.
const { i18n } = useTranslation();

<button onClick={() => i18n.changeLanguage('tr')}>Turkish</button>

Aktive Sprache erkennen

Lesen Sie `i18n.language`, um die aktuell aktive Locale abzurufen. Verwenden Sie sie, um eine Flagge anzuzeigen oder die Schaltfläche der aktiven Sprache hervorzuheben.
const { i18n } = useTranslation();
return <p>Current lang: {i18n.language}</p>;

Kurztest

Wie greifen Sie auf den verschachtelten Übersetzungsschlüssel 'nav.home' aus dem Namensraum 'common' zu?

Zusammenfassung

useTranslation stellt Ihnen die Funktion t() bereit. Organisieren Sie Schlüssel in JSON-Dateien nach Namensraum. Verwenden Sie die Punktnotation für verschachtelte Schlüssel. Wechseln Sie die Sprache mit i18n.changeLanguage. Verwenden Sie die Trans-Komponente für Zeichenfolgen mit JSX-Inhalten.

Als Nächstes

Nächste Lektion: **Pluralbildung und Interpolation** — Sie behandeln pluralische Formen abhängig von einer Anzahl und fügen dynamische Werte in übersetzte Zeichenfolgen ein.

Häufig gestellte Fragen

Ist die Lektion „Den useTranslation-Hook verwenden“ kostenlos?

Ja — der vollständige Text von „Den useTranslation-Hook verwenden“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des React Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Den useTranslation-Hook verwenden“?

Ersetzen Sie fest codierte Zeichenfolgen durch t()-Aufrufe und organisieren Sie JSON-Dateien für Übersetzungen. Du übst React Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um React Academy zu starten?

Keine Vorkenntnisse erforderlich. React Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Den useTranslation-Hook verwenden“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser React Academy-Lektion Code schreiben und ausführen?

Ja. Jede React Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. react-i18next einrichten
  2. Den useTranslation-Hook verwenden
  3. Pluralisierung und Interpolation
  4. Sprachauswahl und Lazy Loading von Übersetzungen
← Zurück zu React Academy