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ètre | Description |
|---|---|
sources | Tableau d’objets Entry contenant le contenu source et des métadonnées optionnelles propres à chaque élément |
globalMetadata | Mé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
- Découvrez les traductions unitaires avec translate
- Explorez les types Entry et EntryMetadata
- Comprenez la structure de TranslateManyResult
Comment trouvez-vous ce guide ?