# General Translation React SDKs (gt-react, gt-next): Quickstart di TanStack Start
URL: https://generaltranslation.com/it/docs/react/tanstack-start-quickstart.mdx
---
title: Quickstart di TanStack Start
description: Aggiungi General Translation a un'app TanStack Start con gt-tanstack-start e traduci i tuoi primi contenuti.
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` aggiunge l'internazionalizzazione automatica alle app TanStack Start. Inizializzi General Translation nella route principale, risolvi l'impostazione regionale della richiesta e idrati `GTProvider` da un loader della route.
Usa questo quickstart per le app TanStack Start. Per una normale React SPA, usa il [React Quickstart](/docs/react/react-quickstart).
`gt-tanstack-start` è sperimentale e potrebbe introdurre modifiche incompatibili. Non è ancora consigliato per l'uso in produzione.
## Quickstart [#quickstart]
Installa i pacchetti, crea un file di configurazione e un loader delle traduzioni, configura la route principale, contrassegna i contenuti da tradurre e genera le traduzioni.
### 1. Installa `gt-tanstack-start`
Installa `gt-tanstack-start` e `gt-react` come dipendenze e la [CLI `gt`](/docs/cli/quickstart) come dipendenza di sviluppo. `gt-react` è richiesto direttamente affinché la CLI possa rilevare i componenti [``](/docs/react/reference/components/t) nel codice sorgente.
```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. Crea `gt.config.json`
Crea un file `gt.config.json` nella radice del progetto. Definisce la lingua sorgente, le impostazioni regionali di destinazione e il percorso in cui vengono scritti i file di traduzione.
```json title="gt.config.json"
{
"defaultLocale": "en",
"locales": ["es", "ja"],
"files": {
"gt": {
"output": "src/_gt/[locale].json"
}
}
}
```
* `defaultLocale` — la lingua in cui è scritta la tua app.
* `locales` — le lingue in cui tradurre. Scegli tra le [impostazioni regionali supportate](/docs/platform/dashboard/reference/supported-locales).
* `files.gt.output` — dove la CLI scrive i file di traduzione. Tienili in `src/` così Vite può importarli; i file in `public/` non verranno risolti.
### 3. Crea un loader delle traduzioni
Crea un file `loadTranslations.ts` che importi, a runtime, il file di traduzione di un'impostazione regionale.
```ts title="loadTranslations.ts"
export default async function loadTranslations(locale: string) {
const translations = await import(`./src/_gt/${locale}.json`);
return translations.default;
}
```
### 4. Configura la route principale
In `src/routes/__root.tsx`, chiama [`initializeGT`](/docs/node/reference/functions/initialize-gt) a livello di modulo, risolvi l'impostazione regionale con `parseLocale` e carica uno snapshot delle traduzioni nel loader della route. Passa `locale` e `translations` a `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';
// Inizializza General Translation una volta sola, a livello di modulo
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` legge l'impostazione regionale dal cookie e dagli header della richiesta sul server e dal cookie nel browser. `GTProvider` richiede sia `locale` sia `translations`.
### 5. Contrassegna il contenuto per la traduzione
Racchiudi il JSX nel componente `` per tradurlo in-place. Importa `` e [`useGT`](/docs/react/reference/hooks/use-gt) da `gt-react` in modo che la CLI li rilevi durante la scansione del codice sorgente.
```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()` restituisce direttamente la funzione di traduzione, quindi usala così: `const gt = useGT();`.
### 6. Genera le traduzioni
Esegui la CLI per tradurre il tuo progetto usando l'API di General Translation.
```bash
npx gt translate
```
Aggiungi il comando allo script di build, in modo che le build di produzione abbiano sempre traduzioni aggiornate:
```json title="package.json"
{
"scripts": {
"build": "npx gt translate && vite build"
}
}
```
*Nota: `npx gt translate` richiede un ID progetto e una chiave API di produzione, da impostare come `GT_PROJECT_ID` e `GT_API_KEY` nel tuo ambiente. Esegui `npx gt auth` o visita la [Dashboard](/docs/platform/dashboard/get-started) per ottenerli.*
## Next steps
- /docs/react/guides/translating-jsx
- /docs/react/guides/translating-strings
- /docs/react/guides/managing-locales
- /docs/react/guides/formatting-variables