Posez votre question et obtenez un résumé du document en referencant cette page et le Provider AI de votre choix
Historique des versions
- "Valeur par défaut de `onLocaleChange` définie sur `replace`"v8.0.026/01/2026
- "Historique initial"v5.5.1029/06/2025
Le contenu de cette page a été traduit à l'aide d'une IA.
Voir la dernière version du contenu original en anglaisSi vous avez une idée d’amélioration pour améliorer cette documentation, n’hésitez pas à contribuer en submitant une pull request sur GitHub.
Lien GitHub de la documentationCopier le Markdown du doc dans le presse-papiers
Intégration Next.js : Documentation du Hook useLocale pour next-intlayer
Cette section offre une documentation détaillée sur le hook useLocale conçu pour les applications Next.js au sein de la bibliothèque next-intlayer. Il est conçu pour gérer efficacement les changements de langue et le routage.
Importer useLocale dans Next.js
Pour utiliser le hook useLocale dans votre application Next.js, importez-le comme indiqué ci-dessous :
Copier le code dans le presse-papiers
import { useLocale } from "next-intlayer"; // Utilisé pour gérer les langues et le routage dans Next.jsUtilisation
Voici comment implémenter le hook useLocale dans un composant Next.js :
Copier le code dans le presse-papiers
"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>Langue actuelle : {locale}</h1>
<p>Langue par défaut : {defaultLocale}</p>
<select value={locale} onChange={(e) => setLocale(e.target.value)}>
{availableLocales.map((loc) => (
<option key={loc} value={loc}>
{loc}
</option>
))}
</select>
</div>
);
};Paramètres
Le hook useLocale accepte les paramètres suivants :
onLocaleChange: Une chaîne de caractères qui détermine comment l'URL doit être mise à jour lorsque la langue change. Elle peut être"replace","push"ou"none".Prenons un exemple :
- Vous êtes sur
/fr/home - Vous naviguez vers
/fr/about - Vous changez la langue pour
/es/about - Vous cliquez sur le bouton "retour" du navigateur
Le comportement différera selon la valeur de
onLocaleChange:"replace"(par défaut) : Remplace l'URL actuelle par la nouvelle URL localisée, et définit le cookie. -> Le bouton "retour" ira vers/es/home"push": Ajoute la nouvelle URL localisée à l'historique du navigateur, et définit le cookie. -> Le bouton "retour" ira vers/fr/about"none": Met uniquement à jour la langue dans le contexte client, et définit le cookie, sans changer l'URL. -> Le bouton "retour" ira vers/fr/home(locale) => void: Définit le cookie et déclenche une fonction personnalisée qui sera appelée lorsque la langue change.L'option
undefinedest le comportement par défaut car nous recommandons d'utiliser le composantLinkpour naviguer vers la nouvelle langue. Exemple :tsxCopier le codeCopier le code dans le presse-papiers
<Link href="/es/about" replace> À propos</Link>
- Vous êtes sur
Valeurs de retour
locale: La langue actuelle telle que définie dans le contexte React.defaultLocale: La langue principale définie dans la configuration.availableLocales: Une liste de toutes les langues disponibles telles que définies dans la configuration.setLocale: Une fonction pour changer la langue de l'application et mettre à jour l'URL en conséquence. Elle gère les règles de préfixe, que ce soit pour ajouter ou non la langue au chemin en fonction de la configuration. UtiliseuseRouterdenext/navigationpour les fonctions de navigation commepushetrefresh.pathWithoutLocale: Une propriété calculée qui retourne le chemin sans la langue. Elle est utile pour comparer les URLs. Par exemple, si la langue actuelle estfr, et l'URL estfr/my_path, le chemin sans langue est/my_path. UtiliseusePathnamedenext/navigationpour obtenir le chemin actuel.
Conclusion
Le hook useLocale de next-intlayer est un outil essentiel pour gérer les langues dans les applications Next.js. Il offre une approche intégrée pour adapter votre application à plusieurs langues en gérant de manière transparente le stockage de la langue, la gestion de l'état et les modifications d'URL.