GT ClassMethodsTranslation

querySourceFile

Referencia de API del método querySourceFile para obtener información del archivo fuente y de las traducciones

Descripción general

El método querySourceFile obtiene información detallada sobre un archivo fuente y todas sus traducciones asociadas. Incluye los metadatos del archivo, el estado de traducción en todos los locales y las marcas de tiempo de creación, finalización, aprobación y publicación.

const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' });

const result = await gt.querySourceFile({
  fileId: 'file-123',
  versionId: 'version-456'
});

console.log(`Archivo fuente: ${result.sourceFile.fileName}`);
console.log(`Disponible en ${result.translations.length} locales`);

Referencias

Parámetros

NombreTipoDescripción
dataFileQueryObjeto de consulta de archivos que especifica qué archivo obtener
options?CheckFileTranslationsOptionsConfiguración opcional de la solicitud

FileQuery

NombreTipoDescripción
fileIdstringIdentificador único del archivo que se va a consultar
versionId?stringID de versión opcional para una versión específica del archivo

CheckFileTranslationsOptions

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

Devuelve

Promise<FileQueryResult> - Contiene información del archivo de origen y el estado de traducción para todas las locales.

type FileQueryResult = {
  sourceFile: {
    id: string;
    fileId: string;
    versionId: string;
    sourceLocale: string;
    fileName: string;
    fileFormat: string;
    dataFormat: string | null;
    createdAt: string;
    updatedAt: string;
    approvalRequiredAt: string | null;
    locales: string[];
  };
  translations: {
    locale: string;
    completedAt: string | null;
    approvedAt: string | null;
    publishedAt: string | null;
    createdAt: string | null;
    updatedAt: string | null;
  }[];
}

Propiedades del archivo fuente

PropiedadTipoDescripción
idstringID interno de la base de datos
fileIdstringIdentificador único del archivo
versionIdstringIdentificador de la versión
sourceLocalestringLocale del idioma de origen
fileNamestringNombre del archivo original
fileFormatstringFormato de archivo (JSON, MD, MDX, etc.)
dataFormatstring | nullFormato de datos dentro del archivo (ICU, I18NEXT, JSX)
createdAtstringMarca de tiempo ISO de la creación del archivo
updatedAtstringMarca de tiempo ISO de la última actualización
approvalRequiredAtstring | nullMarca de tiempo ISO cuando se solicitó la aprobación
localesstring[]Lista de locales de destino para este archivo

Propiedades de la traducción

PropiedadTipoDescripción
localestringCódigo de configuración regional de destino
completedAtstring | nullMarca de tiempo ISO de finalización de la traducción
approvedAtstring | nullMarca de tiempo ISO de aprobación de la traducción
publishedAtstring | nullMarca de tiempo ISO de publicación de la traducción
createdAtstring | nullMarca de tiempo ISO de creación de la tarea de traducción
updatedAtstring | nullMarca de tiempo ISO de la última actualización de la traducción

Ejemplo

index.ts
import { GT } from 'generaltranslation';

const gt = new GT({
  projectId: 'your-project-id',
  apiKey: 'your-api-key'
});

async function getFileInfo(fileId: string, versionId?: string) {
  const result = await gt.querySourceFile({
    fileId,
    versionId
  });
  
  console.log('=== Información del Archivo Fuente ===');
  console.log(`Nombre: ${result.sourceFile.fileName}`);
  console.log(`Formato: ${result.sourceFile.fileFormat}`);
  console.log(`Idioma de Origen: ${result.sourceFile.sourceLocale}`);
  console.log(`Creado: ${new Date(result.sourceFile.createdAt).toLocaleString()}`);
  console.log(`Actualizado: ${new Date(result.sourceFile.updatedAt).toLocaleString()}`);
  
  console.log('\n=== Estado de las Traducciones ===');
  result.translations.forEach(translation => {
    console.log(`${translation.locale}:`);
    console.log(`  Creado: ${translation.createdAt ? new Date(translation.createdAt).toLocaleString() : 'No iniciado'}`);
    console.log(`  Completado: ${translation.completedAt ? new Date(translation.completedAt).toLocaleString() : 'En progreso'}`);
    console.log(`  Publicado: ${translation.publishedAt ? new Date(translation.publishedAt).toLocaleString() : 'No publicado'}`);
  });
  
  return result;
}

const fileInfo = await getFileInfo('file-123', 'version-456');

Notas

  • Devuelve el archivo fuente y el estado de traducción para todas las locales de destino
  • Las marcas de tiempo de traducción siguen el ciclo de vida: createdAtcompletedAtapprovedAtpublishedAt
  • Las marcas de tiempo null indican que esa etapa aún no se ha alcanzado
  • El array locales en el archivo fuente muestra todas las locales de destino configuradas para la traducción
  • Usa este método para generar informes detallados, hacer seguimiento del progreso y gestionar flujos de trabajo de archivos

Próximos pasos

¿Qué te ha parecido esta guía?

querySourceFile