# generaltranslation: General Translation Core SDK: setupProject
URL: https://generaltranslation.com/it/docs/core/class/methods/translation/setup-project.mdx
---
title: setupProject
description: Riferimento API del metodo setupProject per inizializzare il setup del progetto di traduzione
---
## Panoramica
Il metodo `setupProject` avvia il processo di setup per un progetto di traduzione utilizzando i file caricati in precedenza.
Questo crea un job di setup asincrono che analizza i file e li prepara per i flussi di traduzione.
```typescript
const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' });
const setupResult = await gt.setupProject(fileRefs, { timeout: 30000 });
console.log(`Setup job created: ${setupResult.jobId}`);
```
Devi aver caricato in precedenza i file usando [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files) prima di chiamare `setupProject`.
## Riferimento
### Parametri
| Name | Type | Description |
| ---------- | --------------------- | ------------------------------------------------------------------------------- |
| `files` | `FileReference[]` | Array di riferimenti a file provenienti da file sorgente caricati in precedenza |
| `options?` | `SetupProjectOptions` | Impostazioni facoltative per il job di setup |
#### Struttura FileReference
```typescript
type FileReference = {
fileId: string;
versionId: string;
branchId: string;
fileName: string;
fileFormat?: FileFormat;
dataFormat?: DataFormat;
}
```
#### SetupProjectOptions
| Nome | Tipo | Descrizione |
| ---------- | ---------- | ---------------------------------------------------------------- |
| `locales?` | `string[]` | Array facoltativo delle impostazioni regionali di destinazione |
| `timeout?` | `number` | Timeout facoltativo in millisecondi per la richiesta all'API |
### Restituisce
`Promise` - Contiene l'identificatore del job di setup e il relativo stato iniziale.
```typescript
type SetupProjectResult = {
jobId: string;
status: 'queued';
}
```
| Proprietà | Tipo | Descrizione |
| --------- | ---------- | --------------------------------------- |
| `jobId` | `string` | Identificatore univoco del job di setup |
| `status` | `'queued'` | Stato iniziale del job di setup |
***
## Esempi
### Utilizzo di base
Inizializza il setup del progetto usando i file caricati:
```typescript title="index.ts" copy
import { GT } from 'generaltranslation';
const gt = new GT({
projectId: 'your-project-id',
apiKey: 'your-api-key'
});
// Riferimenti ai file dall'upload precedente
const fileRefs = [
{
fileId: 'file-123',
versionId: 'version-456',
branchId: 'branch-789',
fileName: 'app.json',
fileFormat: 'JSON'
},
{
fileId: 'file-789',
versionId: 'version-012',
branchId: 'branch-789',
fileName: 'content.md',
fileFormat: 'MD'
}
];
const setupResult = await gt.setupProject(fileRefs);
console.log(`Setup initiated with job ID: ${setupResult.jobId}`);
// Monitora lo stato del job
const jobStatus = await gt.checkJobStatus([setupResult.jobId]);
console.log(`Job status: ${jobStatus.jobs[0].status}`);
```
***
## Note
* I file devono essere caricati con [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files) prima di chiamare `setupProject`
* Il setup del progetto analizza il contenuto e la struttura dei file per ottimizzare i flussi di traduzione
* Il job di setup viene eseguito in modo asincrono: monitora l'avanzamento con [`checkJobStatus`](/docs/core/class/methods/translation/check-job-status)
* Il setup è in genere necessario prima di accodare job di traduzione per i nuovi progetti
* I riferimenti ai file includono `branchId` per un corretto controllo delle versioni con il supporto dei branch
## Passaggi successivi
* Vedi [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files) per caricare i file prima del setup
* Vedi [`checkJobStatus`](/docs/core/class/methods/translation/check-job-status) per monitorare l'avanzamento del setup
* Vedi [`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files) per avviare le traduzioni dopo il setup