# General Translation React SDKs (gt-react, gt-next): Middleware для App Router URL: https://generaltranslation.com/ru/docs/react/nextjs/app-router-middleware.mdx --- title: Middleware для App Router description: Как настроить маршрутизацию по локалям General Translation для Next.js App Router. related: links: - /docs/react/nextjs-quickstart - /docs/react/nextjs/app-router-static-site-generation - /docs/react/nextjs/reference/functions/create-next-middleware --- Настройте middleware, корневой сегмент `[locale]` и функцию определения локали запроса, чтобы запросы App Router направлялись по правильному локализованному маршруту. ## Настройте middleware [#middleware] Создайте `proxy.ts` в корне вашего проекта (`middleware.ts` в Next.js 15 и более ранних версиях): ```ts title="proxy.ts" import { createNextMiddleware } from 'gt-next/middleware'; export default createNextMiddleware(); export const config = { matcher: ['/((?!api|static|.*\\..*|_next).*)'], }; ``` Middleware определяет локаль по URL, cookie-файлу, заголовкам браузера или локали по умолчанию. Затем он перенаправляет запрос на соответствующий локализованный маршрут или переписывает его. ## Добавьте маршрут локали [#locale-route] Переместите страницы App Router в `app/[locale]`: Этот сегмент маршрута получает локаль, выбранную в middleware. Параметры маршрутизации и настройку локализованных путей см. в [`createNextMiddleware`](/docs/react/nextjs/reference/functions/create-next-middleware). ## Получение корневой локали [#root-locale] Создайте `getLocale.ts` в корне проекта. `withGTConfig` автоматически найдет этот файл. ```ts title="./getLocale.ts" import { locale } from 'next/root-params'; export default async function getLocale() { return await locale(); } ``` Параметр root передаёт локаль без чтения заголовков запроса или cookie-файлов. ## Next steps - /docs/react/nextjs-quickstart - /docs/react/nextjs/app-router-static-site-generation - /docs/react/nextjs/reference/functions/create-next-middleware