React- oder Next.js-Website internationalisieren

Leitfaden für i18n in React und Next.js

React- oder Next.js-Website internationalisieren (next-intl) | We.Inc

Übersetze eine React- oder Next.js-Website richtig: Message-Dateien, Locale-Routing mit next-intl, Intl-Formatierung für Datumsangaben, Geldbeträge und Pluralformen, Rechts-nach-links-Layouts und hreflang-Tags.

Halte jeden Text in einer JSON-Message-Datei pro Sprache, gib jeder Sprache eine eigene URL wie /de/about und formatiere Datumsangaben, Preise und Pluralformen mit den eingebauten Intl-APIs des Browsers. Im Next.js App Router verbindet next-intl diese Teile: ein [locale]-Routensegment, ein Proxy, der die Sprache auswählt, und useTranslations in Komponenten.

Die Bestandteile einer übersetzten Website

Übersetzen ist mehr als Wörter austauschen. Die Wortstellung ändert sich, Pluralregeln unterscheiden sich, Arabisch liest sich von rechts nach links, und jedes Land schreibt Datumsangaben auf seine Weise. Probier unten den Umschalter aus, um eine kleine Produktkarte die Sprache wechseln zu sehen, und bau dann dasselbe in deiner App mit den Setup-Dateien und dem hreflang-Generator.

Häufige Fragen

Welche i18n-Bibliothek sollte ich mit React verwenden?

Für den Next.js App Router ist next-intl genau dafür gebaut und unterstützt Server Components. Für eine reine React-App ohne Next.js wählst du eine Bibliothek, die Texte als JSON speichert, damit ein späterer Wechsel zu einer anderen überschaubar bleibt.

Sollten Sprachen in Unterordnern, Subdomains oder eigenen Domains liegen?

Unterordner wie example.com/de/ sind am einfachsten zu betreiben, weil eine Website und eine Domain alles tragen. next-intl unterstützt auch domainbasiertes Routing, falls du de.example.com oder eine Länderdomain brauchst.

Wie füge ich hreflang in Next.js hinzu?

Gib alternates.languages aus metadata oder generateMetadata zurück, mit einem Eintrag pro Sprach-URL. Next.js gibt für jeden einen link rel="alternate" hreflang-Tag aus. Jede Sprachversion muss alle anderen und sich selbst auflisten, sonst ignorieren Suchmaschinen die Gruppe womöglich.

Kann ich meine Website maschinell übersetzen?

Du kannst maschinelle Übersetzung als ersten Entwurf nutzen, solltest sie aber von einer Person prüfen lassen, die die Sprache fließend spricht, besonders Überschriften, Preise und Rechtstexte. Dünne oder ungeprüfte Übersetzungen können Leser verwirren und Vertrauen schwächen.

Messages statt Texte in Komponenten

Überlass Intl die Formatierung

Sprachen von rechts nach links

next-intl-Setup für den App Router

Installiere mit npm install next-intl. Diese Dateien folgen der Struktur aus der offiziellen Einstiegsanleitung von next-intl für Locale-basiertes Routing.

Eine Datei pro Sprache, mit denselben Schlüsseln in jeder. Die ICU-Syntax regelt Pluralformen innerhalb der Message.

src/i18n/routing.ts und src/proxy.ts

Im Routing listest du deine Locales einmal auf. Der Proxy (vor Next.js 16 middleware.ts genannt) leitet Besucher auf ein Sprachpräfix um.

src/i18n/request.ts

Liest das Locale aus dem [locale]-Segment, weist unbekannte ab und lädt die Texte dieser Sprache.

next.config.ts, Layout und eine Seite

Das Plugin bindet request.ts ein. Verschiebe deine Seiten unter app/[locale]/ und lies Texte mit useTranslations. next/root-params ist ab Next.js 16.3 standardmäßig aktiv, frühere Versionen brauchen experimental.rootParams.

Formatieren ohne Bibliothek

Intl in reinem JavaScript

Funktioniert in jeder React-App, ob übersetzt oder nicht.

hreflang-Regeln, die Suchmaschinen prüfen

Sprachauszeichnungen richtig setzen

Probier es aus: eine Karte in fünf Sprachen

Wechsle die Sprache und ändere die Artikelanzahl. Die Texte stammen aus einem Message-Objekt, Preis, Datum und Pluralform aus den Intl-APIs des Browsers.

Sprache

Artikel im Warenkorb: {n}

Gewählte Pluralkategorie:

Richtung:

Die Demo rechnet keine Währung um, sie formatiert nur dieselbe Zahl.

hreflang-Generator

Gib deine Domain, einen Seitenpfad und deine Sprachcodes ein, um die Link-Tags für den head oder das alternates-Objekt für Next.js zu erhalten.

Domain

Seitenpfad

Sprachcodes (durch Komma getrennt)

x-default-Sprache

Ungültige Codes übersprungen: {codes}. Nutze eine Form wie de oder en-GB.

Ausgabeformat

HTML-Link-Tags

Next.js-Metadata

Kopieren

Kostenlos starten · Keine Kreditkarte nötig

Verwandt: Ratgeber

Produkt

Für wen

Funktionen

Ressourcen

Unternehmen

Sitemap