# generaltranslation: General Translation Core SDK: downloadFile URL: https://generaltranslation.com/it/docs/core/class/methods/translation/download-file.mdx --- title: downloadFile description: Riferimento API per il metodo downloadFile, che consente di scaricare file sorgente o tradotti --- ## Panoramica Il metodo `downloadFile` scarica il contenuto di un singolo file come stringa UTF-8. A seconda che venga specificata un'impostazione regionale, scarica il file sorgente o la traduzione corrispondente. ```typescript const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' }); // Scarica una traduzione const translatedContent = await gt.downloadFile({ fileId: 'file-123', branchId: 'branch-456', locale: 'es', versionId: 'version-789' }); // Scarica il file sorgente (nessuna impostazione regionale specificata) const sourceContent = await gt.downloadFile({ fileId: 'file-123', branchId: 'branch-456' }); ``` **Stato delle traduzioni:** Quando scarichi le traduzioni, questo metodo funziona solo con traduzioni completate. Usa prima [`queryFileData`](/docs/core/class/methods/translation/query-file-data) per verificare che le traduzioni siano completate prima di tentare il download. ## Guida di riferimento ### Parametri | Nome | Tipo | Descrizione | | ---------- | --------------------- | ------------------------------------------------------------------------------ | | `file` | `FileInfo` | Oggetto contenente le informazioni sul file che specifica quale file scaricare | | `options?` | `DownloadFileOptions` | Configurazione facoltativa per la richiesta di download | #### Struttura `FileInfo` | Name | Type | Description | | ---------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `fileId` | `string` | Identificatore univoco del file da scaricare | | `branchId?` | `string` | ID del branch da cui eseguire il download. Se non viene fornito, verrà usato il branch predefinito | | `locale?` | `string` | Impostazione regionale di destinazione della traduzione da scaricare. Se non viene fornita, verrà scaricato il file sorgente | | `versionId?` | `string` | ID versione facoltativo del file. Se non viene fornito, verrà usata la versione più recente | | `useLatestAvailableVersion?` | `boolean` | Se `true` e il `versionId` specificato non viene trovato, viene usata l'ultima versione disponibile invece di restituire un errore. Il valore predefinito è `false` | #### DownloadFileOptions | Nome | Tipo | Descrizione | | ---------- | -------- | ---------------------------------------- | | `timeout?` | `number` | Timeout della richiesta, in millisecondi | ### Restituisce `Promise` - Il contenuto del file come stringa UTF-8. La stringa restituita contiene il contenuto del file nello stesso formato del file sorgente originale. Per le traduzioni, tutto il testo traducibile viene convertito nell'impostazione regionale di destinazione. *** ## Esempio ```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 un singolo file const spanishContent = await gt.downloadFile({ fileId, branchId, locale: 'es' }); console.log('Traduzione in spagnolo:', spanishContent); ``` *** ## Note * Recupera il file scaricato come stringa UTF-8 * Quando viene fornita un'impostazione regionale, il file deve avere una traduzione completata per tale impostazione regionale * Quando non viene fornita alcuna impostazione regionale, viene restituito il file sorgente * L'operazione non riesce se il file non viene trovato ## Passaggi successivi * Vedi [`queryFileData`](/docs/core/class/methods/translation/query-file-data) per verificare lo stato della traduzione prima di scaricarla * Vedi [`downloadFileBatch`](/docs/core/class/methods/translation/download-file-batch) per scaricare più file in modo efficiente * Vedi [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files) per la procedura di caricamento dei file * Vedi [`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files) per avviare i processi di traduzione * Vedi [`awaitJobs`](/docs/core/class/methods/translation/await-jobs) per attendere il completamento dei processi prima di scaricare i file