GT ClassMethodsTranslation

checkFileTranslations

API-Referenz zur Methode checkFileTranslations, um den Übersetzungsstatus zu prüfen, ohne Dateien herunterzuladen

Übersicht

Die Methode checkFileTranslations prüft den Übersetzungsstatus von Dateien, ohne deren Inhalte herunterzuladen. Das ist hilfreich, um den Übersetzungsfortschritt zu überwachen, den Fertigstellungsgrad zu prüfen und zu ermitteln, welche Übersetzungen verfügbar sind.

const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' });

const status = await gt.checkFileTranslations([
  {
    versionId: 'version-123',
    fileName: 'app.json',
    locale: 'es'
  }
]);

Referenz

Parameter

NameTypBeschreibung
dataFileTranslationQuery[]Array von Dateiübersetzungsanfragen zur Überprüfung
options?CheckFileTranslationsOptionsOptionale Konfiguration für die Anfrage

FileTranslationQuery

NameTypeBeschreibung
versionIdstringVersions-ID der zu prüfenden Datei
fileName?stringDateiname (erforderlich, wenn fileId nicht angegeben ist)
fileId?stringDatei-ID (erforderlich, wenn fileName nicht angegeben ist)
localestringZiel-Locale, für die der Übersetzungsstatus geprüft werden soll

CheckFileTranslationsOptions

NameTypBeschreibung
timeout?numberAnforderungs-Zeitüberschreitung in Millisekunden

Rückgabewert

Promise<CheckFileTranslationsResult> – enthält Informationen zum Übersetzungsstatus.

type CheckFileTranslationsResult = {
  translations: CompletedFileTranslationData[];
}
EigenschaftTypBeschreibung
translationsCompletedFileTranslationData[]Array mit Statusdaten zu Übersetzungen

Struktur von CompletedFileTranslationData

type CompletedFileTranslationData = {
  id: string;
  fileId: string;
  versionId: string;
  fileName: string;
  locale: string;
  status: 'completed' | 'pending' | 'failed';
  completedAt: string | null;
  approvedAt: string | null;
  publishedAt: string | null;
  createdAt: string;
  updatedAt: string;
}

Beispiele

Grundlegende Verwendung

Prüfen Sie den Übersetzungsstatus für bestimmte files und locales:

index.ts
// (1) GT-Instanz erstellen
const targetLocales = ['es', 'fr', 'de'];
const gt = new GT({
  projectId: 'your-project-id',
  apiKey: 'your-api-key',
});

// (2) Datei hochladen
const fileUpload = {
  content: fileContents,
  fileName: filePath,
  fileFormat: 'JSON',
  locale: 'en',
};
const files = [ { source: fileUpload } ];
const { uploadedFiles } = await gt.uploadSourceFiles(
  files,
  { sourceLocale: 'en' }
);

// (3) Dateiübersetzungsauftrag in die Warteschlange einreihen
const enqueueResult = await gt.enqueueFiles(
  uploadedFiles,
  {
  sourceLocale: 'en',
  targetLocales: targetLocales,
});

// (4) Warten, bis alle Übersetzungen abgeschlossen sind
let translationIds = [];
const statusQuery = Object.values(enqueueResult.data).flatMap(({fileName, versionId}) => {
  return targetLocales.map((locale) => ({locale, fileName, versionId}));
});
while (true) {
  const status = await gt.checkFileTranslations(statusQuery);
  if (status.translations.length === statusQuery.length) {
    translationIds = status.translations.map(translation => translation.id);
    break;
  }
  await new Promise(resolve => setTimeout(resolve, 1000));
}

Hinweise

  • Der Übersetzungsstatus umfasst die Zustände pending, completed und failed
  • Abgeschlossene Übersetzungen können vor der Veröffentlichung weiterhin eine Freigabe erfordern
  • Verwenden Sie diese Methode, um den Status effizient zu prüfen, wenn Sie mehrere Übersetzungsaufträge überwachen

Nächste Schritte

  • Sieh dir den Schnellstart für ein vollständiges Beispiel zur Verwendung dieser Methode an
  • Siehe downloadTranslatedFile, um abgeschlossene Übersetzungen herunterzuladen
  • Siehe enqueueFiles, um Übersetzungsjobs zu erstellen
  • Siehe querySourceFile, um Informationen zur Quelldatei und zu Übersetzungen zu erhalten

Wie ist dieser Leitfaden?

checkFileTranslations