GT ClassMethodsTranslation

enqueueFiles

Referencia de API del método enqueueFiles para encolar trabajos de traducción de files

Descripción general

El método enqueueFiles pone en cola trabajos de traducción para files previamente cargados en la General Translation API. Este método toma referencias de files 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 en cola files para traducción después de haberlas subido.

Referencias

Parámetros

NameTypeDescripción
filesFileUploadRef[]Arreglo de referencias a files cargados previamente
optionsEnqueueOptionsoptions de configuración para el trabajo de traducción

EnqueueOptions

NombreTipoDescripción
sourceLocale?stringLocale de origen para la traducción (por defecto: el sourceLocale de la instancia)
targetLocales?string[]Matriz de locales de destino para la traducción (por defecto: el targetLocales de la instancia)
publish?booleanSi publicar automáticamente las traducciones al completarse
requireApproval?booleanSi las traducciones requieren aprobación antes de publicarse
modelProvider?stringProveedor de modelo de IA específico a usar para la traducción
force?booleanForzar la retraducción aunque ya existan traducciones
timeout?numberTiempo de espera de la solicitud en milisegundos

Devuelve

Promise<EnqueueFilesResult> - Contiene información de la tarea 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 de 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) Cargar 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 parece esta guía?