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
| Name | Typ | Beschreibung | 
|---|---|---|
| data | FileQuery | Dateiabfrageobjekt, das angibt, welche Datei abgerufen werden soll | 
| options? | CheckFileTranslationsOptions | Optionale Konfiguration für die Anfrage | 
FileQuery
| Name | Typ | Beschreibung | 
|---|---|---|
| fileId | string | Eindeutige Kennung der Datei, die abgefragt werden soll | 
| versionId? | string | Optionale Versions-ID für die gewünschte Dateiversion | 
CheckFileTranslationsOptions
| Name | Type | Beschreibung | 
|---|---|---|
| timeout? | number | Zeitü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
| Eigenschaft | Typ | Beschreibung | 
|---|---|---|
| id | string | Interne Datenbank-ID | 
| fileId | string | Eindeutige Datei-ID | 
| versionId | string | Versions-ID | 
| sourceLocale | string | Quell-Locale der Sprache | 
| fileName | string | Ursprünglicher Dateiname | 
| fileFormat | string | Dateiformat (JSON, MD, MDX usw.) | 
| dataFormat | string | null | Datenformat innerhalb der Datei (ICU, I18NEXT, JSX) | 
| createdAt | string | ISO-Zeitstempel der Dateierstellung | 
| updatedAt | string | ISO-Zeitstempel der letzten Aktualisierung | 
| approvalRequiredAt | string | null | ISO-Zeitstempel der Freigabeanforderung | 
| locales | string[] | Liste der Ziel-Locales für diese Datei | 
Übersetzungseigenschaften
| Eigenschaft | Typ | Beschreibung | 
|---|---|---|
| locale | string | Ziel-Locale-Code | 
| completedAt | string | null | ISO-Zeitstempel des Abschlusses der Übersetzung | 
| approvedAt | string | null | ISO-Zeitstempel der Freigabe der Übersetzung | 
| publishedAt | string | null | ISO-Zeitstempel der Veröffentlichung der Übersetzung | 
| createdAt | string | null | ISO-Zeitstempel der Erstellung des Übersetzungsjobs | 
| updatedAt | string | null | ISO-Zeitstempel der letzten Aktualisierung der Übersetzung | 
Beispiel
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: createdAt→completedAt→approvedAt→publishedAt
- 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
- Siehe checkFileTranslationsfür eine einfache Statusprüfung bestimmter Übersetzungen
- Siehe downloadTranslatedFile, um abgeschlossene Übersetzungen herunterzuladen
- Siehe enqueueFiles, um Übersetzungsjobs für Dateien zu starten
- Siehe getProjectDatafür Informationen auf Projektebene
Wie ist dieser Leitfaden?

