GT ClassMethodsTranslation

querySourceFile

Riferimento API per il metodo querySourceFile che restituisce informazioni sul file sorgente e sulle traduzioni

Panoramica

Il metodo querySourceFile recupera informazioni dettagliate su un file sorgente e su tutte le traduzioni a esso associate. Include i metadati del file, lo stato delle traduzioni per tutte le lingue e le date/ore di creazione, completamento, approvazione e pubblicazione.

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(`File sorgente: ${result.sourceFile.fileName}`);
console.log(`Disponibile in ${result.translations.length} lingue/locale`);

Riferimenti

Parametri

NomeTipoDescrizione
dataFileQueryOggetto di query del file che specifica quale file recuperare
options?CheckFileTranslationsOptionsConfigurazione opzionale della richiesta

FileQuery

NomeTipoDescrizione
fileIdstringIdentificatore univoco del file da consultare
versionId?stringID versione facoltativo per una specifica versione del file

CheckFileTranslationsOptions

NomeTipoDescrizione
timeout?numberTimeout della richiesta in millisecondi

Restituisce

Promise<FileQueryResult> - Contiene le informazioni sul file sorgente e lo stato della traduzione per tutte le lingue/localizzazioni.

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;
  }[];
}

Proprietà del file sorgente

ProprietàTipoDescrizione
idstringID interno del database
fileIdstringIdentificatore univoco del file
versionIdstringIdentificatore della versione
sourceLocalestringLocale della lingua di origine
fileNamestringNome del file originale
fileFormatstringFormato del file (JSON, MD, MDX, ecc.)
dataFormatstring | nullFormato dei dati nel file (ICU, I18NEXT, JSX)
createdAtstringTimestamp ISO di creazione del file
updatedAtstringTimestamp ISO dell’ultimo aggiornamento
approvalRequiredAtstring | nullTimestamp ISO della richiesta di approvazione
localesstring[]Elenco dei locale di destinazione per questo file

Proprietà della traduzione

ProprietàTipoDescrizione
localestringCodice della lingua/locale di destinazione
completedAtstring | nullTimestamp ISO di completamento della traduzione
approvedAtstring | nullTimestamp ISO di approvazione della traduzione
publishedAtstring | nullTimestamp ISO di pubblicazione della traduzione
createdAtstring | nullTimestamp ISO di creazione del job di traduzione
updatedAtstring | nullTimestamp ISO dell’ultimo aggiornamento della traduzione

Esempio

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('=== Informazioni sul file di origine ===');
  console.log(`Nome: ${result.sourceFile.fileName}`);
  console.log(`Formato: ${result.sourceFile.fileFormat}`);
  console.log(`Locale di origine: ${result.sourceFile.sourceLocale}`);
  console.log(`Creato: ${new Date(result.sourceFile.createdAt).toLocaleString()}`);
  console.log(`Aggiornato: ${new Date(result.sourceFile.updatedAt).toLocaleString()}`);
  
  console.log('\n=== Stato delle traduzioni ===');
  result.translations.forEach(translation => {
    console.log(`${translation.locale}:`);
    console.log(`  Creata: ${translation.createdAt ? new Date(translation.createdAt).toLocaleString() : 'Non avviata'}`);
    console.log(`  Completata: ${translation.completedAt ? new Date(translation.completedAt).toLocaleString() : 'In corso'}`);
    console.log(`  Pubblicata: ${translation.publishedAt ? new Date(translation.publishedAt).toLocaleString() : 'Non pubblicata'}`);
  });
  
  return result;
}

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

Note

  • Restituisce il file sorgente e lo stato della traduzione per tutte le lingue di destinazione
  • I timestamp di traduzione seguono questo ciclo di vita: createdAtcompletedAtapprovedAtpublishedAt
  • I timestamp null indicano che quella fase non è stata ancora raggiunta
  • L'array locales nel file sorgente mostra tutte le lingue di destinazione configurate per la traduzione
  • Usa questo metodo per report dettagliati, monitoraggio dell’avanzamento e workflow di gestione dei file

Prossimi passaggi

Come valuti questa guida?

querySourceFile