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 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

NomTypeDescription
filesFileUploadRef[]Tableau de références de fichiers issus de téléchargements précédents
optionsEnqueueOptionsOptions de configuration pour la tâche de traduction

EnqueueOptions

NomTypeDescription
sourceLocale?stringLocale 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?booleanPublier automatiquement les traductions une fois terminées
requireApproval?booleanExiger une approbation des traductions avant la publication
modelProvider?stringFournisseur de modèle d’IA spécifique à 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 des tâches de traduction
dataRecord<string, { fileName: string; versionId: string }>Association des identifiants de fichiers à 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 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 checkFileTranslations pour suivre l’avancement

Prochaines étapes

Que pensez-vous de ce guide ?

enqueueFiles