GT ClassMethodsTranslation

downloadTranslatedFile

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

Descripción general

El método downloadTranslatedFile descarga el contenido de un único archivo traducido como una cadena UTF-8. Este método se utiliza para recuperar traducciones completadas 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 finalizadas. Usa checkFileTranslations primero para confirmar que las traducciones estén finalizadas antes de intentar descargarlas.

Referencias

Parámetros

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

Estructura de FileInfo

NombreTipoDescripción
fileIdstringIdentificador único del archivo que se va a descargar
localestringlocale de destino de la traducción a descargar
versionId?stringversionId opcional para el archivo

DownloadFileOptions

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

Devuelve

Promise<string> - El contenido del archivo traducido como una cadena en 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) 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 Promise.all(
  translationIds.map(id => gt.downloadTranslatedFile(id))
);

Notas

  • Recupera el archivo descargado como una cadena UTF-8
  • El archivo debe tener una traducción completa para la locale especificada
  • Produce un error si no se encuentra el archivo

Próximos pasos

¿Qué te ha parecido esta guía?

downloadTranslatedFile