# 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