# General Translation React SDKs (gt-react, gt-next, gt-react-native): gtMiddleware URL: https://generaltranslation.com/zh/docs/react/tanstack-start/reference/functions/gt-middleware.mdx --- title: gtMiddleware description: 在 TanStack Start 中为 General Translation 服务器 API 创建请求级区域设置状态。gtMiddleware 的 API 参考。 --- `gtMiddleware` 导出项是全局 TanStack Start 请求中间件。从 `gt-tanstack-start/server` 导入它,并在调用任何请求级服务器辅助函数之前完成注册。 ## 概览 [#overview] ```ts title="src/start.ts" import { createCsrfMiddleware, createStart } from '@tanstack/react-start'; import { gtMiddleware } from 'gt-tanstack-start/server'; const csrfMiddleware = createCsrfMiddleware({ filter: ({ handlerType }) => handlerType === 'serverFn', }); export const startInstance = createStart(() => ({ requestMiddleware: [csrfMiddleware, gtMiddleware], })); ``` ## 工作原理 [#how-it-works] * 根据传入的请求和你的 General Translation 配置,解析区域设置、region 和国际化设置。 * 将这些值存储在请求级本地状态中,用于服务器端渲染、服务器路由和服务器函数。 * 在并发的服务器请求之间保持请求状态隔离。 * 将解析后的区域设置持久化到 General Translation 的 locale cookie 中。 在中间件处理请求之前,先通过 `gt-tanstack-start` 调用 [`initializeGT`](/docs/react/reference/config#initialize)。如果初始化尚未创建对应的 condition store,中间件会抛出异常。 ## 服务端辅助函数 [#server-helpers] 中间件会将请求状态提供给以下函数: * [`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) 如果在当前中间件请求作用域之外调用这些辅助函数,它们会抛出异常。