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
| Parameter | Beschreibung |
|---|---|
sources | Array von Entry-Objekten mit Quellinhalt und optionalen Metadaten pro Eintrag |
globalMetadata | Globale 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
- Erfahren Sie mehr über einzelne Übersetzungen mit translate
- Erkunden Sie die Typen Entry und EntryMetadata
- Verstehen Sie die Struktur von TranslateManyResult
Wie ist diese Anleitung?