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
| Nombre | Tipo | Descripción | 
|---|---|---|
| file | FileInfo | Objeto con la información del archivo que especifica qué archivo descargar | 
| options? | DownloadFileOptions | Configuración opcional para la solicitud de descarga | 
Estructura de FileInfo
| Nombre | Tipo | Descripción | 
|---|---|---|
| fileId | string | Identificador único del archivo que se va a descargar | 
| locale | string | locale de destino de la traducción a descargar | 
| versionId? | string | versionId opcional para el archivo | 
DownloadFileOptions
| Nombre | Tipo | Descripción | 
|---|---|---|
| timeout? | number | Tiempo 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
// (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
- Consulta checkFileTranslationspara verificar el estado de las traducciones antes de descargar
- Consulta downloadFileBatchpara descargar varios archivos de forma eficiente
- Consulta uploadSourceFilespara conocer el proceso de subida de archivos
- Consulta enqueueFilespara iniciar trabajos de traducción
¿Qué te ha parecido esta guía?

