# General Translation Platform: downloadFileBatch URL: https://generaltranslation.com/it/docs/platform/core/reference/gt-class-methods/translation/download-file-batch.mdx --- title: downloadFileBatch description: Scarica più file tradotti con una sola richiesta. Riferimento API per downloadFileBatch. --- Scarica più file sorgente o file di traduzione con un'unica richiesta batch in General Translation. Usalo al posto di molte chiamate singole a [`downloadFile`](/docs/platform/core/reference/gt-class-methods/translation/download-file) per ridurre il sovraccarico di rete. ## Panoramica [#overview] Chiama `downloadFileBatch` con un array di richieste di file. Ogni richiesta può puntare a una traduzione (con un`impostazione regionale`) o a un file sorgente (senza `impostazione regionale`). ```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' }, ]); ``` Firma: ```typescript downloadFileBatch( requests: DownloadFileBatchRequest, options?: DownloadFileBatchOptions ): Promise ``` *Nota: `downloadFileBatch` richiede un `apiKey` (o `devApiKey`) e `projectId` nell'istanza GT. Scarica più file con un'unica chiamata API, risultando più efficiente rispetto a chiamate ripetute a `downloadFile`.* ## Come funziona [#how-it-works] * **Ordine.** I file vengono restituiti, quando possibile, nello stesso ordine degli elementi richiesti. * **Successo parziale.** Se un singolo download all'interno del batch non va a buon fine, l'intero batch non fallisce. * **Disponibilità.** Usa [`queryFileData`](/docs/platform/core/reference/gt-class-methods/translation/query-file-data) per verificare che i file siano pronti prima di scaricarli. ## Parametri [#parameters] | Parametro | Descrizione | Tipo | Facoltativo | Predefinito | | ----------------------- | ------------------------------------------- | -------------------------- | ----------- | ----------- | | [`requests`](#requests) | Array di oggetti di richiesta file. | `DownloadFileBatchRequest` | No | — | | [`options`](#options) | Configurazione della richiesta di download. | `DownloadFileBatchOptions` | Sì | — | ### `requests` [#requests] **Tipo** `DownloadFileBatchRequest` · **Obbligatorio** Un array di richieste di download dei file: ```typescript type DownloadFileBatchRequest = { fileId: string; branchId?: string; locale?: string; versionId?: string; useLatestAvailableVersion?: boolean; }[]; ``` | Campo | Descrizione | Tipo | Facoltativo | Predefinito | | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | --------- | ----------- | ------------------ | | `fileId` | Identificatore univoco del file da scaricare. | `string` | No | — | | `branchId` | Branch da cui scaricare. | `string` | Sì | branch predefinito | | `locale` | Impostazione regionale di destinazione per la traduzione. Omettilo per scaricare il file sorgente. | `string` | Sì | — | | `versionId` | ID della versione da scaricare. | `string` | Sì | ultima versione | | `useLatestAvailableVersion` | Se `true` e il `versionId` specificato non viene trovato, usa l'ultima versione disponibile invece di generare un errore. | `boolean` | Sì | `false` | ### `options` [#options] **Tipo** `DownloadFileBatchOptions` · **Facoltativo** | Campo | Descrizione | Tipo | Facoltativo | | --------- | ---------------------------------------- | -------- | ----------- | | `timeout` | Timeout della richiesta in millisecondi. | `number` | Sì | ## Restituisce [#returns] **Tipo** `Promise` Restituisce un `DownloadFileBatchResult` che contiene i file scaricati e un conteggio: ```typescript type DownloadFileBatchResult = { files: DownloadedFile[]; count: number; }; type DownloadedFile = { id: string; branchId: string; fileId: string; versionId: string; locale?: string; // presente quando il file è una traduzione fileName?: string; // presente per i file sorgente (quando locale è assente) data: string; // contenuto del file come stringa UTF-8 metadata: JsonObject; fileFormat: FileFormat; }; ``` | Proprietà | Descrizione | Tipo | | -------------------- | ------------------------------------------------------------------ | ------------------- | | `files` | Array di oggetti file scaricati. | `DownloadedFile[]` | | `count` | Numero di file scaricati con successo. | `number` | | `files[].id` | Identificatore univoco del record del file scaricato. | `string` | | `files[].branchId` | Branch ID. | `string` | | `files[].fileId` | ID del file. | `string` | | `files[].versionId` | ID della versione. | `string` | | `files[].locale` | Impostazione regionale del file, presente quando è una traduzione. | `string` (optional) | | `files[].fileName` | Nome originale del file, presente per i file sorgente. | `string` (optional) | | `files[].data` | Contenuto del file come stringa UTF-8. | `string` | | `files[].metadata` | Metadati specifici del formato del file. | `JsonObject` | | `files[].fileFormat` | Formato del file (`JSON`, `MDX` e così via). | `FileFormat` | ## Esempi [#examples] ```typescript title="index.ts" // (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('Some jobs did not finish in time'); } // (5) Scarica tutte le traduzioni in un batch const downloadResult = await gt.downloadFileBatch( targetLocales.map((locale) => ({ fileId, branchId, locale, })) ); downloadResult.files.forEach((file) => { console.log(`Downloaded ${file.locale}: ${file.fileName}`); }); ``` ## Note [#notes] * I file vengono restituiti come stringhe UTF-8. * Usa [`queryFileData`](/docs/platform/core/reference/gt-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, ove possibile. * Il fallimento del download di singoli file all'interno del batch non comporta il fallimento dell'intero batch.