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
| Nombre | Tipo | Descripción | 
|---|---|---|
| files | FileUploadRef[] | Matriz de referencias de archivos de cargas anteriores | 
| options | EnqueueOptions | options de configuración para el trabajo de traducción | 
EnqueueOptions
| Nombre | Tipo | Descripción | 
|---|---|---|
| sourceLocale? | string | Locale 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? | boolean | Publicar automáticamente las traducciones cuando estén completas | 
| requireApproval? | boolean | Requiere aprobación de las traducciones antes de publicarlas | 
| modelProvider? | string | Proveedor de modelo de IA específico para la traducción | 
| force? | boolean | Forzar la retraducción incluso si las traducciones ya existen | 
| timeout? | number | Tiempo 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;
}| Propiedad | Tipo | Descripción | 
|---|---|---|
| translations | CompletedFileTranslationData[] | Matriz de datos de trabajos de traducción | 
| data | Record<string, { fileName: string; versionId: string }> | Mapa de identificadores de archivo a metadatos del archivo | 
| locales | string[] | Lista de locales de destino para los trabajos de traducción | 
| message | string | Mensaje de estado de la API | 
Ejemplo
// (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
- Primero debes subir el contenido del archivo con uploadSourceFiles
- Los trabajos de traducción son asíncronos: usa checkFileTranslationspara seguir el progreso
Próximos pasos
- Consulta uploadSourceFilespara subir archivos antes de ponerlos en la cola
- Consulta checkFileTranslationspara monitorear el progreso de la traducción
- Consulta downloadTranslatedFilepara descargar las traducciones completadas
¿Qué te ha parecido esta guía?

