# General Translation Platform: downloadFileBatch URL: https://generaltranslation.com/fr/docs/platform/core/reference/gt-class-methods/translation/download-file-batch.mdx --- title: downloadFileBatch description: Télécharge plusieurs fichiers traduits en une seule requête. Référence API de downloadFileBatch. --- Télécharge plusieurs fichiers source ou de traduction en une seule requête par lots avec General Translation. Utilisez cette méthode au lieu de multiplier les appels individuels à [`downloadFile`](/docs/platform/core/reference/gt-class-methods/translation/download-file) afin de réduire la surcharge réseau. ## Vue d’ensemble [#overview] Appelez `downloadFileBatch` avec un tableau de requêtes de fichier. Chaque requête peut cibler une traduction (avec un `locale`) ou un fichier source (sans `locale`). ```typescript const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' }); const result = await gt.downloadFileBatch([ { fileId: 'file-123', branchId: 'branch-456', locale: 'es' }, { fileId: 'file-123', branchId: 'branch-456', locale: 'fr' }, { fileId: 'file-123', branchId: 'branch-456', locale: 'de' }, ]); ``` Signature : ```typescript downloadFileBatch( requests: DownloadFileBatchRequest, options?: DownloadFileBatchOptions ): Promise ``` *Remarque : `downloadFileBatch` nécessite une `apiKey` (ou `devApiKey`) ainsi que `projectId` sur l’instance GT. Cette méthode télécharge plusieurs fichiers en un seul appel d’API, ce qui est plus efficace que d’appeler `downloadFile` à plusieurs reprises.* ## Fonctionnement [#how-it-works] * **Ordre.** Les fichiers sont renvoyés dans le même ordre que les éléments demandés, lorsque cela est possible. * **Succès partiel.** L’échec d’un téléchargement individuel dans le traitement par lots ne fait pas échouer l’ensemble du traitement par lots. * **Disponibilité.** Utilisez [`queryFileData`](/docs/platform/core/reference/gt-class-methods/translation/query-file-data) pour vérifier que les fichiers sont prêts avant de les télécharger. ## Paramètres [#parameters] | Paramètre | Description | Type | Facultatif | Par défaut | | ----------------------- | ---------------------------------------------- | -------------------------- | ---------- | ---------- | | [`requests`](#requests) | Tableau d’objets de requête de fichier. | `DownloadFileBatchRequest` | Non | — | | [`options`](#options) | Configuration de la requête de téléchargement. | `DownloadFileBatchOptions` | Oui | — | ### `requests` [#requests] **Type** `DownloadFileBatchRequest` · **Obligatoire** Un tableau de requêtes de fichiers : ```typescript type DownloadFileBatchRequest = { fileId: string; branchId?: string; locale?: string; versionId?: string; useLatestAvailableVersion?: boolean; }[]; ``` | Champ | Description | Type | Facultatif | Valeur par défaut | | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------- | ------------------ | | `fileId` | Identifiant unique du fichier à télécharger. | `string` | Non | — | | `branchId` | Branche depuis laquelle télécharger. | `string` | Oui | branche par défaut | | `locale` | Paramètre régional cible de la traduction. Omettez-le pour télécharger le fichier source. | `string` | Oui | — | | `versionId` | ID de version à télécharger. | `string` | Oui | dernière version | | `useLatestAvailableVersion` | Si `true` et que le `versionId` spécifié est introuvable, la dernière version disponible est utilisée au lieu de renvoyer une erreur. | `boolean` | Oui | `false` | ### `options` [#options] **Type** `DownloadFileBatchOptions` · **Facultatif** | Champ | Description | Type | Facultatif | | --------- | --------------------------------------------------- | -------- | ---------- | | `timeout` | Délai d’expiration de la requête, en millisecondes. | `number` | Oui | ## Retour [#returns] **Type** `Promise` La promesse se résout en un `DownloadFileBatchResult` contenant les fichiers téléchargés et leur nombre : ```typescript type DownloadFileBatchResult = { files: DownloadedFile[]; count: number; }; type DownloadedFile = { id: string; branchId: string; fileId: string; versionId: string; locale?: string; // présent lorsque le fichier est une traduction fileName?: string; // présent pour les fichiers source (lorsque le paramètre régional est absent) data: string; // contenu du fichier sous forme de chaîne UTF-8 metadata: JsonObject; fileFormat: FileFormat; }; ``` | Propriété | Description | Type | | -------------------- | -------------------------------------------------------------------- | ------------------- | | `files` | Tableau d’objets de fichiers téléchargés. | `DownloadedFile[]` | | `count` | Nombre de fichiers téléchargés avec succès. | `number` | | `files[].id` | Identifiant unique de l’enregistrement du fichier téléchargé. | `string` | | `files[].branchId` | ID de branche. | `string` | | `files[].fileId` | ID de fichier. | `string` | | `files[].versionId` | ID de version. | `string` | | `files[].locale` | Paramètre régional du fichier, présent s’il s’agit d’une traduction. | `string` (optional) | | `files[].fileName` | Nom du fichier d’origine, présent pour les fichiers source. | `string` (optional) | | `files[].data` | Contenu du fichier sous forme de chaîne UTF-8. | `string` | | `files[].metadata` | Métadonnées spécifiques au format du fichier. | `JsonObject` | | `files[].fileFormat` | Format du fichier (`JSON`, `MDX`, etc.). | `FileFormat` | ## 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 le job de traduction du fichier const enqueueResult = await gt.enqueueFiles(uploadedFiles, { sourceLocale: 'en', targetLocales: targetLocales, }); // (4) Attendre que toutes les traductions soient terminées 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) Télécharger toutes les traductions par lots const downloadResult = await gt.downloadFileBatch( targetLocales.map((locale) => ({ fileId, branchId, locale, })) ); downloadResult.files.forEach((file) => { console.log(`Downloaded ${file.locale}: ${file.fileName}`); }); ``` ## Remarques [#notes] * Les fichiers sont renvoyés sous forme de chaînes de caractères UTF-8. * Utilisez [`queryFileData`](/docs/platform/core/reference/gt-class-methods/translation/query-file-data) pour vérifier au préalable que les fichiers sont prêts à être téléchargés. * Les fichiers sont renvoyés dans le même ordre que les éléments demandés, lorsque c’est possible. * L’échec du téléchargement de certains fichiers au sein du traitement par lots n’entraîne pas l’échec de l’ensemble du traitement par lots.