checkFileTranslations
Referencia de API del método checkFileTranslations para consultar el estado de las traducciones sin descargar files
Descripción general
El método checkFileTranslations comprueba el estado de traducción de files sin descargar su contenido.
Es útil para monitorear el progreso de traducción, verificar el grado de finalización y determinar qué traducciones están disponibles.
const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' });
const status = await gt.checkFileTranslations([
{
versionId: 'version-123',
fileName: 'app.json',
locale: 'es'
}
]);Referencia
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
data | FileTranslationQuery[] | Matriz de consultas de traducción de archivos para comprobar |
options? | CheckFileTranslationsOptions | Configuración opcional de la solicitud |
FileTranslationQuery
| Nombre | Tipo | Descripción |
|---|---|---|
versionId | string | ID de la versión del archivo a comprobar |
fileName? | string | Identificador del nombre de archivo (obligatorio si no se proporciona fileId) |
fileId? | string | Identificador del ID del archivo (obligatorio si no se proporciona fileName) |
locale | string | Locale de destino para comprobar el estado de la traducción |
CheckFileTranslationsOptions
| Nombre | Tipo | Descripción |
|---|---|---|
timeout? | number | Tiempo de espera de la solicitud en milisegundos |
Devuelve
Promise<CheckFileTranslationsResult> - Contiene información sobre el estado de las traducciones.
type CheckFileTranslationsResult = {
translations: CompletedFileTranslationData[];
}| Propiedad | Tipo | Descripción |
|---|---|---|
translations | CompletedFileTranslationData[] | Matriz de datos de estado de traducción |
Estructura de CompletedFileTranslationData
type CompletedFileTranslationData = {
id: string;
fileId: string;
versionId: string;
fileName: string;
locale: string;
status: 'completed' | 'pending' | 'failed';
completedAt: string | null;
approvedAt: string | null;
publishedAt: string | null;
createdAt: string;
updatedAt: string;
}Ejemplos
Uso básico
Consulta el estado de la traducción para files y locales específicos:
// (1) Crear una instancia de GT
const targetLocales = ['es', 'fr', 'de'];
const gt = new GT({
projectId: 'your-project-id',
apiKey: 'your-api-key',
});
// (2) Cargar 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));
}Notas
- El estado de la traducción incluye los estados
pending,completedyfailed - Las traducciones completadas pueden requerir aprobación antes de publicarse
- Usa este método para comprobar el estado de forma eficiente al supervisar múltiples trabajos de traducción
Próximos pasos
- Consulta la Guía rápida para ver un ejemplo completo de cómo usar este método
- Consulta
downloadTranslatedFilepara descargar traducciones terminadas - Consulta
enqueueFilespara crear tareas de traducción - Consulta
querySourceFilepara obtener información del archivo de origen y de la traducción
¿Qué te parece esta guía?