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
| Name | Typ | Beschreibung |
|---|---|---|
data | FileQuery | Dateiabfrageobjekt, das angibt, welche Datei abgerufen werden soll |
options? | CheckFileTranslationsOptions | Optionale Konfiguration für die Anfrage |
FileQuery
| Name | Type | Beschreibung |
|---|---|---|
fileId | string | Eindeutiger Bezeichner der Datei, die abgefragt werden soll |
versionId? | string | Optionale Versions-ID für die betreffende Dateiversion |
CheckFileTranslationsOptions
| Name | Typ | Beschreibung |
|---|---|---|
timeout? | number | Zeitü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
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
id | string | Interne Datenbank-ID |
fileId | string | Eindeutige Datei-ID |
versionId | string | Versions-ID |
sourceLocale | string | Quellsprache (Locale) |
fileName | string | Ursprünglicher Dateiname |
fileFormat | string | Dateiformat (JSON, MD, MDX usw.) |
dataFormat | string | null | Datenformat in der Datei (ICU, i18next, JSX) |
createdAt | string | ISO-Zeitstempel der Dateierstellung |
updatedAt | string | ISO-Zeitstempel der letzten Aktualisierung |
approvalRequiredAt | string | null | ISO-Zeitstempel der Genehmigungsanforderung |
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 Übersetzungsauftrags |
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('=== 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-
localeszurück - Übersetzungszeitstempel folgen dem Lebenszyklus:
createdAt→completedAt→approvedAt→publishedAt - 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
- Siehe
checkFileTranslationsfür eine schnelle Statusprüfung bestimmter Übersetzungen - Siehe
downloadTranslatedFile, um abgeschlossene Übersetzungen herunterzuladen - Siehe
enqueueFiles, um Übersetzungsjobs für files zu starten - Siehe
getProjectDatafür Informationen auf Projektebene
Wie ist diese Anleitung?