GT ClassMethodsTranslation

querySourceFile

API-Referenz zur Methode querySourceFile, um Informationen zur Quelldatei und zu Übersetzungen abzurufen

Ü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, Abschluss, Genehmigung 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} Sprachen`);

Referenz

Parameter

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

FileQuery

NameTypBeschreibung
fileIdstringEindeutige Kennung der Datei, die abgefragt werden soll
versionId?stringOptionale Versions-ID für die gewünschte Dateiversion

CheckFileTranslationsOptions

NameTypeBeschreibung
timeout?numberZeitüberschreitung für Anfragen in Millisekunden

Rückgabewert

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
sourceLocalestringQuell-Locale der Sprache
fileNamestringUrsprünglicher Dateiname
fileFormatstringDateiformat (JSON, MD, MDX usw.)
dataFormatstring | nullDatenformat innerhalb der Datei (ICU, I18NEXT, JSX)
createdAtstringISO-Zeitstempel der Dateierstellung
updatedAtstringISO-Zeitstempel der letzten Aktualisierung
approvalRequiredAtstring | nullISO-Zeitstempel der Freigabeanforderung
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 Übersetzungsjobs
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('=== Quelldatei-Informationen ===');
  console.log(`Name: ${result.sourceFile.fileName}`);
  console.log(`Format: ${result.sourceFile.fileFormat}`);
  console.log(`Quellsprache: ${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 geben an, 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 dieser Leitfaden?

querySourceFile