今日の多言語の世界では、母国語でユーザーと対話する能力は、どのチャットボットにとっても重要な機能です。
Botpress チャットボットの自動翻訳は100以上の言語に対応しています。
この記事では、翻訳をカスタマイズするために必要な具体的なコーディング入力を掘り下げます。
チャットボット翻訳の仕組み
私たちの戦略は、ユーザーからのメッセージを傍受し、その言語を特定し、ボットの動作言語との間でメッセージを翻訳することを中心に展開される。
このプロセスには以下が含まれる:
- 検出された言語を保存する
- ユーザーのメッセージをボットの言語に翻訳する
- メッセージを処理し
- ボットの応答をユーザーの言語に翻訳する。
例えば、ユーザーがスペイン語でメッセージを送信した場合、ボットは言語変数として「es」を保存する。ソフトウェアは、ボットのためにメッセージを英語に翻訳し、ボットの応答をスペイン語に翻訳してからユーザーに送信します。
道具を選ぶ
私たちのセットアップは、その精度と効率で知られているDeepL翻訳サービスを採用します。
ユーザーのメッセージをミラーリングすることでユーザーに応答するシンプルなエコーボットを使って、この統合をデモンストレーションする。API 呼び出しには Axios を使う。Botpress の自動統合だからだ。
必要な変数を作成する
まず、初期言語または検出された言語を格納するために、`language`というユーザー変数を導入する必要がある。
DeepLは、入力テキストの言語を検出して返すことで、このプロセスを容易にし、タスクを単一のAPIリクエストに単純化します。
インターセプト・フックの作成
着信メッセージフック前
ユーザーのメッセージがBotpress に到達する前に、そのメッセージをインターセプトし、翻訳するために、"Before Incoming Message "フックを導入する。このフックを "Translation-In "と名付けます。このフックは、着信メッセー ジを英語に翻訳し、元のメッセージを上書きして、Botpress 、あたかも英語のメッセー ジであるかのように処理します。
このフックのコードはこうなっている:
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
});
重要:APIキーを組み込む際には、必ずBotpress 構成変数を使用してください。
発信メッセージフック前
Before Outgoing Message "フックには、"Translation-Out "という名前を付けます。これは、ボットの応答をインターセプトして、それをユーザーの言語に翻訳し、会話がユーザーの好みの言語のままであることを保証します。
この実装では、送信メッセージを翻訳されたもので上書きする:
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
});
スタート
AIチャットボットを使用する顕著な利点の1つは、その多言語能力です。Botpress のようなプラットフォームを使えば、100以上の言語でユーザーとエンゲージするチャットボットを素早く設定することができます。
アクセシブルでユーザーフレンドリーなチャットボットをお望みなら、どんな翻訳サービスでもBotpress とシームレスに統合できます。私たちのチャネル統合を使用すると、あなたのチャットボットを展開することができます。 WhatsAppFacebookMessenger 、またはあなたのウェブサイト。
今すぐ始めよう。無料です。