# generaltranslation: General Translation Core SDK: enqueueFiles
URL: https://generaltranslation.com/fr/docs/core/class/methods/translation/enqueue-files.mdx
---
title: enqueueFiles
description: Référence de l’API pour la méthode enqueueFiles, qui met en file d’attente des tâches de traduction de fichiers
---
## Vue d’ensemble
La méthode `enqueueFiles` met en file d’attente des tâches de traduction pour des fichiers source précédemment envoyés.
Cette méthode prend des références de fichiers et crée des tâches de traduction pour les paramètres régionaux cibles spécifiés.
```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']
});
```
Vous ne pouvez mettre des fichiers en file d’attente pour la traduction qu’après les avoir téléversés.
## Référence
### Paramètres
| Nom | Type | Description |
| --------- | -------------------- | ------------------------------------------------------------- |
| `files` | `FileReferenceIds[]` | Tableau d’ID de référence de fichiers précédemment téléversés |
| `options` | `EnqueueOptions` | Options de configuration de la tâche de traduction |
#### Structure de FileReferenceIds
```typescript
type FileReferenceIds = {
fileId: string;
versionId: string;
branchId?: string;
fileName?: string;
fileFormat?: FileFormat;
dataFormat?: DataFormat;
}
```
| Nom | Type | Description |
| ------------- | ------------ | ------------------------------------------------------ |
| `fileId` | `string` | Identifiant unique du fichier |
| `versionId` | `string` | Identifiant de version |
| `branchId?` | `string` | Identifiant de branche (optionnel) |
| `fileName?` | `string` | Nom du fichier (optionnel) |
| `fileFormat?` | `FileFormat` | Format du fichier (JSON, MD, etc.) |
| `dataFormat?` | `DataFormat` | Format des données dans le fichier (ICU, I18NEXT, JSX) |
#### EnqueueOptions
| Nom | Type | Description |
| ------------------ | ---------- | -------------------------------------------------------------------------------------- |
| `sourceLocale?` | `string` | Paramètre régional source de la traduction (par défaut, le sourceLocale de l’instance) |
| `targetLocales` | `string[]` | Liste des paramètres régionaux cibles pour la traduction |
| `requireApproval?` | `boolean` | Indique si les traductions doivent être approuvées avant leur publication |
| `modelProvider?` | `string` | Fournisseur du modèle d’IA à utiliser pour la traduction |
| `force?` | `boolean` | Force une nouvelle traduction même si des traductions existent déjà |
| `timeout?` | `number` | Délai d’expiration de la requête, en millisecondes |
### Valeur renvoyée
`Promise` - Contient les informations sur la tâche ainsi que les détails du 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[];
message: string;
}
```
| Propriété | Type | Description |
| --------- | ------------------------ | ------------------------------------------------------------------------------------------------------------ |
| `jobData` | `Record` | Enregistrement indexé par ID de tâche, où chaque valeur contient des informations sur la tâche de traduction |
| `locales` | `string[]` | Liste des paramètres régionaux cibles pour les tâches de traduction |
| `message` | `string` | Message d’état renvoyé par l’API |
***
## Exemple
```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) Envoyer 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(`Tâche de traduction créée : ${enqueueResult.jobId}`);
// (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
}))
);
```
***
## Remarques
* Le contenu du fichier doit d’abord être importé à l’aide de [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files)
* Les tâches de traduction sont asynchrones - utilisez [`queryFileData`](/docs/core/class/methods/translation/query-file-data) pour suivre leur progression
* Les références de fichier incluent `branchId` pour un versioning correct avec la prise en charge des branches
## Étapes suivantes
* Voir [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files) pour importer des fichiers avant de les mettre en file d’attente
* Voir [`queryFileData`](/docs/core/class/methods/translation/query-file-data) pour suivre l’avancement de la traduction
* Voir [`downloadFile`](/docs/core/class/methods/translation/download-file) pour récupérer les traductions finalisées
* Voir [`checkJobStatus`](/docs/core/class/methods/translation/check-job-status) pour vérifier l’état de la tâche