enqueueFiles
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 préalablement téléversés via la General Translation API.
Cette méthode reçoit des références de fichiers et crée des tâches de traduction pour les locales cibles spécifiées.
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 traduction qu’après les avoir téléversés.
Références
Paramètres
| Nom | Type | Description | 
|---|---|---|
| files | FileUploadRef[] | Tableau de références de fichiers issus de téléchargements précédents | 
| options | EnqueueOptions | Options de configuration pour la tâche de traduction | 
EnqueueOptions
| Nom | Type | Description | 
|---|---|---|
| sourceLocale? | string | Locale source pour la traduction (par défaut : sourceLocale de l’instance) | 
| targetLocales? | string[] | Tableau des locales cibles pour la traduction (par défaut : targetLocale de l’instance) | 
| publish? | boolean | Publier automatiquement les traductions une fois terminées | 
| requireApproval? | boolean | Exiger une approbation des traductions avant la publication | 
| modelProvider? | string | Fournisseur de modèle d’IA spécifique à utiliser pour la traduction | 
| force? | boolean | Forcer la retraduction même si des traductions existent déjà | 
| timeout? | number | Délai d’attente de la requête (en millisecondes) | 
Renvoie
Promise<EnqueueFilesResult> - Contient des informations sur le job et des détails de traitement.
type EnqueueFilesResult = {
  translations: CompletedFileTranslationData[];
  data: Record<string, { fileName: string; versionId: string }>;
  locales: string[];
  message: string;
}| Propriété | Type | Description | 
|---|---|---|
| translations | CompletedFileTranslationData[] | Tableau des données des tâches de traduction | 
| data | Record<string, { fileName: string; versionId: string }> | Association des identifiants de fichiers à leurs métadonnées | 
| locales | string[] | Liste des locales cibles pour les tâches de traduction | 
| message | string | Message d’état renvoyé par l’API | 
Exemple
// (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);Remarques
- Le contenu des fichiers doit d’abord être téléversé à l’aide de uploadSourceFiles
- Les tâches de traduction sont asynchrones : utilisez checkFileTranslationspour suivre l’avancement
Prochaines étapes
- Consultez uploadSourceFilespour envoyer les fichiers avant leur mise en file d’attente
- Consultez checkFileTranslationspour suivre l’avancement des traductions
- Consultez downloadTranslatedFilepour récupérer les traductions terminées
Que pensez-vous de ce guide ?

