# General Translation Changelog: gt-tanstack-start 0.1.0: i18n для TanStack Start
URL: https://generaltranslation.com/ru/blog/gt-tanstack-start_v0_1_0.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 
Authors: Ernest McCarter
Published: 2026-02-16

## Обзор

`gt-tanstack-start` — первая попытка добавить поддержку i18n, адаптированную для TanStack Start.

> **Эта библиотека экспериментальная.** Она всё ещё находится на раннем этапе развития, и мы будем очень рады обратной связи. Если вам нужны переводы в production-среде с TanStack, пока рекомендуем использовать `gt-react`.

***

## Что входит в комплект

* **[`initializeGT()`](/docs/react/reference/config#initialize)** — Настраивает менеджер i18n для TanStack Start. Вызовите эту функцию один раз в начале файла корневого маршрута.
* **[`GTProvider`](/docs/react/reference/components/gt-provider)** — Оборачивает приложение контекстом переводов со встроенным определением SSR и разрешением локалей, адаптированными для TanStack Start.
* **[`getTranslations()`](/docs/react/tanstack-start/reference/functions/get-translations)** — Асинхронная функция для вызова в корневом загрузчике, чтобы передать переводы в provider.
* **[`getLocale()`](/docs/react/tanstack-start/reference/functions/get-locale)** — Возвращает разрешённую локаль для текущего запроса.
* **[`<T>`](/docs/react/reference/components/t), [`<Var>`](/docs/react/reference/components/var), [`<LocaleSelector>`](/docs/react/reference/components/locale-selector)** — Повторно экспортируются из `gt-react`, поэтому всё можно импортировать из одного package.

***

## Быстрый старт

### Установка

```bash
npm install gt-tanstack-start
```


### Настройте `gt.config.json`

```json
{
  "defaultLocale": "en",
  "locales": ["fr", "zh"],
  "files": {
    "gt": {
      "output": "src/_gt/[locale].json"
    }
  }
}
```


### Задайте переменные среды

```env
VITE_GT_PROJECT_ID=your-project-id
VITE_GT_DEV_API_KEY=your-dev-api-key
```


### Создайте загрузчик переводов

```ts
// loadTranslations.ts
export async function loadTranslations(locale: string) {
  const translations = await import(`./src/_gt/${locale}.json`);
  return translations.default;
}
```


### Настройка корневого маршрута

```tsx
// __root.tsx
import { HeadContent, Scripts, createRootRoute } from '@tanstack/react-router';
import {
  initializeGT,
  GTProvider,
  getTranslations,
  getLocale,
} from 'gt-tanstack-start';
import gtConfig from '../../gt.config.json';
import { loadTranslations } from '../../loadTranslations';

initializeGT({
  ...gtConfig,
  projectId: import.meta.env.VITE_GT_PROJECT_ID,
  devApiKey: import.meta.env.VITE_GT_DEV_API_KEY,
  loadTranslations,
});

export const Route = createRootRoute({
  loader: async () => ({
    translations: await getTranslations(),
    locale: getLocale(),
  }),
  shellComponent: RootDocument,
});

function RootDocument({ children }: { children: React.ReactNode }) {
  const { translations, locale } = Route.useLoaderData();
  return (
    <html lang={locale}>
      <head>
        <HeadContent />
      </head>
      <body>
        <GTProvider translations={translations}>
          {children}
        </GTProvider>
        <Scripts />
      </body>
    </html>
  );
}
```


### Перевод контента

```tsx
import { T } from 'gt-tanstack-start';

export default function Page() {
  return (
    <T>
      <p>This gets translated automatically.</p>
    </T>
  );
}
```

***


## Что дальше

Это v0.1.0 — основа уже есть, но впереди ещё много работы.
Среди ближайших возможностей, которые мы планируем добавить в следующих релизах, — SSG и маршрутизация по локалям.

Если хотите попробовать, будем рады вашим отзывам.
Загляните в наш [Discord](https://discord.gg/SjQwPjZaGa) или откройте issue на [GitHub](https://github.com/generaltranslation/gt/issues).

## Sitemap

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