GT ClassMethodsTranslation

translateMany

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

Présentation

La méthode translateMany permet de traduire 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 individuels.

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

const result = await gt.translateMany([
  { source: 'Bonjour, 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 par élément
globalMetadataMétadonnées globales appliquées à toutes les entrées, y compris le targetLocale requis

Structure de l’Entry

Chaque Entry dans le tableau sources peut contenir :

interface Entry {
  source: Content;           // Le contenu à traduire
  targetLocale?: string;     // Remplace la locale cible globale
  context?: string;          // Contexte de traduction pour cette entrée
  tags?: string[];          // Étiquettes 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 définie au niveau de chaque entrée, en remplaçant la valeur globale

Stratégie de gestion des erreurs

  • Les échecs de traduction individuels n’arrêtent pas tout le lot
  • Chaque résultat indique, de manière indépendante, un succès ou un échec
  • Les scénarios de réussite partielle sont entièrement pris en charge

Résolution de la locale

  • La locale cible globale est utilisée par défaut pour toutes les entrées
  • Les locales cibles définies par entrée remplacent le paramètre global
  • Toutes les locales sont résolues via un mappage personnalisé s’il est configuré

Exemples

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

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

Notes

  • Traduit plusieurs éléments en une seule requête 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 celles propres à chaque entrée (ces dernières priment)

Prochaines étapes

Que pensez-vous de ce guide ?

translateMany