GT ClassMethodsTranslation

translateMany

Référence de l’API pour la méthode GT translateMany, destinée aux traductions par lot

Vue d’ensemble

La méthode translateMany traduit efficacement plusieurs éléments de contenu en une seule requête API. Elle est optimisée pour le traitement par lots et offre de meilleures performances que plusieurs appels translate distincts.

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

const result = await gt.translateMany([
  { source: 'Bonjour le monde !' },
  { source: 'Bienvenue dans notre application' },
  { source: 'Cliquez ici pour continuer' }
], { targetLocale: 'es' });

Références

Paramètres

Prop

Type

Description des paramètres

ParamètreDescription
sourcesTableau d’objets Entry contenant le contenu source et des métadonnées optionnelles propres à chaque élément
globalMetadataMétadonnées globales appliquées à toutes les entrées, y compris le targetLocale requis

Structure de l’objet Entry

Chaque élément du tableau sources peut contenir :

interface Entry {
  source: Content;           // Le contenu à traduire
  localeCible?: string;      // Remplace la localeCible globale
  context?: string;          // Contexte de traduction pour cette entrée
  tags?: string[];          // Balises pour la catégorisation
  // ... autres propriétés EntryMetadata
}

Renvoie

Promise<TranslateManyResult>

Le résultat contient les entrées traduites ainsi que toute information d’erreur :

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

Comportement

Métadonnées globales vs par élément

  • Les métadonnées globales s’appliquent à toutes les entrées par défaut
  • Les métadonnées par élément remplacent les paramètres globaux pour des entrées spécifiques
  • La locale cible peut être remplacée pour chaque entrée

Stratégie de gestion des Error

  • Les échecs de traduction individuels n’interrompent pas tout le lot
  • Chaque résultat indique indépendamment une réussite ou un échec
  • Les scénarios de réussite partielle sont entièrement pris en charge

Résolution des locales

  • La locale cible globale est utilisée par défaut pour toutes les entrées
  • Les locales cibles définies au niveau de chaque entrée remplacent le paramètre global
  • Toutes les locales sont résolues via un mappage personnalisé si celui-ci est configuré

Exemples

const menuItems = await gt.translateMany([
  { source: 'Accueil' },
  { source: 'À propos' },
  { source: 'Produits' },
  { source: 'Contact' }
], {
  targetLocale: 'fr',
  context: 'Éléments de menu de navigation'
});

menuItems.translations.forEach((result, index) => {
  if ('translation' in result) {
    console.log(`Élément ${index} : ${result.translation}`);
  } else {
    console.error(`Échec de l'élément ${index} : ${result.error}`);
  }
});

Notes

  • Traduire plusieurs éléments en une seule requête d’API
  • Un échec de traduction dans une entrée n’affecte pas les autres
  • Les résultats conservent le même ordre que les entrées fournies
  • Les métadonnées globales sont fusionnées avec les métadonnées propres à chaque entrée (celles-ci priment)

Prochaines étapes

Comment trouvez-vous ce guide ?