Référence Next.js

init(options)

Importer depuis @18ways/next/server.

ts
import { init } from '@18ways/next/server';

Options courantes :

OptionTypeRemarques
cléApichaîneRequis.
localeDeBasechaîneLangue source de l'application.
localechaîneSurcharge de locale fixe optionnelle.
locales acceptéstableau de chaînesListe de locales explicites optionnelle.
persistLocaleCookiebooléen | ((demande) => booléen)Politique par défaut des cookies de localisation pour les changements de localisation du middleware et du client.
cacheTtlnombreDurée de vie du cache pour les requêtes de l'adaptateur.
récupérateurtypeof fetchImplémentation de récupération personnalisée.
acheminementDesCheminsConfigurationDeRoutageWaysPathInclure 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 :

ChampCe que cela fait
WaysRootWrapper 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 :

ts
{
  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.