# generaltranslation: General Translation Core SDK: downloadFile URL: https://generaltranslation.com/es/docs/core/class/methods/translation/download-file.mdx --- title: downloadFile description: Referencia de la API del método downloadFile para descargar archivos de origen o traducidos --- ## Resumen El método `downloadFile` descarga el contenido de un único archivo como una cadena UTF-8. Si se especifica una configuración regional, descargará la traducción correspondiente; de lo contrario, 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' }); ``` **Estado de la traducción:** Al descargar traducciones, este método solo funciona con traducciones completadas. Usa [`queryFileData`](/docs/core/class/methods/translation/query-file-data) primero para verificar que las traducciones se hayan completado antes de intentar descargarlas. ## Referencia ### Parámetros | Nombre | Tipo | Descripción | | ---------- | --------------------- | -------------------------------------------------------------------------- | | `file` | `FileInfo` | Objeto con la información del archivo que especifica qué archivo descargar | | `options?` | `DownloadFileOptions` | Configuración opcional para la solicitud de descarga | #### Estructura de FileInfo | Nombre | Tipo | Descripción | | ---------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `fileId` | `string` | Identificador único del archivo que se va a descargar | | `branchId?` | `string` | ID de la rama desde la que se descargará. Si no se proporciona, se usará la rama predeterminada | | `locale?` | `string` | Configuración regional de destino de la traducción que se va a descargar. Si no se proporciona, se descargará el archivo de origen | | `versionId?` | `string` | ID de versión opcional del archivo. Si no se proporciona, se usará la versión más reciente | | `useLatestAvailableVersion?` | `boolean` | Si es `true` y no se encuentra el `versionId` especificado, se usará la versión disponible más reciente en lugar de devolver un error. El valor predeterminado es `false` | #### DownloadFileOptions | Nombre | Tipo | Descripción | | ---------- | -------- | ------------------------------------------------ | | `timeout?` | `number` | Tiempo de espera de la solicitud en milisegundos | ### Devuelve `Promise`: el contenido del archivo como una cadena UTF-8. La cadena devuelta contiene el contenido del archivo en el mismo formato que el archivo de origen. En el caso de las traducciones, todo el texto traducible se convierte a la configuración regional de destino. *** ## Ejemplo ```typescript title="index.ts" copy // (1) Crear una instancia de GT const targetLocales = ['es', 'fr', 'de']; const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key', }); // (2) Cargar 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) Poner en cola el trabajo de traducción de archivo const enqueueResult = await gt.enqueueFiles( uploadedFiles, { sourceLocale: 'en', targetLocales: targetLocales, } ); // (4) Esperar a que todas las traducciones estén completadas const { fileId, versionId, branchId } = uploadedFiles[0]; const result = await gt.awaitJobs(enqueueResult); if (!result.complete) { console.error('Algunos trabajos no terminaron a tiempo'); } // (5) Descargar un único archivo const spanishContent = await gt.downloadFile({ fileId, branchId, locale: 'es' }); console.log('Traducción al español:', spanishContent); ``` *** ## Notas * Obtiene 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 * Fallará si no se encuentra el archivo ## Próximos pasos * Consultar [`queryFileData`](/docs/core/class/methods/translation/query-file-data) para verificar el estado de la traducción antes de descargar * Consultar [`downloadFileBatch`](/docs/core/class/methods/translation/download-file-batch) para descargar varios archivos de forma eficiente * Consultar [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files) para consultar el proceso de carga de archivos * Consultar [`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files) para iniciar trabajos de traducción * Consultar [`awaitJobs`](/docs/core/class/methods/translation/await-jobs) para esperar a que los trabajos finalicen antes de descargar