Référence Next.js
init(options)
Importer depuis @18ways/next/server.
import { init } from '@18ways/next/server';Options courantes :
| Option | Type | Remarques |
|---|---|---|
cléApi | chaîne | Requis. |
localeDeBase | chaîne | Langue source de l'application. |
locale | chaîne | Surcharge de locale fixe optionnelle. |
locales acceptés | tableau de chaînes | Liste de locales explicites optionnelle. |
persistLocaleCookie | booléen | ((demande) => booléen) | Politique par défaut des cookies de localisation pour les changements de localisation du middleware et du client. |
cacheTtl | nombre | Durée de vie du cache pour les requêtes de l'adaptateur. |
récupérateur | typeof fetch | Implémentation de récupération personnalisée. |
acheminementDesChemins | ConfigurationDeRoutageWaysPath | Inclure ou exclure les routes préfixées par la locale. |
WaysRoot
Utilisez WaysRoot dans la mise en page de votre routeur d'application afin que l'adaptateur puisse initialiser l'état d'exécution pour la demande actuelle.
htmlAttrs()
htmlAttrs() résout le lang et dir valeurs pour l'élément document.
generateWaysMetadata()
Utilisez generateWaysMetadata() à l'intérieur de generateMetadata() lorsque vous souhaitez des titres traduits,
descriptions et des URL canoniques ou alternatives sensibles à la locale.
waysMiddleware()
waysMiddleware() est l'API middleware de temps de requête renvoyée par init(). Elle résout l'état de la locale, applique les cookies de locale et renvoie le final NextResponse. Utilisez transformRequestHeaders ou transformResponse lorsque vous avez besoin d'un comportement personnalisé.
init() return value
init() renvoie ces champs :
| Champ | Ce que cela fait |
|---|---|
WaysRoot | Wrapper racine pour les mises en page du routeur d'application. |
htmlAttrs() | Résout lang et dir pour la demande actuelle. |
generateWaysMetadata() | Construit des métadonnées sensibles à la locale et peut traduire des chaînes de métadonnées. |
waysMiddleware() | Résout le comportement du middleware sensible à la locale et renvoie une réponse. |
Aides pour les clients
Importer depuis @18ways/next/client.
useLocale()
Lisez et changez la locale actuelle. C'est le hook que vous associez avec LanguageSwitcher ou votre propre
interface utilisateur de sélecteur personnalisée.
useUnlocalizedPathname()
Lisez le chemin d'accès actuel sans le préfixe de locale.
useLocalizedHref()
Convertir un href interne en href sensible à la locale actuelle.
localizePathname()
Aide pure pour construire un chemin localisé en dehors de React.
stripLocalePrefix()
Aide pure pour supprimer un préfixe de locale d'un chemin.
Path routing config
ConfigurationDeRoutageWaysPath accepte :
{
inclure?: Tableau<chaîne | RegExp>;
exclure?: Tableau<chaîne | RegExp>;
}Utilisez-le lorsque les URL publiques doivent comporter des préfixes de locale. Laissez-le de côté lorsque vous souhaitez une sélection de locale basée sur des cookies ou des en-têtes sans réécriture de chemin.
Lower-level exports
Il y a aussi des exports RSC et middleware dans @18ways/next/rsc et @18ways/next/server, mais
pour la plupart des applications, le init() surface ci-dessus est la bonne abstraction.