Stellen Sie Ihre Frage und erhalten Sie einen Resümee des Dokuments, indem Sie diese Seite und den AI-Anbieter Ihrer Wahl referenzieren
Versionshistorie
- "Standardwert für `onLocaleChange` auf `replace` gesetzt"v8.0.026.1.2026
- "Historie initialisiert"v5.5.1029.6.2025
Der Inhalt dieser Seite wurde mit einer KI übersetzt.
Den englischen Originaltext ansehenWenn Sie eine Idee haben, um diese Dokumentation zu verbessern, zögern Sie bitte nicht, durch das Einreichen eines Pull-Requests auf GitHub beizutragen.
GitHub-Link zur DokumentationMarkdown des Dokuments in die Zwischenablage kopieren
Next.js Integration: useLocale Hook Dokumentation für next-intlayer
Dieser Abschnitt bietet eine ausführliche Dokumentation zum useLocale Hook, der speziell für Next.js-Anwendungen innerhalb der next-intlayer Bibliothek entwickelt wurde. Er ist darauf ausgelegt, Sprachänderungen und Routing effizient zu verwalten.
Importieren von useLocale in Next.js
Um den useLocale Hook in Ihrer Next.js-Anwendung zu verwenden, importieren Sie ihn wie folgt:
Kopieren Sie den Code in die Zwischenablage
import { useLocale } from "next-intlayer"; // Wird verwendet, um Sprachen und Routing in Next.js zu verwaltenVerwendung
So implementieren Sie den useLocale Hook innerhalb einer Next.js-Komponente:
Kopieren Sie den Code in die Zwischenablage
"use client";
import type { FC } from "react";
import { Locales } from "intlayer";
import { useLocale } from "next-intlayer";
const LocaleSwitcher: FC = () => {
const { locale, defaultLocale, availableLocales, setLocale } = useLocale();
return (
<div>
<h1>Aktuelle Sprache: {locale}</h1>
<p>Standardsprache: {defaultLocale}</p>
<select value={locale} onChange={(e) => setLocale(e.target.value)}>
{availableLocales.map((loc) => (
<option key={loc} value={loc}>
{loc}
</option>
))}
</select>
</div>
);
};Parameter
Der useLocale Hook akzeptiert die folgenden Parameter:
onLocaleChange: Ein String, der bestimmt, wie die URL aktualisiert werden soll, wenn sich die Sprache ändert. Mögliche Werte sind"replace","push"oder"none".Nehmen wir ein Beispiel:
- Sie befinden sich auf
/fr/home - Sie navigieren zu
/fr/about - Sie ändern die Sprache zu
/es/about - Sie klicken auf die "Zurück"-Schaltfläche des Browsers
Das Verhalten unterscheidet sich je nach Wert von
onLocaleChange:"replace"(Standard): Ersetzt die aktuelle URL durch die neue lokalisierte URL und setzt den Cookie. -> Die "Zurück"-Schaltfläche führt zu/es/home"push": Fügt die neue lokalisierte URL dem Browser-Verlauf hinzu und setzt den Cookie. -> Die "Zurück"-Schaltfläche führt zu/fr/about"none": Aktualisiert nur die Sprache im Client-Kontext und setzt den Cookie, ohne die URL zu ändern. -> Die "Zurück"-Schaltfläche führt zu/fr/home(locale) => void: Setzt den Cookie und löst eine benutzerdefinierte Funktion aus, die aufgerufen wird, wenn sich die Sprache ändert.Die Option
undefinedist das Standardverhalten, da wir empfehlen, dieLink-Komponente zu verwenden, um zur neuen Sprache zu navigieren. Beispiel:tsxCode kopierenKopieren Sie den Code in die Zwischenablage
<Link href="/es/about" replace> Über uns</Link>
- Sie befinden sich auf
Rückgabewerte
locale: Die aktuelle Sprache, wie im React-Kontext gesetzt.defaultLocale: Die primäre Sprache, die in der Konfiguration definiert ist.availableLocales: Eine Liste aller verfügbaren Sprachen, wie in der Konfiguration definiert.setLocale: Eine Funktion, um die Sprache der Anwendung zu ändern und die URL entsprechend zu aktualisieren. Sie kümmert sich um Präfix-Regeln, ob die Sprache basierend auf der Konfiguration zum Pfad hinzugefügt werden soll oder nicht. VerwendetuseRouterausnext/navigationfür Navigationsfunktionen wiepushundrefresh.pathWithoutLocale: Eine berechnete Eigenschaft, die den Pfad ohne die Sprache zurückgibt. Dies ist nützlich zum Vergleichen von URLs. Zum Beispiel, wenn die aktuelle Sprachefrist und die URLfr/my_pathlautet, ist der Pfad ohne Sprache/my_path. VerwendetusePathnameausnext/navigation, um den aktuellen Pfad zu erhalten.
Fazit
Der useLocale Hook von next-intlayer ist ein wichtiges Werkzeug zur Verwaltung von Sprachversionen in Next.js-Anwendungen. Er bietet einen integrierten Ansatz, um Ihre Anwendung nahtlos für mehrere Sprachen anzupassen, indem er die Speicherung der Sprache, das Zustandsmanagement und die URL-Anpassungen übernimmt.