# General Translation Platform: enqueueFiles URL: https://generaltranslation.com/fr/docs/platform/core/reference/gt-class-methods/translation/enqueue-files.mdx --- title: enqueueFiles description: Ajouter les fichiers source téléversés à la file d’attente pour les traduire vers un ou plusieurs paramètres régionaux cibles. Référence de l’API pour enqueueFiles. --- Ajoute à la file d’attente des tâches de traduction pour des fichiers source précédemment téléversés avec General Translation. Prend des références de fichier et crée une tâche de traduction par paramètre régional cible. ## Vue d’ensemble [#overview] Appelez `enqueueFiles` avec les références de fichiers renvoyées par [`uploadSourceFiles`](/docs/platform/core/reference/gt-class-methods/translation/upload-source-files) et un objet d’options indiquant les paramètres régionaux cibles. ```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'], }); ``` Signature : ```typescript enqueueFiles( files: FileReferenceIds[], options: EnqueueFilesOptions ): Promise ``` *Remarque : `enqueueFiles` nécessite une `apiKey` (ou `devApiKey`) ainsi que `projectId` sur l’instance GT. Vous ne pouvez placer des fichiers en file d’attente qu’après les avoir importés.* ## Fonctionnement [#how-it-works] * **Tâches asynchrones.** Les tâches de traduction s’exécutent de manière asynchrone. Suivez leur avancement avec [`queryFileData`](/docs/platform/core/reference/gt-class-methods/translation/query-file-data), ou attendez leur fin avec [`awaitJobs`](/docs/platform/core/reference/gt-class-methods/translation/await-jobs). * **Une tâche par paramètre régional.** La réponse `jobData` est indexée par ID de tâche, avec une tâche créée pour chaque paramètre régional cible. * **Gestion des versions.** Les références de fichiers incluent `branchId` pour la gestion des versions avec prise en charge des branches. ## Paramètres [#parameters] | Paramètre | Description | Type | Facultatif | Par défaut | | --------------------- | --------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------- | ---------- | | [`files`](#files) | Identifiants de référence des fichiers précédemment téléversés. | `FileReferenceIds[]` | Non | — | | [`options`](#options) | Options de configuration pour la tâche de traduction. | [`EnqueueFilesOptions`](/docs/platform/core/reference/types/enqueue-files-options) | Non | — | ### `files` [#files] **Type** `FileReferenceIds[]` · **Obligatoire** Les références de fichiers à ajouter à la file d’attente : ```typescript type FileReferenceIds = { fileId: string; versionId: string; branchId?: string; fileName?: string; fileFormat?: FileFormat; transformFormat?: FileFormat; // format de sortie demandé pour les traductions générées dataFormat?: DataFormat; }; ``` | Champ | Description | Type | Facultatif | | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------- | ---------- | | `fileId` | Identifiant unique du fichier. | `string` | Non | | `versionId` | Identifiant de version. | `string` | Non | | `branchId` | Identifiant de branche. | `string` | Oui | | `fileName` | Nom du fichier. | `string` | Oui | | `fileFormat` | Format du fichier. Une des valeurs suivantes : `GTJSON`, `JSON`, `PO`, `POT`, `YAML`, `MDX`, `MD`, `TS`, `JS`, `HTML`, `TXT` ou `TWILIO_CONTENT_JSON`. | `FileFormat` | Oui | | `transformFormat` | Format de sortie demandé pour les traductions générées. | `FileFormat` | Oui | | `dataFormat` | Format des données dans le fichier (ICU, I18NEXT, JSX, STRING). | [`DataFormat`](/docs/platform/core/reference/types/data-format) | Oui | ### `options` [#options] **Type** [`EnqueueFilesOptions`](/docs/platform/core/reference/types/enqueue-files-options) · **Obligatoire** Configuration de la tâche de traduction : | Champ | Description | Type | Facultatif | Par défaut | | --------------- | ---------------------------------------------------------------------------------------------------------------- | ---------- | ---------- | ----------------------- | | `sourceLocale` | Paramètre régional source de la traduction. | `string` | Oui | instance `sourceLocale` | | `targetLocales` | Paramètres régionaux cibles de la traduction. | `string[]` | Non | — | | `modelProvider` | Fournisseur de modèle d’IA spécifique à utiliser pour la traduction. | `string` | Oui | — | | `force` | Invalide les traductions mises en cache et force une nouvelle traduction, même si des traductions existent déjà. | `boolean` | Oui | — | | `timeout` | Délai d’expiration de la requête, en millisecondes. | `number` | Oui | — | *Remarque : `requireApproval` était une option propre à la version 8.x et n’est pas présente dans la version 9.0.* ## Renvoie [#returns] **Type** `Promise` La promesse se résout avec un `EnqueueFilesResult` contenant des informations sur la tâche et des détails de traitement : ```typescript type EnqueueFilesResult = { jobData: { [jobId: string]: { sourceFileId: string; fileId: string; versionId: string; branchId: string; targetLocale: string; projectId: string; force: boolean; modelProvider?: string; }; }; locales: string[]; // paramètres régionaux cibles pour les jobs message: string; // message d'état de l'API }; ``` L’objet `jobData` utilise les ID de tâche comme clés, chaque valeur décrivant une seule tâche de traduction. ## Exemples [#examples] ```typescript title="index.ts" // (1) Créer une instance GT const targetLocales = ['es', 'fr', 'de']; const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key', }); // (2) Téléverser le fichier const fileUpload = { content: fileContents, fileName: filePath, fileFormat: 'JSON', locale: 'en', }; const files = [{ source: fileUpload }]; const { uploadedFiles } = await gt.uploadSourceFiles(files, { sourceLocale: 'en' }); // (3) Mettre en file d'attente la tâche de traduction du fichier const enqueueResult = await gt.enqueueFiles(uploadedFiles, { sourceLocale: 'en', targetLocales: targetLocales, }); console.log(`Created ${Object.keys(enqueueResult.jobData).length} translation jobs`); // (4) Attendre que toutes les traductions soient terminées 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) Télécharger les fichiers const downloadResult = await gt.downloadFileBatch( targetLocales.map((locale) => ({ fileId, branchId, locale, })) ); ``` ## Notes [#notes] * Le contenu du fichier doit d’abord être téléversé avec [`uploadSourceFiles`](/docs/platform/core/reference/gt-class-methods/translation/upload-source-files). * Les tâches de traduction sont asynchrones — utilisez [`queryFileData`](/docs/platform/core/reference/gt-class-methods/translation/query-file-data) ou [`awaitJobs`](/docs/platform/core/reference/gt-class-methods/translation/await-jobs) pour suivre leur progression. * Les références de fichiers incluent `branchId` pour la gestion des versions avec prise en charge des branches.