GT ClassMethodsTranslation

enqueueFiles

Riferimento API per il metodo enqueueFiles per mettere in coda job di traduzione dei file

Panoramica

Il metodo enqueueFiles mette in coda attività di traduzione per i file precedentemente caricati nell’API di General Translation. Questo metodo accetta riferimenti ai file e crea attività di traduzione per le lingue di destinazione specificate.

const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' });

const result = await gt.enqueueFiles(fileRefs, {
  sourceLocale: 'en',
  targetLocales: ['es', 'fr', 'de']
});

Puoi accodare i file per la traduzione solo dopo averli caricati.

Riferimenti

Parametri

NomeTipoDescrizione
filesFileUploadRef[]Array di riferimenti a file caricati in precedenza
optionsEnqueueOptionsOpzioni di configurazione per l'attività di traduzione

EnqueueOptions

NomeTipoDescrizione
sourceLocale?stringLocale di origine per la traduzione (predefinito: sourceLocale dell’istanza)
targetLocales?string[]Elenco dei locali di destinazione per la traduzione (predefinito: targetLocale dell’istanza)
publish?booleanSe pubblicare automaticamente le traduzioni al completamento
requireApproval?booleanSe le traduzioni richiedono approvazione prima della pubblicazione
modelProvider?stringProvider del modello AI specifico da usare per la traduzione
force?booleanForza la ritraduzione anche se esistono già traduzioni
timeout?numberTimeout della richiesta in millisecondi

Restituisce

Promise<EnqueueFilesResult> - Include informazioni sul processo e dettagli di elaborazione.

type EnqueueFilesResult = {
  translations: CompletedFileTranslationData[];
  data: Record<string, { fileName: string; versionId: string }>;
  locales: string[];
  message: string; // Messaggio di stato API
}
ProprietàTipoDescrizione
translationsCompletedFileTranslationData[]Array di dati dei job di traduzione
dataRecord<string, { fileName: string; versionId: string }>Mappa dagli identificatori dei file ai relativi metadati
localesstring[]Elenco delle lingue di destinazione per i job di traduzione
messagestringMessaggio di stato dell'API

Esempio

index.ts
// (1) Crea un'istanza di GT
const targetLocales = ['es', 'fr', 'de'];
const gt = new GT({
  projectId: 'your-project-id',
  apiKey: 'your-api-key',
});

// (2) Carica il file
const fileUpload = {
  content: fileContents,
  fileName: filePath,
  fileFormat: 'JSON',
  locale: 'en',
};
const files = [ { source: fileUpload } ];
const { uploadedFiles } = await gt.uploadSourceFiles(
  files,
  { sourceLocale: 'en' }
);

// (3) Inserisci in coda il job di traduzione del file
const enqueueResult = await gt.enqueueFiles(
  uploadedFiles,
  {
  sourceLocale: 'en',
  targetLocales: targetLocales,
});

// (4) Attendi il completamento di tutte le traduzioni
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) Scarica il file
const result = await gt.downloadFileBatch(translationIds);

Note

Prossimi passi

Come valuti questa guida?

enqueueFiles