# General Translation Platform: enqueueFiles URL: https://generaltranslation.com/es/docs/platform/core/reference/gt-class-methods/translation/enqueue-files.mdx --- title: enqueueFiles description: Pone en cola archivos fuente cargados para traducirlos a una o más configuraciones regionales de destino. Referencia de la API para enqueueFiles. --- Pone en cola trabajos de traducción para archivos fuente cargados previamente con General Translation. Toma referencias de archivos y crea un trabajo de traducción por cada configuración regional de destino. ## Descripción general [#overview] Llama a `enqueueFiles` con las referencias de archivo que devuelve [`uploadSourceFiles`](/docs/platform/core/reference/gt-class-methods/translation/upload-source-files) y un objeto de opciones con la lista de configuraciones regionales de destino. ```typescript const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' }); const result = await gt.enqueueFiles(fileRefs, { sourceLocale: 'en', targetLocales: ['es', 'fr', 'de'], }); ``` Firma: ```typescript enqueueFiles( files: FileReferenceIds[], options: EnqueueFilesOptions ): Promise ``` *Nota: `enqueueFiles` requiere una `apiKey` (o `devApiKey`) y `projectId` en la instancia de GT. Solo puedes poner en cola archivos después de haberlos subido.* ## Cómo funciona [#how-it-works] * **Trabajos asíncronos.** Los trabajos de traducción se ejecutan de forma asíncrona. Supervisa el progreso con [`queryFileData`](/docs/platform/core/reference/gt-class-methods/translation/query-file-data) o espera a que finalicen con [`awaitJobs`](/docs/platform/core/reference/gt-class-methods/translation/await-jobs). * **Un trabajo por configuración regional.** La respuesta `jobData` se organiza por ID de trabajo y se crea un trabajo por cada configuración regional de destino. * **Control de versiones.** Las referencias de archivo incluyen `branchId` para el control de versiones con soporte para ramas. ## Parámetros [#parameters] | Parámetro | Descripción | Tipo | Opcional | Predeterminado | | --------------------- | -------------------------------------------------------- | ---------------------------------------------------------------------------------- | -------- | -------------- | | [`files`](#files) | IDs de referencia de archivos cargados previamente. | `FileReferenceIds[]` | No | — | | [`options`](#options) | Opciones de configuración para el trabajo de traducción. | [`EnqueueFilesOptions`](/docs/platform/core/reference/types/enqueue-files-options) | No | — | ### `files` [#files] **Tipo** `FileReferenceIds[]` · **Obligatorio** Las referencias de archivo que se deben poner en cola: ```typescript type FileReferenceIds = { fileId: string; versionId: string; branchId?: string; fileName?: string; fileFormat?: FileFormat; transformFormat?: FileFormat; // formato de salida solicitado para las traducciones generadas dataFormat?: DataFormat; }; ``` | Campo | Descripción | Tipo | Opcional | | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | -------- | | `fileId` | Identificador único del archivo. | `string` | No | | `versionId` | Identificador de la versión. | `string` | No | | `branchId` | Identificador de la branch. | `string` | Sí | | `fileName` | Nombre del archivo. | `string` | Sí | | `fileFormat` | Formato del archivo. Uno de `GTJSON`, `JSON`, `PO`, `POT`, `YAML`, `MDX`, `MD`, `TS`, `JS`, `HTML`, `TXT` o `TWILIO_CONTENT_JSON`. | `FileFormat` | Sí | | `transformFormat` | Formato de salida solicitado para las traducciones generadas. | `FileFormat` | Sí | | `dataFormat` | Formato de los datos dentro del archivo (ICU, I18NEXT, JSX, STRING). | [`DataFormat`](/docs/platform/core/reference/types/data-format) | Sí | ### `options` [#options] **Tipo** [`EnqueueFilesOptions`](/docs/platform/core/reference/types/enqueue-files-options) · **Obligatorio** Configuración del trabajo de traducción: | Campo | Descripción | Tipo | Opcional | Predeterminado | | --------------- | ------------------------------------------------------------------------------------------------- | ---------- | -------- | ------------------------ | | `sourceLocale` | Configuración regional de origen de la traducción. | `string` | Sí | instancia `sourceLocale` | | `targetLocales` | Configuraciones regionales de destino a las que se traducirá. | `string[]` | No | — | | `modelProvider` | Proveedor específico del modelo de IA que se usará para la traducción. | `string` | Sí | — | | `force` | Invalida las traducciones en caché y fuerza una nueva traducción, aunque ya existan traducciones. | `boolean` | Sí | — | | `timeout` | Tiempo de espera de la solicitud en milisegundos. | `number` | Sí | — | *Nota: `requireApproval` era una opción exclusiva de 8.x y no está presente en 9.0.* ## Devuelve [#returns] **Tipo** `Promise` Se resuelve con un `EnqueueFilesResult` que contiene información del trabajo y detalles de procesamiento: ```typescript type EnqueueFilesResult = { jobData: { [jobId: string]: { sourceFileId: string; fileId: string; versionId: string; branchId: string; targetLocale: string; projectId: string; force: boolean; modelProvider?: string; }; }; locales: string[]; // configuraciones regionales de destino para los trabajos message: string; // mensaje de estado de la API }; ``` El registro `jobData` usa el ID del trabajo como clave, y cada valor describe un trabajo de traducción individual. ## 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) Poner en cola el trabajo de traducción del archivo const enqueueResult = await gt.enqueueFiles(uploadedFiles, { sourceLocale: 'en', targetLocales: targetLocales, }); console.log(`Created ${Object.keys(enqueueResult.jobData).length} translation jobs`); // (4) Esperar a que se completen todas las traducciones const { fileId, versionId, branchId } = uploadedFiles[0]; const translatedFileQueries = targetLocales.map((locale) => ({ fileId, versionId, branchId, locale, })); while (true) { const result = await gt.queryFileData({ translatedFiles: translatedFileQueries, }); const allCompleted = result.translatedFiles?.every((file) => file.completedAt !== null); if (allCompleted) { break; } await new Promise((resolve) => setTimeout(resolve, 1000)); } // (5) Descargar los archivos const downloadResult = await gt.downloadFileBatch( targetLocales.map((locale) => ({ fileId, branchId, locale, })) ); ``` ## Notas [#notes] * El contenido del archivo debe cargarse primero mediante [`uploadSourceFiles`](/docs/platform/core/reference/gt-class-methods/translation/upload-source-files). * Los trabajos de traducción son asíncronos; usa [`queryFileData`](/docs/platform/core/reference/gt-class-methods/translation/query-file-data) o [`awaitJobs`](/docs/platform/core/reference/gt-class-methods/translation/await-jobs) para seguir el progreso. * Las referencias de archivo incluyen `branchId` para el control de versiones con soporte para ramas.