# General Translation React SDKs (gt-react, gt-next, gt-react-native): 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 au point d’entrée du routeur, déterminez le paramètre régional de la requête et hydratez [`GTProvider`](/docs/react/reference/components/gt-provider) à 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). **Avertissement :** `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, ajoutez un middleware de requête, initialisez le routeur, 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 ``` `gt-tanstack-start` ne prend en charge qu’ESM. Utilisez la syntaxe `import` plutôt que CommonJS `require()`. ### 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. Ajouter le middleware de requête Créez `src/start.ts` et enregistrez [`gtMiddleware`](/docs/react/tanstack-start/reference/functions/gt-middleware) comme middleware global de requête. Conservez le middleware CSRF de TanStack Start lorsque vous définissez une instance `start` personnalisée. ```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], })); ``` Le middleware associe le paramètre régional, la région et le paramètre d’internationalisation à chaque requête afin que les fonctions serveur utilisent la bonne langue. Terminez l’initialisation à l’étape suivante avant de démarrer le serveur de développement. ### 5. Initialisez General Translation et configurez la route racine Appelez [`initializeGT`](/docs/react/tanstack-start/setup#initialize) une seule fois au niveau du module dans `src/router.tsx`. Ajoutez les imports et l’initialiseur à votre fichier de routeur existant : ```tsx title="src/router.tsx" import { initializeGT } from 'gt-tanstack-start'; import gtConfig from '../gt.config.json'; import loadTranslations from '../loadTranslations'; initializeGT({ ...gtConfig, loadTranslations }); ``` Résolvez ensuite le paramètre régional avec [`getLocale`](/docs/react/tanstack-start/reference/functions/get-locale) et chargez un instantané des traductions dans le loader `src/routes/__root.tsx`. Transmettez `locale` et `translations` à [`GTProvider`](/docs/react/reference/components/gt-provider). ```tsx title="src/routes/__root.tsx" import { HeadContent, Scripts, createRootRoute, } from '@tanstack/react-router'; import { GTProvider, getLocale, getTranslationsSnapshot, LocaleSelector, } from 'gt-tanstack-start'; export const Route = createRootRoute({ loader: async () => { const locale = getLocale(); return { locale, translations: await getTranslationsSnapshot(locale), }; }, shellComponent: RootDocument, }); function RootDocument({ children }: { children: React.ReactNode }) { const { locale, translations } = Route.useLoaderData(); return ( {children} ); } ``` [`getLocale`](/docs/react/tanstack-start/reference/functions/get-locale) lit le paramètre régional associé à la requête côté serveur et le paramètre régional du navigateur initialisé côté client. [`GTProvider`](/docs/react/reference/components/gt-provider) nécessite à la fois `locale` et `translations`. **Avertissement :** Ces fichiers de traduction (`src/_gt/[locale].json`) n'existent pas tant que vous ne les avez pas créés. Le paramètre régional par défaut s'affiche toujours, mais la sélection d'un paramètre régional cible dans le sélecteur de langue renvoie une erreur HTTP 500 tant que les fichiers n'existent pas. Exécutez d'abord [`npx gt generate`](/docs/cli/reference/commands/generate) (aucune clé API nécessaire) ou [`npx gt translate`](/docs/cli/reference/commands/translate) (avec des identifiants) pour les créer. ### 6. Marquer le contenu à traduire Encapsulez le JSX dans le composant [``](/docs/react/reference/components/t) pour le traduire sur place. Importez [``](/docs/react/reference/components/t) 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()`](/docs/react/reference/hooks/use-gt) renvoie directement la fonction de traduction. Appelez-la donc ainsi : `const gt = useGT();`. ### 7. 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`](/docs/cli/reference/commands/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`](/docs/cli/reference/commands/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