GT ClassMethodsTranslation

checkFileTranslations

Referencia de API del método checkFileTranslations para verificar el estado de las traducciones sin descargar archivos

Descripción general

El método checkFileTranslations verifica el estado de traducción de los archivos sin descargar su contenido. Esto resulta útil para monitorear el progreso de la traducción, comprobar el estado 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'
  }
]);

Referencias

Parámetros

NombreTipoDescripción
dataFileTranslationQuery[]Matriz de consultas de traducción de archivos para comprobar
options?CheckFileTranslationsOptionsConfiguración opcional de la solicitud

FileTranslationQuery

NombreTipoDescripción
versionIdstringID de versión del archivo que se desea comprobar
fileName?stringIdentificador del nombre de archivo (obligatorio si no se proporciona fileId)
fileId?stringIdentificador del ID del archivo (obligatorio si no se proporciona fileName)
localestringLocale de destino para comprobar el estado de la traducción

CheckFileTranslationsOptions

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

Valores de retorno

Promise<CheckFileTranslationsResult> - Contiene información sobre el estado de las traducciones.

type CheckFileTranslationsResult = {
  translations: CompletedFileTranslationData[];
}
PropiedadTipoDescripción
translationsCompletedFileTranslationData[]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

Comprueba el estado de la traducción para archivos y locales específicos:

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));
}

Notas

  • El estado de la traducción incluye los estados pending, completed y failed
  • Las traducciones completadas pueden requerir aprobación antes de publicarse
  • Use este método para comprobar el estado de forma eficiente al monitorear múltiples trabajos de traducción

Próximos pasos

¿Qué te ha parecido esta guía?

checkFileTranslations