# generaltranslation: General Translation Core SDK: downloadFileBatch URL: https://generaltranslation.com/it/docs/core/class/methods/translation/download-file-batch.mdx --- title: downloadFileBatch description: Documentazione di riferimento dell'API per il metodo downloadFileBatch, che consente di scaricare più file in un'unica richiesta --- ## Panoramica Il metodo `downloadFileBatch` scarica più file sorgente o di traduzione con un'unica richiesta in batch. ```typescript const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' }); const result = await gt.downloadFileBatch([ { fileId: 'file-123', branchId: 'branch-456', locale: 'es' }, { fileId: 'file-123', branchId: 'branch-456', locale: 'fr' }, { fileId: 'file-123', branchId: 'branch-456', locale: 'de' } ]); ``` **Efficienza in batch:** Questo metodo è ottimizzato per scaricare più file con una singola chiamata API, riducendo il sovraccarico di rete e migliorando le prestazioni rispetto a più chiamate individuali a `downloadFile`. ## Documentazione di riferimento ### Parametri | Nome | Tipo | Descrizione | | ---------- | -------------------------- | ------------------------------------------------------- | | `requests` | `DownloadFileBatchRequest` | Array di oggetti di richiesta dei file | | `options?` | `DownloadFileBatchOptions` | Configurazione facoltativa per la richiesta di download | #### DownloadFileBatchRequest ```typescript type DownloadFileBatchRequest = { fileId: string; branchId?: string; locale?: string; versionId?: string; useLatestAvailableVersion?: boolean; }[]; ``` | Nome | Tipo | Descrizione | | ---------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `fileId` | `string` | Identificatore univoco del file da scaricare | | `branchId?` | `string` | ID del branch da cui scaricare. Se non viene fornito, verrà usato il branch predefinito | | `locale?` | `string` | Impostazione regionale di destinazione per la traduzione. Se non viene fornita, verrà scaricato il file sorgente | | `versionId?` | `string` | ID della versione da scaricare. Se non viene fornito, verrà usata la versione più recente | | `useLatestAvailableVersion?` | `boolean` | Se `true` e il `versionId` specificato non viene trovato, viene usata come fallback la versione disponibile più recente invece di generare un errore. Il valore predefinito è `false` | #### DownloadFileBatchOptions | Nome | Tipo | Descrizione | | ---------- | -------- | ---------------------------------------- | | `timeout?` | `number` | Timeout della richiesta, in millisecondi | ### Restituisce `Promise` - Contiene i file scaricati e i relativi metadati. ```typescript type DownloadFileBatchResult = { files: File[]; count: number; } ``` | Proprietà | Tipo | Descrizione | | --------- | -------- | -------------------------------------- | | `files` | `File[]` | Array di oggetti file scaricati | | `count` | `number` | Numero di file scaricati correttamente | #### Struttura dei file ```typescript type File = { fileId: string; branchId?: string; locale?: string; versionId?: string; fileName: string; data: string; } ``` | Proprietà | Tipo | Descrizione | | ----------- | -------- | ----------------------------------------------------- | | `fileId` | `string` | ID del file | | `branchId` | `string` | ID del branch | | `locale` | `string` | Impostazione regionale del file (se è una traduzione) | | `versionId` | `string` | ID della versione | | `fileName` | `string` | Nome originale del file | | `data` | `string` | Contenuto del file come stringa UTF-8 | *** ## Esempi ```typescript title="index.ts" copy // (1) Crea un'istanza GT const targetLocales = ['es', 'fr', 'de']; const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key', }); // (2) Carica il file const fileUpload = { content: fileContents, fileName: filePath, fileFormat: 'JSON', locale: 'en', }; const files = [ { source: fileUpload } ]; const { uploadedFiles } = await gt.uploadSourceFiles( files, { sourceLocale: 'en' } ); // (3) Accoda il job di traduzione del file const enqueueResult = await gt.enqueueFiles( uploadedFiles, { sourceLocale: 'en', targetLocales: targetLocales, } ); // (4) Attendi il completamento di tutte le traduzioni const { fileId, versionId, branchId } = uploadedFiles[0]; const result = await gt.awaitJobs(enqueueResult); if (!result.complete) { console.error('Alcuni job non sono stati completati in tempo'); } // (5) Scarica tutte le traduzioni in batch const downloadResult = await gt.downloadFileBatch( targetLocales.map((locale) => ({ fileId, branchId, locale })) ); downloadResult.files.forEach(file => { console.log(`Scaricato ${file.locale}: ${file.fileName}`); }); ``` *** ## Note * I file vengono restituiti come stringhe UTF-8 * Usa [`queryFileData`](/docs/core/class/methods/translation/query-file-data) per verificare prima che i file siano pronti per il download * I file vengono restituiti nello stesso ordine degli elementi richiesti, quando possibile * Il fallimento di singoli download di file all'interno dell'operazione in batch non comporta il fallimento dell'intera operazione in batch ## Passaggi successivi * Vedi [`downloadFile`](/docs/core/class/methods/translation/download-file) per scaricare un singolo file * Vedi [`queryFileData`](/docs/core/class/methods/translation/query-file-data) per verificare che i file siano pronti per il download * Vedi [`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files) per avviare i processi di traduzione