GT ClassMethodsTranslation

querySourceFile

API Reference für die Methode querySourceFile zum Abrufen von Informationen zur Quelldatei und zu Übersetzungen

Übersicht

Die Methode querySourceFile ruft umfassende Informationen zu einer Quelldatei und all ihren zugehörigen Übersetzungen ab. Dazu zählen Dateimetadaten, der Übersetzungsstatus über alle locales hinweg sowie Zeitstempel für Erstellung, Fertigstellung, Freigabe und Veröffentlichung.

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(`Quelldatei: ${result.sourceFile.fileName}`);
console.log(`Verfügbar in ${result.translations.length} Sprachversionen`);

Referenzen

Parameter

NameTypBeschreibung
dataFileQueryDateiabfrageobjekt, das angibt, welche Datei abgerufen werden soll
options?CheckFileTranslationsOptionsOptionale Konfiguration für die Anfrage

FileQuery

NameTypeBeschreibung
fileIdstringEindeutiger Bezeichner der Datei, die abgefragt werden soll
versionId?stringOptionale Versions-ID für die betreffende Dateiversion

CheckFileTranslationsOptions

NameTypBeschreibung
timeout?numberZeitüberschreitung der Anfrage in Millisekunden

Rückgabe

Promise<FileQueryResult> - Enthält Informationen zur Quelldatei und den Übersetzungsstatus für alle 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;
  }[];
}

Eigenschaften der Quelldatei

EigenschaftTypBeschreibung
idstringInterne Datenbank-ID
fileIdstringEindeutige Datei-ID
versionIdstringVersions-ID
sourceLocalestringQuellsprache (Locale)
fileNamestringUrsprünglicher Dateiname
fileFormatstringDateiformat (JSON, MD, MDX usw.)
dataFormatstring | nullDatenformat in der Datei (ICU, i18next, JSX)
createdAtstringISO-Zeitstempel der Dateierstellung
updatedAtstringISO-Zeitstempel der letzten Aktualisierung
approvalRequiredAtstring | nullISO-Zeitstempel der Genehmigungsanforderung
localesstring[]Liste der Ziel-Locales für diese Datei

Übersetzungseigenschaften

EigenschaftTypBeschreibung
localestringZiel-locale code
completedAtstring | nullISO-Zeitstempel des Abschlusses der Übersetzung
approvedAtstring | nullISO-Zeitstempel der Freigabe der Übersetzung
publishedAtstring | nullISO-Zeitstempel der Veröffentlichung der Übersetzung
createdAtstring | nullISO-Zeitstempel der Erstellung des Übersetzungsauftrags
updatedAtstring | nullISO-Zeitstempel der letzten Aktualisierung der Übersetzung

Beispiel

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('=== Informationen zur Quelldatei ===');
  console.log(`Name: ${result.sourceFile.fileName}`);
  console.log(`Format: ${result.sourceFile.fileFormat}`);
  console.log(`Ausgangssprache: ${result.sourceFile.sourceLocale}`);
  console.log(`Erstellt: ${new Date(result.sourceFile.createdAt).toLocaleString()}`);
  console.log(`Aktualisiert: ${new Date(result.sourceFile.updatedAt).toLocaleString()}`);
  
  console.log('\n=== Übersetzungsstatus ===');
  result.translations.forEach(translation => {
    console.log(`${translation.locale}:`);
    console.log(`  Erstellt: ${translation.createdAt ? new Date(translation.createdAt).toLocaleString() : 'Nicht gestartet'}`);
    console.log(`  Abgeschlossen: ${translation.completedAt ? new Date(translation.completedAt).toLocaleString() : 'In Bearbeitung'}`);
    console.log(`  Veröffentlicht: ${translation.publishedAt ? new Date(translation.publishedAt).toLocaleString() : 'Nicht veröffentlicht'}`);
  });
  
  return result;
}

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

Hinweise

  • Gibt die Quelldatei und den Übersetzungsstatus für alle Ziel-locales zurück
  • Übersetzungszeitstempel folgen dem Lebenszyklus: createdAtcompletedAtapprovedAtpublishedAt
  • Null-Zeitstempel bedeuten, dass diese Phase noch nicht erreicht wurde
  • Das locales-Array in der Quelldatei zeigt alle für die Übersetzung konfigurierten Ziel-locales
  • Verwenden Sie diese Methode für detaillierte Berichte, Fortschrittsverfolgung und Datei-Management-Workflows

Nächste Schritte

Wie ist diese Anleitung?