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 ansehenIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
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.