GT ClassMethodsTranslation

enqueueFiles

Referencia de API del método enqueueFiles para poner en cola trabajos de traducción de archivos

Descripción general

El método enqueueFiles pone en cola trabajos de traducción para archivos previamente subidos en la General Translation API. Este método recibe referencias de archivos y crea trabajos de traducción para las locales de destino especificadas.

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

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

Solo puedes poner archivos en cola para traducción después de haberlos subido.

Referencias

Parámetros

NombreTipoDescripción
filesFileUploadRef[]Matriz de referencias de archivos de cargas anteriores
optionsEnqueueOptionsoptions de configuración para el trabajo de traducción

EnqueueOptions

NombreTipoDescripción
sourceLocale?stringLocale de origen para la traducción (de forma predeterminada, el sourceLocale de la instancia)
targetLocales?string[]Arreglo de locales de destino para la traducción (de forma predeterminada, el targetLocale de la instancia)
publish?booleanPublicar automáticamente las traducciones cuando estén completas
requireApproval?booleanRequiere aprobación de las traducciones antes de publicarlas
modelProvider?stringProveedor de modelo de IA específico para la traducción
force?booleanForzar la retraducción incluso si las traducciones ya existen
timeout?numberTiempo de espera de la solicitud en milisegundos

Devuelve

Promise<EnqueueFilesResult> - Contiene información del job y detalles del procesamiento.

type EnqueueFilesResult = {
  translations: CompletedFileTranslationData[];
  data: Record<string, { fileName: string; versionId: string }>;
  locales: string[];
  message: string;
}
PropiedadTipoDescripción
translationsCompletedFileTranslationData[]Matriz de datos de trabajos de traducción
dataRecord<string, { fileName: string; versionId: string }>Mapa de identificadores de archivo a metadatos del archivo
localesstring[]Lista de locales de destino para los trabajos de traducción
messagestringMensaje de estado de la API

Ejemplo

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

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

// (3) Encolar el trabajo de traducción del archivo
const enqueueResult = await gt.enqueueFiles(
  uploadedFiles,
  {
  sourceLocale: 'en',
  targetLocales: targetLocales,
});

// (4) Esperar a que se completen todas las traducciones
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) Descargar el archivo
const result = await gt.downloadFileBatch(translationIds);

Notas

Próximos pasos

¿Qué te ha parecido esta guía?

enqueueFiles