GT ClassMethodsTranslation

translateMany

API Reference zur GT-Methode translateMany für Stapelübersetzungen

Übersicht

Die Methode translateMany übersetzt mehrere Inhalte effizient in einer einzigen API-Anfrage. Sie ist für die Stapelverarbeitung optimiert und bietet eine bessere Performance als mehrere einzelne translate-Aufrufe.

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

const result = await gt.translateMany([
  { source: 'Hallo, Welt!' },
  { source: 'Willkommen bei unserer App' },
  { source: 'Klicken Sie hier, um fortzufahren' }
], { targetLocale: 'es' });

Referenzen

Parameter

Prop

Type

Parameterbeschreibung

ParameterBeschreibung
sourcesArray von Entry-Objekten mit Quellinhalt und optionalen Metadaten pro Eintrag
globalMetadataGlobale Metadaten, die auf alle Einträge angewendet werden, einschließlich des erforderlichen targetLocale

Struktur des Entry-Objekts

Jeder Entry im sources-Array kann Folgendes enthalten:

interface Entry {
  source: Content;           // Inhalt, der übersetzt werden soll
  targetLocale?: string;     // Globale Ziel-Lokalisierung überschreiben
  context?: string;          // Übersetzungskontext für diesen Eintrag
  tags?: string[];          // Tags zur Kategorisierung
  // ... weitere EntryMetadata‑Eigenschaften
}

Rückgabe

Promise<TranslateManyResult>

Das Ergebnis enthält übersetzte Einträge sowie alle Fehlerinformationen:

interface TranslateManyResult {
  translations: Array<TranslationResult | TranslationError>;
  metadata: {
    totalRequests: number;
    successCount: number;
    errorCount: number;
    processingTime: number;
  };
}

Verhalten

Globale vs. eintragsbezogene Metadaten

  • Globale Metadaten werden standardmäßig auf alle Entries angewendet
  • Eintragsbezogene Metadaten überschreiben globale Einstellungen für bestimmte Entries
  • Die Ziellocale kann pro Entry überschrieben werden

Strategie für Fehlerbehandlung

  • Einzelne Übersetzungsfehler stoppen nicht die gesamte Charge
  • Jedes Ergebnis kennzeichnet unabhängig den Erfolg oder Fehler
  • Szenarien mit teilweisem Erfolg werden vollständig unterstützt

Locale-Auflösung

  • Die globale Ziel-Locale wird standardmäßig für alle Entries verwendet
  • Locale-spezifische Zieleinstellungen pro Entry überschreiben die globale Einstellung
  • Alle Locales werden über ein benutzerdefiniertes Mapping aufgelöst, sofern konfiguriert

Beispiele

const menuItems = await gt.translateMany([
  { source: 'Startseite' },
  { source: 'Über uns' },
  { source: 'Produkte' },
  { source: 'Kontakt' }
], {
  targetLocale: 'fr',
  context: 'Navigationsmenüeinträge'
});

menuItems.translations.forEach((result, index) => {
  if ('translation' in result) {
    console.log(`Eintrag ${index}: ${result.translation}`);
  } else {
    console.error(`Eintrag ${index} fehlgeschlagen: ${result.error}`);
  }
});

Hinweise

  • Übersetzt mehrere Einträge in einer einzelnen API-Anfrage
  • Ein Übersetzungsfehler in einem Eintrag beeinträchtigt die anderen nicht
  • Die Ergebnisse behalten die Reihenfolge der Eingabeeinträge bei
  • Globale Metadaten werden mit eintragsspezifischen Metadaten zusammengeführt (eintragsspezifische haben Vorrang)

Nächste Schritte

Wie ist diese Anleitung?