downloadFileBatch
Référence de l’API pour la méthode downloadFileBatch, qui permet de télécharger plusieurs fichiers de traduction en une seule requête
Présentation
La méthode downloadFileBatch télécharge plusieurs fichiers de traduction en une seule requête groupée.
const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' });
const result = await gt.downloadFileBatch([
  'translation-id-1', 
  'translation-id-2', 
  'translation-id-3'
]);Efficacité par lots :
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 à downloadTranslatedFile.
Références
Paramètres
| Nom | Type | Description | 
|---|---|---|
| fileIds | string[] | Tableau d’ID de fichiers de traduction à télécharger | 
| options? | DownloadFileBatchOptions | Configuration facultative de la requête de téléchargement | 
DownloadFileBatchOptions
| Nom | Type | Description | 
|---|---|---|
| timeout? | number | Délai d’attente de la requête, en millisecondes | 
Renvoie
Promise<DownloadFileBatchResult> — Contient les fichiers téléchargés et leurs métadonnées.
type DownloadFileBatchResult = {
  files: File[];
  count: number;
}| Propriété | Type | Description | 
|---|---|---|
| files | File[] | Tableau d’objets fichier téléchargés | 
| count | number | Nombre de fichiers téléchargés avec succès | 
Structure de fichiers
type File = {
  id: string;
  fileName: string;
  data: string;
  metadata: any;
}| Propriété | Type | Description | 
|---|---|---|
| id | string | ID du fichier de traduction | 
| fileName | string | Nom du fichier d’origine | 
| data | string | Contenu du fichier sous forme de chaîne UTF-8 (décodé à partir de Base64) | 
| metadata | any | Métadonnées supplémentaires du fichier | 
Exemples
// (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,
});
// (4) Attendre que toutes les traductions soient terminées
let translationIds = [];
const statusQuery = Object.values(enqueueResult.data).flatMap(({fileName, versionId}) => {
  return targetLocales.map((locale) => ({locale, fileName, versionId}));
});
while (true) {
  const status = await gt.checkFileTranslations(statusQuery);
  if (status.translations.length === statusQuery.length) {
    translationIds = status.translations.map(translation => translation.id);
    break;
  }
  await new Promise(resolve => setTimeout(resolve, 1000));
}
// (5) Télécharger le fichier
const result = await gt.downloadFileBatch(translationIds);Notes
- Les ID de fichier doivent être des ID de traduction valides — utilisez checkFileTranslationspour vérifier d’abord l’état d’achèvement
- Les fichiers sont renvoyés dans le même ordre que les ID demandés lorsque c’est possible
- L’échec du téléchargement d’un fichier individuel dans le lot ne fait pas échouer tout le lot
Prochaines étapes
- Consultez downloadTranslatedFilepour télécharger un fichier unique
- Consultez checkFileTranslationspour vérifier que les fichiers sont prêts au téléchargement
- Consultez enqueueFilespour lancer des tâches de traduction
- Consultez fetchTranslationspour récupérer les métadonnées de traduction
Que pensez-vous de ce guide ?

