GT ClassMethodsTranslation

enqueueFiles

Référence de l’API pour la méthode enqueueFiles, qui met en file d’attente des tâches de traduction de files

Vue d’ensemble

La méthode enqueueFiles place en file d’attente des tâches de traduction pour des fichiers précédemment téléversés via la General Translation API. Cette méthode prend 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 leur téléversement.

Références

Paramètres

NomTypeDescription
filesFileUploadRef[]Tableau de références de fichiers provenant de fichiers précédemment téléversés
optionsEnqueueOptionsOptions de configuration pour la tâche de traduction

EnqueueOptions

NomTypeDescription
sourceLocale?stringLocale source pour la traduction (par défaut : l’instance sourceLocale)
targetLocales?string[]Tableau de locales cibles pour la traduction (par défaut : l’instance targetLocale)
publish?booleanPublier automatiquement les traductions une fois terminées
requireApproval?booleanExiger une approbation des traductions avant leur publication
modelProvider?stringFournisseur de modèle d’IA à utiliser pour la traduction
force?booleanForcer la retraduction même si des traductions existent déjà
timeout?numberDé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éTypeDescription
translationsCompletedFileTranslationData[]Tableau des données de tâches de traduction
dataRecord<string, { fileName: string; versionId: string }>Association des identifiants de fichier à leurs métadonnées
localesstring[]Liste des locales cibles pour les tâches de traduction
messagestringMessage d’état renvoyé par l’API

Exemple

index.ts
// (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 le job de traduction du fichier
const enqueueResult = await gt.enqueueFiles(
  uploadedFiles,
  {
  sourceLocale: 'en',
  targetLocales: targetLocales,
});

// (4) Attendre la fin de toutes les traductions
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 files doit d’abord être téléversé à l’aide de uploadSourceFiles
  • Les tâches de traduction sont asynchrones ; utilisez checkFileTranslations pour en suivre l’avancement

Prochaines étapes

Comment trouvez-vous ce guide ?