# 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