GT ClassMethodsTranslation

downloadTranslatedFile

Referencia de API del método downloadTranslatedFile para descargar files de traducción completados

Descripción general

El método downloadTranslatedFile descarga el contenido de un único archivo traducido como una cadena codificada en UTF-8. Este método se utiliza para obtener traducciones finalizadas después de que hayan sido procesadas por la plataforma de General Translation.

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

const content = await gt.downloadTranslatedFile({
  fileId: 'file-123',
  locale: 'es',
  versionId: 'version-456'
});

Estado de la traducción: Este método solo funciona con traducciones completadas. Usa primero checkFileTranslations para verificar que las traducciones estén completadas antes de intentar descargarlas.

Referencias

Parámetros

NombreTipoDescripción
fileFileInfoObjeto de información del archivo que indica qué archivo descargar
options?DownloadFileOptionsConfiguración opcional para la solicitud de descarga

Estructura de FileInfo

NameTypeDescripción
fileIdstringIdentificador único del archivo para descargar
localestringlocale de destino de la traducción a descargar
versionId?stringID de versión opcional del archivo

DownloadFileOptions

NombreTipoDescripción
timeout?numberTiempo de espera de la petición en milisegundos

Devoluciones

Promise<string> - El contenido del archivo traducido como una cadena UTF-8.

La cadena devuelta contiene el contenido del archivo traducido en el mismo formato que el archivo fuente original, con todo el texto traducible convertido al locale de destino.


Ejemplo

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

// (2) Carga 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) Encola la tarea de traducción del archivo
const enqueueResult = await gt.enqueueFiles(
  uploadedFiles,
  {
  sourceLocale: 'en',
  targetLocales: targetLocales,
});

// (4) Espera a que finalicen 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) Descarga el archivo
const result = await Promise.all(
  translationIds.map(id => gt.downloadTranslatedFile(id))
);

Notas

  • Recupera el archivo descargado como una cadena en UTF-8
  • El archivo debe tener una traducción completa para el locale especificado
  • Fallará si no se encuentra el archivo

Próximos pasos

¿Qué te parece esta guía?