# General Translation React SDKs (gt-react, gt-next, gt-react-native): gtMiddleware
URL: https://generaltranslation.com/ru/docs/react/tanstack-start/reference/functions/gt-middleware.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Создаёт состояние локали в рамках запроса для серверных функций TanStack Start. Справочник по API для gtMiddleware.

Экспорт `gtMiddleware` представляет собой глобальное middleware обработки запросов TanStack Start. Импортируйте его из `gt-tanstack-start` и зарегистрируйте перед вызовом runtime helper&#39;ов на сервере.

## Обзор [#overview]

```ts title="src/start.ts"
import { createCsrfMiddleware, createStart } from '@tanstack/react-start';
import { gtMiddleware } from 'gt-tanstack-start';

const csrfMiddleware = createCsrfMiddleware({
  filter: ({ handlerType }) => handlerType === 'serverFn',
});

export const startInstance = createStart(() => ({
  requestMiddleware: [csrfMiddleware, gtMiddleware],
}));
```

## Как это работает [#how-it-works]

* Определяет локаль, регион и параметр интернационализации на основе входящего запроса и вашей конфигурации General Translation.
* Когда включён `localeRouting`, отдаёт приоритет первому поддерживаемому сегменту пути вместо cookie-файла локали и заголовка `Accept-Language`. Локаль по умолчанию остаётся без префикса.
* Учитывает базовый путь TanStack Router через `TSS_ROUTER_BASEPATH`.
* Сохраняет эти значения в состоянии, локальном для запроса, для серверного рендеринга, серверных маршрутов и серверных функций.
* Обеспечивает изоляцию состояния запроса при одновременной обработке серверных запросов.
* Сохраняет итоговую локаль в cookie-файле локали General Translation.

Вызовите [`initializeGT`](/docs/react/reference/config#initialize) из `gt-tanstack-start` до того, как middleware начнёт обрабатывать запрос. Middleware выбрасывает исключение, если при инициализации не было создано его хранилище условий.

## Серверные вспомогательные функции [#server-helpers]

Middleware делает состояние запроса доступным для:

* [`getLocale`](/docs/react/tanstack-start/reference/functions/get-locale)
* [`getEnableI18n`](/docs/react/tanstack-start/reference/functions/get-enable-i18n)
* [`getGT`](/docs/react/tanstack-start/reference/functions/get-gt)
* [`getMessages`](/docs/react/tanstack-start/reference/functions/get-messages)
* [`getTranslations`](/docs/react/tanstack-start/reference/functions/get-translations)

Эти вспомогательные функции изоморфны. Их серверные ветки выбрасывают исключение, если их вызвать вне области активного запроса middleware; их клиентские ветки считывают хранилище условий браузера, инициализированное [`initializeGT`](/docs/react/reference/config#initialize).

## История версий [#version-history]

| Версия   | Изменения                                                                                                                                  |
| -------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `11.1.5` | `gtMiddleware` экспортирован из корневого условия браузера, чтобы файлы настройки могли использовать корневой импорт в клиентских сборках. |

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
