# generaltranslation: General Translation Core SDK: downloadFileBatch URL: https://generaltranslation.com/fr/docs/core/class/methods/translation/download-file-batch.mdx --- title: downloadFileBatch description: Référence de l’API pour la méthode downloadFileBatch, qui permet de télécharger plusieurs fichiers en une seule requête --- ## Vue d’ensemble La méthode `downloadFileBatch` télécharge plusieurs fichiers source ou de traduction en une seule requête par lot. ```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' } ]); ``` **Efficacité par lot :** Cette méthode est optimisée pour télécharger plusieurs fichiers en un seul appel d’API, ce qui réduit la surcharge réseau et améliore les performances par rapport à plusieurs appels individuels à `downloadFile`. ## Référence ### Paramètres | Nom | Type | Description | | ---------- | -------------------------- | --------------------------------------------------------- | | `requests` | `DownloadFileBatchRequest` | Tableau d’objets de demande de fichier | | `options?` | `DownloadFileBatchOptions` | Configuration facultative de la requête de téléchargement | #### DownloadFileBatchRequest ```typescript type DownloadFileBatchRequest = { fileId: string; branchId?: string; locale?: string; versionId?: string; useLatestAvailableVersion?: boolean; }[]; ``` | Nom | Type | Description | | ---------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `fileId` | `string` | Identifiant unique du fichier à télécharger | | `branchId?` | `string` | ID de la branche à partir de laquelle télécharger le fichier. Si non fourni, la branche par défaut est utilisée | | `locale?` | `string` | Paramètre régional cible de la traduction. Si non fourni, le fichier source sera téléchargé | | `versionId?` | `string` | ID de la version à télécharger. Si non fourni, la version la plus récente est utilisée | | `useLatestAvailableVersion?` | `boolean` | Si `true` et que le `versionId` spécifié est introuvable, la dernière version disponible est utilisée au lieu de renvoyer une erreur. Valeur par défaut : `false` | #### DownloadFileBatchOptions | Nom | Type | Description | | ---------- | -------- | -------------------------------------------------- | | `timeout?` | `number` | Délai d’expiration de la requête, en millisecondes | ### Valeur renvoyée `Promise` - Contient les fichiers téléchargés et leurs métadonnées. ```typescript type DownloadFileBatchResult = { files: File[]; count: number; } ``` | Propriété | Type | Description | | --------- | -------- | ------------------------------------------ | | `files` | `File[]` | Tableau des objets de fichier téléchargés | | `count` | `number` | Nombre de fichiers téléchargés avec succès | #### Structure des fichiers ```typescript type File = { fileId: string; branchId?: string; locale?: string; versionId?: string; fileName: string; data: string; } ``` | Propriété | Type | Description | | ----------- | -------- | ------------------------------------------------------------ | | `fileId` | `string` | ID du fichier | | `branchId` | `string` | ID de la branche | | `locale` | `string` | Paramètre régional du fichier (dans le cas d’une traduction) | | `versionId` | `string` | ID de la version | | `fileName` | `string` | Nom du fichier d’origine | | `data` | `string` | Contenu du fichier sous forme de chaîne UTF-8 | *** ## Exemples ```typescript title="index.ts" copy // (1) Créer une instance GT const targetLocales = ['es', 'fr', 'de']; const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key', }); // (2) Uploader 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, } ); // (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('Certaines tâches ne se sont pas terminées à temps'); } // (5) Télécharger toutes les traductions en lot const downloadResult = await gt.downloadFileBatch( targetLocales.map((locale) => ({ fileId, branchId, locale })) ); downloadResult.files.forEach(file => { console.log(`Téléchargé ${file.locale} : ${file.fileName}`); }); ``` *** ## Remarques * Les fichiers sont renvoyés sous forme de chaînes UTF-8 * Utilisez [`queryFileData`](/docs/core/class/methods/translation/query-file-data) pour vérifier d’abord 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 d’un fichier individuel dans le lot n’entraîne pas l’échec de l’ensemble du lot ## Prochaines étapes * Voir [`downloadFile`](/docs/core/class/methods/translation/download-file) pour télécharger un seul fichier * Voir [`queryFileData`](/docs/core/class/methods/translation/query-file-data) pour vérifier que les fichiers sont prêts à être téléchargés * Voir [`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files) pour lancer des tâches de traduction