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
| Nombre | Tipo | Descripción |
|---|---|---|
file | FileInfo | Objeto de información del archivo que indica qué archivo descargar |
options? | DownloadFileOptions | Configuración opcional para la solicitud de descarga |
Estructura de FileInfo
| Name | Type | Descripción |
|---|---|---|
fileId | string | Identificador único del archivo para descargar |
locale | string | locale de destino de la traducción a descargar |
versionId? | string | ID de versión opcional del archivo |
DownloadFileOptions
| Nombre | Tipo | Descripción |
|---|---|---|
timeout? | number | Tiempo 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
// (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
- Consulta
checkFileTranslationspara verificar el estado de las traducciones antes de descargar - Consulta
downloadFileBatchpara descargar varios files de forma eficiente - Consulta
uploadSourceFilespara el proceso de carga de files - Consulta
enqueueFilespara iniciar tareas de traducción
¿Qué te parece esta guía?