GT ClassMethodsTranslation

translateMany

Riferimento API per il metodo GT translateMany per le traduzioni in batch

Panoramica

Il metodo translateMany traduce in modo efficiente più elementi di contenuto con una singola richiesta API. È ottimizzato per l’elaborazione in batch e offre prestazioni migliori rispetto a effettuare più chiamate translate individuali.

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

const result = await gt.translateMany([
  { source: 'Ciao, mondo!' },
  { source: 'Benvenuto nella nostra app' },
  { source: 'Clicca qui per continuare' }
], { targetLocale: 'es' });

Riferimenti

Parametri

Prop

Type

Descrizione dei parametri

ParametroDescrizione
sourcesArray di oggetti Entry contenenti il contenuto di origine e metadati opzionali per singolo elemento
globalMetadataMetadati globali applicati a tutte le voci, incluso il targetLocale obbligatorio

Struttura dell’oggetto Entry

Ogni voce dell’array sources può contenere:

interface Entry {
  source: Content;           // Il contenuto da tradurre
  targetLocale?: string;     // Sovrascrive il locale di destinazione globale
  context?: string;          // Contesto di traduzione per questa voce
  tags?: string[];          // Tag per la categorizzazione
  // ... altre proprietà di EntryMetadata
}

Valori restituiti

Promise<TranslateManyResult>

Il risultato contiene le voci tradotte e le eventuali informazioni sugli errori:

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

Comportamento

Metadati globali vs per voce

  • Metadati globali applicati a tutte le voci come valori predefiniti
  • Metadati per voce che sostituiscono le impostazioni globali per voci specifiche
  • La lingua di destinazione può essere impostata per singola voce

Strategia di gestione degli errori

  • I singoli errori di traduzione non bloccano l’intero batch
  • Ogni risultato indica in modo indipendente esito positivo o negativo
  • Gli scenari di successo parziale sono pienamente supportati

Risoluzione delle locale

  • La locale di destinazione globale è usata come impostazione predefinita per tutte le voci
  • Le locale di destinazione specifiche per voce sostituiscono l’impostazione globale
  • Tutte le locale vengono risolte tramite mappatura personalizzata, se configurata

Esempi

const menuItems = await gt.translateMany([
  { source: 'Home' },
  { source: 'Chi siamo' },
  { source: 'Prodotti' },
  { source: 'Contatti' }
], {
  targetLocale: 'fr',
  context: 'Voci di menu di navigazione'
});

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

Note

  • Traduce più elementi in un’unica richiesta API
  • Un errore di traduzione in una voce non influisce sulle altre
  • I risultati mantengono lo stesso ordine delle voci di input
  • I metadati globali vengono uniti con quelli per voce (i metadati per voce hanno la precedenza)

Prossimi passaggi

Come valuti questa guida?

translateMany