GT ClassMethodsTranslation

checkFileTranslations

API Reference für die Methode checkFileTranslations zur Prüfung des Übersetzungsstatus, ohne files herunterzuladen

Übersicht

Die Methode checkFileTranslations prüft den Übersetzungsstatus von files, ohne deren Inhalt herunterzuladen. Das ist nützlich, um den Übersetzungsfortschritt zu überwachen, den Fertigstellungsstatus zu prüfen und festzustellen, 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'
  }
]);

Referenzen

Parameter

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

FileTranslationQuery

NameTypeDescription
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?numberZeitüberschreitung der Anfrage 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 Nutzung

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) Übersetzungsauftrag in Warteschlange einreihen
const enqueueResult = await gt.enqueueFiles(
  uploadedFiles,
  {
  sourceLocale: 'en',
  targetLocales: targetLocales,
});

// (4) Auf Abschluss aller Übersetzungen warten
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 müssen möglicherweise noch freigegeben werden, bevor sie veröffentlicht werden
  • Verwenden Sie diese Methode für eine effiziente Statusabfrage beim Überwachen mehrerer Übersetzungsjobs

Nächste Schritte

Wie ist diese Anleitung?