0Pricing
React Academy · Lektion

react-i18next einrichten

Installieren und konfigurieren Sie i18next mit Spracherkennung und der Aufteilung in Namespaces.

react-i18next einrichten ist eine kostenlose React Academy-Lektion auf CoddyKit. Dies ist Lektion 1 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 installieren und konfigurieren Sie react-i18next mit Spracherkennung und der Aufteilung in Namespaces, um einer React-App Unterstützung für mehrere Sprachen hinzuzufügen.

Abhängigkeiten installieren

Installieren Sie i18next und react-i18next. Fügen Sie optional i18next-browser-languagedetector zur automatischen Erkennung der Sprache und i18next-http-backend zum Laden von Übersetzungen über HTTP hinzu.
npm install i18next react-i18next
npm install i18next-browser-languagedetector i18next-http-backend

i18n.js erstellen

Erstellen Sie eine Datei `i18n.js`, die i18next initialisiert. Rufen Sie `i18n.use(...)` auf, um Plugins hinzuzufügen, und `.init({...})` mit Ihrer Konfiguration.
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import LanguageDetector from 'i18next-browser-languagedetector';

i18n
  .use(LanguageDetector)
  .use(initReactI18next)
  .init({
    fallbackLng: 'en',
    resources: { en: { translation: {} }, tr: { translation: {} } },
    interpolation: { escapeValue: false },
  });

export default i18n;

i18n in main.jsx importieren

Importieren Sie die i18n-Initialisierungsdatei, BEVOR Sie die App rendern. Dadurch ist i18n bereit, bevor eine Komponente useTranslation aufruft.
import './i18n'; // must be before App
import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';
import App from './App';

createRoot(document.getElementById('root')).render(
  <StrictMode><App /></StrictMode>
);

Namespaces

Namespaces teilen Übersetzungen in logische Gruppen auf (z. B. 'common', 'auth', 'dashboard'). Jeder Namespace ist eine separate JSON-Datei, die bei Bedarf geladen wird, um die Größe des initialen Bundles zu reduzieren.
resources: {
  en: {
    common: { save: 'Save', cancel: 'Cancel' },
    auth: { login: 'Log in', logout: 'Log out' },
  }
}

Spracherkennung

Das LanguageDetector-Plugin liest die bevorzugte Sprache des Benutzers aus dem Browser (navigator.language), aus localStorage oder aus dem URL-Query-String. Beim ersten Laden legt es automatisch die aktive Sprache fest.

Übersetzungen aus dem Public-Ordner laden

Speichern Sie Übersetzungen als JSON-Dateien unter `public/locales/{lang}/{ns}.json`. Konfigurieren Sie das Backend-Plugin so, dass es sie zur Laufzeit lädt. Dadurch erfordert das Hinzufügen einer neuen Sprache keine Codeänderung.
import Backend from 'i18next-http-backend';

i18n.use(Backend).init({
  backend: {
    loadPath: '/locales/{{lng}}/{{ns}}.json',
  },
});

I18nextProvider (optional)

Der I18nextProvider umschließt Ihre App, um die i18n-Instanz über den Context bereitzustellen. Mit react-i18next v11+ und dem initReactI18next-Plugin ist dies optional – der Hook liest die globale i18n-Instanz direkt aus.

Initialisierung in Komponenten überprüfen

i18next lädt Übersetzungen asynchron. Verwenden Sie die `ready`-Eigenschaft von `useTranslation` oder prüfen Sie `i18n.isInitialized`, bevor Sie Text rendern, damit keine Übersetzungsschlüssel angezeigt werden.
const { t, ready } = useTranslation();
if (!ready) return null;

DevTools und Umgang mit fehlenden Schlüsseln

Setzen Sie `saveMissing: true` in der Entwicklung, damit fehlende Übersetzungsschlüssel in der Konsole protokolliert werden. So finden Sie nicht übersetzte Zeichenfolgen schnell.
i18n.init({ saveMissing: true,
  missingKeyHandler: (lng, ns, key) => console.warn('Missing:', key) });

Kurzer Test

Warum müssen Sie die i18n-Initialisierungsdatei importieren, bevor Sie Ihre React-App rendern?

Zusammenfassung

Installieren Sie i18next und react-i18next, erstellen Sie i18n.js mit Plugins und der Init-Konfiguration, importieren Sie die Datei vor dem Rendern und organisieren Sie Übersetzungen in Namespaces. Verwenden Sie http-backend, um Übersetzungsdateien zur Laufzeit zu laden.

Als Nächstes

Nächste Lektion: **Verwendung des useTranslation-Hooks** — Sie ersetzen fest codierte Zeichenfolgen durch t()-Aufrufe und organisieren JSON-Übersetzungsdateien.

Häufig gestellte Fragen

Ist die Lektion „react-i18next einrichten“ kostenlos?

Ja — der vollständige Text von „react-i18next einrichten“ 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 „react-i18next einrichten“?

Installieren und konfigurieren Sie i18next mit Spracherkennung und der Aufteilung in Namespaces. 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 1 von 4.

Wie lange dauert die Lektion „react-i18next einrichten“?

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