GT ClassMethodsTranslation

translateMany

API-Referenz zur GT-Methode translateMany für Batch-Übersetzungen

Überblick

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

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

const result = await gt.translateMany([
  { source: 'Hello, world!' },
  { source: 'Welcome to our app' },
  { source: 'Click here to continue' }
], { 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

Entry-Objektstruktur

Jedes Entry im Array sources kann Folgendes enthalten:

interface Entry {
  source: Content;           // Der zu übersetzende Inhalt
  targetLocale?: string;     // Globale Ziel-Locale überschreiben
  context?: string;          // Übersetzungskontext für diesen Eintrag
  tags?: string[];          // Tags zur Kategorisierung
  // ... andere EntryMetadata-Eigenschaften
}

Rückgabewerte

Promise<TranslateManyResult>

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

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

Verhalten

Globale vs. eintragsbezogene Metadaten

  • Globale Metadaten gelten standardmäßig für alle Entries
  • Eintragsbezogene Metadaten überschreiben globale Einstellungen für bestimmte Entries
  • Die Ziel-locale kann pro Entry überschrieben werden

Strategie zur Fehlerbehandlung

  • Einzelne Übersetzungsfehler stoppen nicht den gesamten Auftrag
  • Jedes Ergebnis signalisiert unabhängig voneinander Erfolg oder Fehlermeldung
  • Teilerfolgs­szenarien werden vollständig unterstützt

Locale-Auflösung

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

Beispiele

const menuItems = await gt.translateMany([
  { source: 'Home' },
  { source: 'About' },
  { source: 'Products' },
  { source: 'Contact' }
], {
  targetLocale: 'fr',
  context: 'Navigationsmenü-Elemente'
});

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

Hinweise

  • Übersetzt mehrere Elemente in einer einzigen API-Anfrage
  • Übersetzungsfehler in einem Entry beeinträchtigen die übrigen nicht
  • Die Ergebnisse behalten die gleiche Reihenfolge wie die Eingabe-Entries
  • Globale Metadaten werden mit Entry-spezifischen Metadaten zusammengeführt (Entry-spezifische haben Vorrang)

Nächste Schritte

Wie ist dieser Leitfaden?

translateMany