Configuration Next.js
Installer l’adaptateur
Section intitulée « Installer l’adaptateur »npm install tyndale-nextConfiguration
Section intitulée « Configuration »-
Mettez à jour votre configuration Next.js
next.config.mjs import { withTyndaleConfig } from 'tyndale-next/config';export default withTyndaleConfig({// your existing Next.js config}); -
Ajoutez le middleware
middleware.ts import { createTyndaleMiddleware } from 'tyndale-next/middleware';export default createTyndaleMiddleware();export const config = {matcher: ['/((?!api|_next|_tyndale|.*\\..*).*)'],};Cela gère la détection de la locale, les redirections vers des routes préfixées par la locale, et conserve la locale active dans un cookie.
-
Ajoutez le provider serveur à votre layout
app/[locale]/layout.tsx import { getDirection, TyndaleServerProvider } from 'tyndale-next/server';export default async function RootLayout({children,params,}: {children: React.ReactNode;params: Promise<{ locale: string }>;}) {const { locale } = await params;return (<html lang={locale} dir={getDirection(locale)}><body><TyndaleServerProvider locale={locale}>{children}</TyndaleServerProvider></body></html>);}TyndaleServerProvidercharge les données de locale côté serveur. Définissez vous-même<html dir>avecgetDirection(locale)dans les composants serveur ouuseDirection()dans les composants client.
Fonctionnement
Section intitulée « Fonctionnement »withTyndaleConfiglittyndale.config.json, injecte les variables d’environnement au moment du build que Tyndale utilise à l’exécution, et crée un alias verstyndale-reactafin que votre application partage un contexte de provider unique- Le middleware redirige les requêtes vers des routes préfixées par la locale, normalise les alias de locale, et définit le cookie/header de locale pour le rendu en aval
TyndaleServerProvidercharge les traductions côté serveur et les met à disposition de tous les composants via le contexte React