Настройка Next.js
Установите адаптер
Заголовок раздела «Установите адаптер»npm install tyndale-nextКонфигурация
Заголовок раздела «Конфигурация»-
Обновите конфигурацию Next.js
next.config.mjs import { withTyndaleConfig } from 'tyndale-next/config';export default withTyndaleConfig({// your existing Next.js config}); -
Добавьте middleware
middleware.ts import { createTyndaleMiddleware } from 'tyndale-next/middleware';export default createTyndaleMiddleware();export const config = {matcher: ['/((?!api|_next|_tyndale|.*\\..*).*)'],};Это обрабатывает определение локали, редиректы на маршруты с префиксом локали и сохраняет активную локаль в cookie.
-
Добавьте серверный provider в ваш 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>);}TyndaleServerProviderзагружает данные локали на сервере. Установите<html dir>самостоятельно с помощьюgetDirection(locale)в серверных компонентах илиuseDirection()в клиентских компонентах.
Как это работает
Заголовок раздела «Как это работает»withTyndaleConfigчитаетtyndale.config.json, внедряет переменные окружения времени сборки, которые Tyndale использует во время выполнения, и задаёт алиасtyndale-react, чтобы ваше приложение использовало единый контекст provider- Middleware перенаправляет запросы на маршруты с префиксом локали, нормализует алиасы локалей и устанавливает cookie/header локали для последующего рендеринга
TyndaleServerProviderзагружает переводы на стороне сервера и делает их доступными всем компонентам через контекст React