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
| Nome | Tipo | Descrizione |
|---|---|---|
files | FileUploadRef[] | Array di riferimenti a file caricati in precedenza |
options | EnqueueOptions | Opzioni di configurazione per l'attività di traduzione |
EnqueueOptions
| Nome | Tipo | Descrizione |
|---|---|---|
sourceLocale? | string | Locale di origine per la traduzione (predefinito: sourceLocale dell’istanza) |
targetLocales? | string[] | Elenco dei locali di destinazione per la traduzione (predefinito: targetLocale dell’istanza) |
publish? | boolean | Se pubblicare automaticamente le traduzioni al completamento |
requireApproval? | boolean | Se le traduzioni richiedono approvazione prima della pubblicazione |
modelProvider? | string | Provider del modello AI specifico da usare per la traduzione |
force? | boolean | Forza la ritraduzione anche se esistono già traduzioni |
timeout? | number | Timeout 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à | Tipo | Descrizione |
|---|---|---|
translations | CompletedFileTranslationData[] | Array di dati dei job di traduzione |
data | Record<string, { fileName: string; versionId: string }> | Mappa dagli identificatori dei file ai relativi metadati |
locales | string[] | Elenco delle lingue di destinazione per i job di traduzione |
message | string | Messaggio di stato dell'API |
Esempio
// (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
- Il contenuto dei file deve essere caricato innanzitutto tramite
uploadSourceFiles - I processi di traduzione sono asincroni: usa
checkFileTranslationsper monitorarne l’avanzamento
Prossimi passi
- Vedi
uploadSourceFilesper caricare i file prima di metterli in coda - Vedi
checkFileTranslationsper monitorare l’avanzamento delle traduzioni - Vedi
downloadTranslatedFileper scaricare le traduzioni completate
Come valuti questa guida?