# General Translation Platform: downloadFile URL: https://generaltranslation.com/es/docs/platform/core/reference/gt-class-methods/translation/download-file.mdx --- title: downloadFile description: Descarga un archivo traducido una vez completada la traducción. Referencia de la API para downloadFile. --- Descarga el contenido de un único archivo como una cadena UTF-8 con General Translation. Dependiendo de si proporcionas una configuración regional, devuelve el archivo de origen o la traducción correspondiente. ## Resumen general [#overview] Llama a `downloadFile` con un descriptor de archivo. Incluye `locale` para descargar una traducción, o omítelo para descargar el archivo de origen. ```typescript const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' }); // Descargar una traducción const translatedContent = await gt.downloadFile({ fileId: 'file-123', branchId: 'branch-456', locale: 'es', versionId: 'version-789', }); // Descargar el archivo de origen (sin configuración regional especificada) 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` requiere una `apiKey` (o `devApiKey`) y `projectId` en la instancia de GT. Al descargar traducciones, solo funciona con traducciones completadas; primero verifica el estado con [`queryFileData`](/docs/platform/core/reference/gt-class-methods/translation/query-file-data).* ## Cómo funciona [#how-it-works] * **Archivo de origen vs. traducción.** Cuando se proporciona un `locale`, el archivo debe tener una traducción completa para esa configuración regional. Cuando no se proporciona ningún `locale`, se devuelve el archivo de origen. * **Formato conservado.** La cadena devuelta está en el mismo formato que el archivo de origen original; en las traducciones, todo el texto traducible se traduce a la configuración regional de destino. * **Error.** La llamada falla si no se encuentra el archivo. ## Parámetros [#parameters] | Parámetro | Descripción | Tipo | Opcional | Predeterminado | | --------------------- | ----------------------------------------------------------------- | --------------------- | -------- | -------------- | | [`file`](#file) | Información del archivo que indica qué archivo se debe descargar. | `object` | No | — | | [`options`](#options) | Configuración de la solicitud de descarga. | `DownloadFileOptions` | Sí | — | ### `file` [#file] **Tipo** `object` · **Obligatorio** Identifica el archivo que se va a descargar: | Campo | Descripción | Tipo | Opcional | Predeterminado | | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | --------- | -------- | -------------------- | | `fileId` | Identificador único del archivo que se va a descargar. | `string` | No | — | | `branchId` | Rama desde la que se descargará. | `string` | Sí | rama predeterminada | | `locale` | Configuración regional de destino de la traducción que se descargará. Omítelo para descargar el archivo de origen. | `string` | Sí | — | | `versionId` | ID de la versión del archivo. | `string` | Sí | versión más reciente | | `useLatestAvailableVersion` | Si es `true` y no se encuentra el `versionId` especificado, usa la versión disponible más reciente en lugar de generar un error. | `boolean` | Sí | `false` | ### `options` [#options] **Tipo** `DownloadFileOptions` · **Opcional** | Campo | Descripción | Tipo | Opcional | | --------- | -------------------------------------------------- | -------- | -------- | | `timeout` | Tiempo de espera de la solicitud, en milisegundos. | `number` | Sí | ## Devuelve [#returns] **Tipo** `Promise` Se resuelve en el contenido del archivo como una cadena UTF-8, con el mismo formato que el archivo de origen. En las traducciones, todo el texto traducible se convierte a la configuración regional de destino. ## Ejemplos [#examples] ```typescript title="index.ts" // (1) Crear una instancia de GT const targetLocales = ['es', 'fr', 'de']; const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key', }); // (2) Subir el archivo const fileUpload = { content: fileContents, fileName: filePath, fileFormat: 'JSON', locale: 'en', }; const files = [{ source: fileUpload }]; const { uploadedFiles } = await gt.uploadSourceFiles(files, { sourceLocale: 'en' }); // (3) Encolar el trabajo de traducción del archivo const enqueueResult = await gt.enqueueFiles(uploadedFiles, { sourceLocale: 'en', targetLocales: targetLocales, }); // (4) Esperar a que todas las traducciones se completen 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) Descargar un archivo individual const spanishContent = await gt.downloadFile({ fileId, branchId, locale: 'es', }); console.log('Spanish translation:', spanishContent); ``` ## Notas [#notes] * Recupera el archivo descargado como una cadena UTF-8. * Cuando se proporciona una configuración regional, el archivo debe tener una traducción completada para esa configuración regional. * Cuando no se proporciona ninguna configuración regional, se devuelve el archivo de origen. * La llamada falla si no se encuentra el archivo.