- Les chatbots IA peuvent traduire automatiquement les conversations dans plus de 100 langues grâce à un LLM, ou vous pouvez créer des flux de traduction personnalisés pour un contrôle plus précis.
- Un système de traduction classique enregistre la langue de l’utilisateur, traduit les messages entrants dans la langue du bot, les traite, puis traduit les réponses dans la langue de l’utilisateur.
- DeepL est souvent choisi pour la qualité de ses traductions, mais toute API de traduction (comme Google Translate) peut être intégrée avec un code similaire.
Dans un monde multilingue, pouvoir échanger avec les utilisateurs dans leur langue maternelle est essentiel pour tout chatbot.
Si vous créez un chatbot IA, la traduction est automatique si vous utilisez un LLM comme « cerveau » de votre bot. Un agent LLM peut traduire automatiquement les conversations dans plus de 100 langues.
Mais si vous souhaitez mettre en place des capacités de traduction personnalisées en créant votre chatbot GPT, nous pouvons vous aider à le faire.
Dans cet article, nous allons détailler les éléments de code nécessaires pour personnaliser votre traduction.
Comment fonctionne la traduction d’un chatbot ?
Notre approche consiste à intercepter les messages des utilisateurs, détecter leur langue, puis traduire ces messages vers et depuis la langue de fonctionnement du bot.
Ce processus comprend :
- L’enregistrement de la langue détectée
- La traduction du message utilisateur vers la langue du bot
- Le traitement du message, puis
- La traduction de la réponse du bot vers la langue de l’utilisateur
Par exemple, si un utilisateur envoie un message en espagnol, le bot enregistre « es » comme langue. Le logiciel traduit le message en anglais pour le bot, puis traduit la réponse du bot en espagnol avant de la transmettre à l’utilisateur.
Étape 1 : Choisissez vos outils
Nous allons utiliser le service de traduction DeepL, reconnu pour sa précision et son efficacité.
Nous illustrerons cette intégration avec un simple bot écho qui répond aux utilisateurs en répétant leurs messages. Nous utiliserons Axios pour les appels API, car il est intégré automatiquement à Botpress.

Étape 2 : Créez les variables nécessaires
Tout d’abord, nous devons ajouter une variable utilisateur nommée `language` pour stocker la langue initiale ou détectée.
DeepL simplifie ce processus en détectant et en renvoyant la langue du texte saisi, ce qui réduit notre tâche à une seule requête API.
Étape 3 : Créez les hooks d’interception
Hook avant le message entrant
Pour intercepter et traduire le message utilisateur avant qu’il n’arrive à Botpress, nous ajoutons un hook « Before Incoming Message ». Nous l’appellerons « Translation-In ». Ce hook traduit le message entrant en anglais et remplace le message original, permettant à Botpress de le traiter comme s’il était en anglais.
Voici à quoi ressemble le code de ce hook :
await axios
.post(
'https://api-free.deepl.com/v2/translate',
{
text: [event.preview],
target_lang: 'EN'
},
{
headers: {
Authorization: 'DeepL-Auth-Key {{your key here}}',
'Content-Type': 'application/json'
}
}
)
.then((response) => {
event.payload.text = response.data.translations[0].text
event.preview = response.data.translations[0].text
event.state.user.language = response.data.translations[0].detected_source_language
})
.catch(function (error) {
// Error handling
});REMARQUE IMPORTANTE : Utilisez toujours les variables de configuration Botpress pour intégrer votre clé API.
Hook avant le message sortant
Pour le hook « Before Outgoing Message », nous l’appellerons « Translation-Out ». Il intercepte la réponse du bot pour la traduire dans la langue de l’utilisateur, afin que la conversation reste dans la langue préférée de celui-ci.
La mise en œuvre consiste à remplacer le message sortant par sa version traduite :
await axios
.post(
'https://api-free.deepl.com/v2/translate',
{
text: [outgoingEvent.preview],
target_lang: event.state.user.language
},
{
headers: {
Authorization: 'DeepL-Auth-Key {{your key here}}',
'Content-Type': 'application/json'
}
}
)
.then((response) => {
outgoingEvent.payload.text = response.data.translations[0].text
outgoingEvent.preview = response.data.translations[0].text
})
.catch(function (error) {
// Error handling
});Commencez à créer dès aujourd’hui
L’un des grands avantages d’un chatbot IA est sa capacité multilingue. Avec des plateformes comme Botpress, vous pouvez rapidement configurer votre chatbot pour dialoguer avec les utilisateurs dans plus de 100 langues.
Si vous souhaitez un chatbot accessible et facile à utiliser, vous pouvez intégrer n’importe quel service de traduction à Botpress. Grâce à nos intégrations de canaux, vous pouvez ensuite déployer votre chatbot sur WhatsApp, Facebook Messenger ou votre site web.
Commencez dès aujourd’hui. C’est gratuit.
Pour aller plus loin
- Variables de configuration
- API DeepL Translate
- Axios NPM
- Gestion des erreurs avec Axios
- Chaîne YouTube Botpress
FAQ
1. Puis-je utiliser un service de traduction autre que DeepL, comme Google Translate ou Microsoft Translator ?
Oui, vous pouvez utiliser d’autres services de traduction en adaptant le hook de traduction dans Botpress pour correspondre au format de requête et de réponse de l’API choisie. Ces services s’intègrent facilement via des appels HTTP dans des actions ou hooks personnalisés.
2. Puis-je traduire uniquement certaines parties d’une conversation ?
Oui, il est possible de ne traduire que certaines parties d’une conversation en ajoutant une logique conditionnelle dans votre hook de traduction, qui vérifie le type de message ou des variables utilisateur avant de lancer la traduction. Vous contrôlez ainsi précisément ce qui est traduit et à quel moment.
3. Puis-je anonymiser les données utilisateur avant de les envoyer au service de traduction ?
Oui, vous pouvez anonymiser les données utilisateur avant de les envoyer à un service de traduction en prétraitant le message (par exemple, en masquant les noms, e-mails ou identifiants avec des regex) dans votre hook ou action Botpress. Cela permet de respecter les exigences de confidentialité tout en traduisant les messages.
4. Puis-je utiliser cette configuration de traduction sur différents canaux (par exemple WhatsApp, Messenger) ?
Oui, vous pouvez utiliser la même configuration de traduction sur plusieurs canaux comme WhatsApp, Messenger, Slack ou votre site web. Tant que votre bot reçoit le message, la logique de traduction fonctionnera quel que soit le canal.
5. Comment puis-je enregistrer les erreurs de traduction pour l’analyse ou le débogage ?
Pour enregistrer les erreurs de traduction dans Botpress, vous pouvez utiliser console.error() pour le débogage en développement, ou envoyer les erreurs vers une table Botpress personnalisée, un service de logs distant comme Loggly ou Datadog, ou une API interne. Cela vous permet de suivre les échecs et de surveiller les performances dans le temps.





.webp)
