# General Translation Platform: downloadFile URL: https://generaltranslation.com/it/docs/platform/core/reference/gt-class-methods/translation/download-file.mdx --- title: downloadFile description: Scarica un file tradotto una volta completata la traduzione. Riferimento API per downloadFile. --- Scarica il contenuto di un singolo file come stringa UTF-8 con General Translation. A seconda che venga passata o meno un'impostazione regionale, restituisce il file sorgente o la traduzione corrispondente. ## Panoramica [#overview] Chiama `downloadFile` con un descrittore di file. Includi una `locale` per scaricare una traduzione, oppure omettila per scaricare il file sorgente. ```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', }); ``` Firma: ```typescript downloadFile( file: { fileId: string; branchId?: string; locale?: string; versionId?: string; useLatestAvailableVersion?: boolean; }, options?: DownloadFileOptions ): Promise ``` *Nota: `downloadFile` richiede un'`apiKey` (o `devApiKey`) e `projectId` sull'istanza GT. Quando scarichi le traduzioni, funziona solo con traduzioni completate: verifica prima lo stato con [`queryFileData`](/docs/platform/core/reference/gt-class-methods/translation/query-file-data).* ## Come funziona [#how-it-works] * **Sorgente vs. traduzione.** Quando viene fornita un'`impostazione regionale`, il file deve avere una traduzione completa per tale impostazione regionale. Quando non viene fornita alcuna `impostazione regionale`, viene restituito il file sorgente. * **Formato preservato.** La stringa restituita è nello stesso formato del file sorgente originale; per le traduzioni, tutto il testo traducibile viene convertito nell'impostazione regionale di destinazione. * **Errore.** La chiamata non va a buon fine se il file non viene trovato. ## Parametri [#parameters] | Parametro | Descrizione | Type | Facoltativo | Predefinito | | --------------------- | -------------------------------------------------------- | --------------------- | ----------- | ----------- | | [`file`](#file) | Informazioni sul file che indicano quale file scaricare. | `object` | No | — | | [`options`](#options) | Configurazione della richiesta di download. | `DownloadFileOptions` | Sì | — | ### `file` [#file] **Tipo** `object` · **Obbligatorio** Identifica il file da scaricare: | 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 della traduzione da scaricare. Omettilo per scaricare il file sorgente. | `string` | Sì | — | | `versionId` | ID della versione del file. | `string` | Sì | versione più recente | | `useLatestAvailableVersion` | Se `true` e il `versionId` specificato non viene trovato, usa invece la versione disponibile più recente anziché restituire un errore. | `boolean` | Sì | `false` | ### `options` [#options] **Type** `DownloadFileOptions` · **Facoltativo** | Campo | Descrizione | Type | Facoltativo | | --------- | ----------------------------------------- | -------- | ----------- | | `timeout` | Timeout della richiesta, in millisecondi. | `number` | Sì | ## Restituisce [#returns] **Tipo** `Promise` Restituisce il contenuto del file come stringa UTF-8, nello stesso formato del file sorgente originale. Per le traduzioni, tutto il testo traducibile viene convertito nell'impostazione regionale di destinazione. ## 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 un singolo file const spanishContent = await gt.downloadFile({ fileId, branchId, locale: 'es', }); console.log('Spanish translation:', spanishContent); ``` ## Note [#notes] * 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. * La chiamata non riesce se il file non viene trovato.