# General Translation Platform: enqueueFiles URL: https://generaltranslation.com/it/docs/platform/core/reference/gt-class-methods/translation/enqueue-files.mdx --- title: enqueueFiles description: Accoda i file sorgente caricati per la traduzione in una o più impostazioni regionali di destinazione. Riferimento API per enqueueFiles. --- Accoda i job di traduzione per file sorgente caricati in precedenza con General Translation. Accetta riferimenti ai file e crea un job di traduzione per ogni impostazione regionale di destinazione. ## Panoramica [#overview] Chiama `enqueueFiles` passando i riferimenti ai file restituiti da [`uploadSourceFiles`](/docs/platform/core/reference/gt-class-methods/translation/upload-source-files) e un oggetto options che elenca le impostazioni regionali di destinazione. ```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'], }); ``` Sintassi: ```typescript enqueueFiles( files: FileReferenceIds[], options: EnqueueFilesOptions ): Promise ``` *Nota: `enqueueFiles` richiede un`apiKey` (o `devApiKey`) e `projectId` nell'istanza GT. Puoi mettere i file in coda solo dopo averli caricati.* ## Come funziona [#how-it-works] * **Job asincroni.** I job di traduzione vengono eseguiti in modo asincrono. Monitora l'avanzamento con [`queryFileData`](/docs/platform/core/reference/gt-class-methods/translation/query-file-data) oppure attendi il completamento con [`awaitJobs`](/docs/platform/core/reference/gt-class-methods/translation/await-jobs). * **Un job per impostazione regionale.** La risposta `jobData` è organizzata per ID job, con un job creato per ogni impostazione regionale di destinazione. * **Gestione delle versioni.** I riferimenti ai file includono `branchId` per la gestione delle versioni con supporto per i branch. ## Parametri [#parameters] | Parametro | Descrizione | Tipo | Facoltativo | Predefinito | | --------------------- | --------------------------------------------------- | ---------------------------------------------------------------------------------- | ----------- | ----------- | | [`files`](#files) | ID di riferimento dei file caricati in precedenza. | `FileReferenceIds[]` | No | — | | [`options`](#options) | Opzioni di configurazione per il job di traduzione. | [`EnqueueFilesOptions`](/docs/platform/core/reference/types/enqueue-files-options) | No | — | ### `files` [#files] **Tipo** `FileReferenceIds[]` · **Obbligatorio** I riferimenti ai file da accodare: ```typescript type FileReferenceIds = { fileId: string; versionId: string; branchId?: string; fileName?: string; fileFormat?: FileFormat; transformFormat?: FileFormat; // formato di output richiesto per le traduzioni generate dataFormat?: DataFormat; }; ``` | Field | Descrizione | Tipo | Facoltativo | | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------- | ----------- | | `fileId` | Identificatore univoco del file. | `string` | No | | `versionId` | Identificatore della versione. | `string` | No | | `branchId` | Identificatore del branch. | `string` | Sì | | `fileName` | Nome del file. | `string` | Sì | | `fileFormat` | Formato del file. Uno dei seguenti: `GTJSON`, `JSON`, `PO`, `POT`, `YAML`, `MDX`, `MD`, `TS`, `JS`, `HTML`, `TXT` o `TWILIO_CONTENT_JSON`. | `FileFormat` | Sì | | `transformFormat` | Formato di output richiesto per le traduzioni generate. | `FileFormat` | Sì | | `dataFormat` | Formato dei dati nel file (ICU, I18NEXT, JSX, STRING). | [`DataFormat`](/docs/platform/core/reference/types/data-format) | Sì | ### `options` [#options] **Type** [`EnqueueFilesOptions`](/docs/platform/core/reference/types/enqueue-files-options) · **Obbligatorio** Configurazione per il job di traduzione: | Campo | Descrizione | Type | Facoltativo | Predefinito | | --------------- | -------------------------------------------------------------------------------------------------- | ---------- | ----------- | ------------------------------- | | `sourceLocale` | Impostazione regionale sorgente per la traduzione. | `string` | Sì | `sourceLocale` dell'istanza | | `targetLocales` | Impostazioni regionali di destinazione in cui tradurre. | `string[]` | No | — | | `modelProvider` | Provider del modello di IA specifico da usare per la traduzione. | `string` | Sì | — | | `force` | Invalida le traduzioni memorizzate nella cache e forza una nuova traduzione anche se esistono già. | `boolean` | Sì | — | | `timeout` | Timeout della richiesta in millisecondi. | `number` | Sì | — | *Nota: `requireApproval` era un'opzione disponibile solo nella versione 8.x e non è presente nella 9.0.* ## Restituisce [#returns] **Tipo** `Promise` Si risolve con un `EnqueueFilesResult` che contiene informazioni sul job e dettagli di elaborazione: ```typescript type EnqueueFilesResult = { jobData: { [jobId: string]: { sourceFileId: string; fileId: string; versionId: string; branchId: string; targetLocale: string; projectId: string; force: boolean; modelProvider?: string; }; }; locales: string[]; // impostazioni regionali di destinazione per i job message: string; // messaggio di stato dall'API }; ``` Il record `jobData` è indicizzato per ID job e ogni valore descrive un singolo job di traduzione. ## 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, }); console.log(`Created ${Object.keys(enqueueResult.jobData).length} translation jobs`); // (4) Attendi il completamento di tutte le traduzioni 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) Scarica i file const downloadResult = await gt.downloadFileBatch( targetLocales.map((locale) => ({ fileId, branchId, locale, })) ); ``` ## Note [#notes] * Devi prima caricare il contenuto del file con [`uploadSourceFiles`](/docs/platform/core/reference/gt-class-methods/translation/upload-source-files). * I job di traduzione sono asincroni: 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) per monitorarne l'avanzamento. * I riferimenti ai file includono `branchId` per la gestione delle versioni con supporto per i branch.