# General Translation React SDKs (gt-react, gt-next): Démarrage rapide TanStack Start
URL: https://generaltranslation.com/fr/docs/react/tanstack-start-quickstart.mdx
---
title: Démarrage rapide TanStack Start
description: Ajoutez General Translation à une application TanStack Start avec gt-tanstack-start et traduisez votre premier contenu.
related:
links:
- /docs/react/guides/translating-jsx
- /docs/react/guides/translating-strings
- /docs/react/guides/managing-locales
- /docs/react/guides/formatting-variables
---
`gt-tanstack-start` ajoute une internationalisation automatique aux applications TanStack Start. Vous initialisez General Translation dans la route racine, déterminez le paramètre régional de la requête et hydratez `GTProvider` à partir d’un loader de route.
Utilisez ce démarrage rapide pour les applications TanStack Start. Pour une SPA React classique, utilisez le [démarrage rapide React](/docs/react/react-quickstart).
`gt-tanstack-start` est expérimental et peut introduire des changements cassants. Son utilisation en production n’est pas encore recommandée.
## Démarrage rapide [#quickstart]
Installez les packages, créez un fichier de configuration et un loader de traduction, configurez la route racine, marquez le contenu à traduire et générez les traductions.
### 1. Installez `gt-tanstack-start`
Installez `gt-tanstack-start` et `gt-react` en tant que dépendances, ainsi que la [CLI `gt`](/docs/cli/quickstart) en tant que dépendance de développement. `gt-react` est requis directement afin que la CLI puisse détecter les composants [``](/docs/react/reference/components/t) dans votre code source.
```bash
npm install gt-tanstack-start gt-react && npm install gt --save-dev
```
```bash
yarn add gt-tanstack-start gt-react && yarn add --dev gt
```
```bash
bun add gt-tanstack-start gt-react && bun add --dev gt
```
```bash
pnpm add gt-tanstack-start gt-react && pnpm add --save-dev gt
```
### 2. Créez `gt.config.json`
Créez un fichier `gt.config.json` à la racine de votre projet. Il définit votre langue source, vos paramètres régionaux cibles et l’emplacement des fichiers de traduction.
```json title="gt.config.json"
{
"defaultLocale": "en",
"locales": ["es", "ja"],
"files": {
"gt": {
"output": "src/_gt/[locale].json"
}
}
}
```
* `defaultLocale` — la langue dans laquelle votre application est rédigée.
* `locales` — les langues vers lesquelles traduire. Choisissez parmi les [langues prises en charge](/docs/platform/dashboard/reference/supported-locales).
* `files.gt.output` — l’emplacement où le CLI génère les fichiers de traduction. Placez-les dans `src/` pour que Vite puisse les importer ; les fichiers dans `public/` ne seront pas résolus.
### 3. Créer un loader de traduction
Créez un fichier `loadTranslations.ts` qui importe le fichier de traduction du paramètre régional à l’exécution.
```ts title="loadTranslations.ts"
export default async function loadTranslations(locale: string) {
const translations = await import(`./src/_gt/${locale}.json`);
return translations.default;
}
```
### 4. Configurez la route racine
Dans `src/routes/__root.tsx`, appelez [`initializeGT`](/docs/node/reference/functions/initialize-gt) au niveau du module, déterminez le paramètre régional avec `parseLocale`, puis chargez un instantané des traductions dans le loader de la route. Transmettez `locale` et `translations` à `GTProvider`.
```tsx title="src/routes/__root.tsx"
import {
HeadContent,
Scripts,
createRootRoute,
} from '@tanstack/react-router';
import {
initializeGT,
GTProvider,
parseLocale,
getTranslationsSnapshot,
LocaleSelector,
} from 'gt-tanstack-start';
import gtConfig from '../../gt.config.json';
import loadTranslations from '../../loadTranslations';
// Initialiser General Translation une seule fois, au niveau du module
initializeGT({ ...gtConfig, loadTranslations });
export const Route = createRootRoute({
loader: async () => {
const locale = parseLocale();
return {
locale,
translations: await getTranslationsSnapshot(locale),
};
},
shellComponent: RootDocument,
});
function RootDocument({ children }: { children: React.ReactNode }) {
const { locale, translations } = Route.useLoaderData();
return (
{children}
);
}
```
`parseLocale` lit le paramètre régional dans le cookie de la requête et les en-têtes côté serveur, et dans le cookie côté navigateur. `GTProvider` nécessite à la fois `locale` et `translations`.
### 5. Marquer le contenu à traduire
Encapsulez le JSX dans le composant `` pour le traduire sur place. Importez `` et [`useGT`](/docs/react/reference/hooks/use-gt) depuis `gt-react` afin que la CLI les détecte lors de l’analyse de votre code source.
```tsx title="src/routes/index.tsx"
import { createFileRoute } from '@tanstack/react-router';
import { T, useGT } from 'gt-react';
export const Route = createFileRoute('/')({ component: Home });
function Home() {
const gt = useGT();
return (
Welcome to my app
This content is translated automatically.
);
}
```
`useGT()` renvoie directement la fonction de traduction. Appelez-la donc ainsi : `const gt = useGT();`.
### 6. Générer les traductions
Exécutez le CLI pour traduire votre projet à l’aide de l’API de traduction de General Translation.
```bash
npx gt translate
```
Ajoutez la commande à votre script de build afin que les builds de production utilisent toujours des traductions à jour :
```json title="package.json"
{
"scripts": {
"build": "npx gt translate && vite build"
}
}
```
*Remarque : `npx gt translate` nécessite un ID de projet et une clé API de production, définis par `GT_PROJECT_ID` et `GT_API_KEY` dans votre environnement. Exécutez `npx gt auth` ou rendez-vous sur le [Tableau de bord](/docs/platform/dashboard/get-started) pour les obtenir.*
## Next steps
- /docs/react/guides/translating-jsx
- /docs/react/guides/translating-strings
- /docs/react/guides/managing-locales
- /docs/react/guides/formatting-variables