翻译 Web

更新时间:2022 年 4 月 29 日

文本消息支持翻译功能,包含按需翻译和自动翻译。

  • 按需翻译:收到消息时,接收方将消息内容翻译成目标语言。
  • 自动翻译:用户发送消息时,SDK 根据设置的目标语言自动翻译消息内容,然后将消息原文和译文一并发送给消息接收方。

注意: 翻译服务由 Microsoft Azure Translator API 提供支持。可以在 Microsoft Azure Translator Language Suppor 页面查看目前支持的语言。

开始前,请确保满足以下条件:

  1. 完成 4.0.4 以上版本 SDK 初始化,详见 快速开始
  2. 了解环信即时通讯 IM API使用限制
  3. 已联系商务开通翻译功能。

Web SDK 支持你通过调用 API 在项目中实现如下功能:

  • getSupportedLanguages:获取支持的翻译语言;
  • translateMessage:翻译文本消息;
  • 设置自动翻译。

按需翻译文本消息示例如下:

获取翻译服务支持的语言

翻译前需获取翻译服务支持的语言,示例代码如下:

conn.getSupportedLanguages().then(res => console.log(res))

翻译消息

先调用 getSupportedLanguages 获取每种语言对应 code,然后可以将文本翻译成一种或多种目标语言。

示例代码如下:

conn.translateMessage('hello', ['zh']).then(res => console.log(res))

发消息时自动翻译

设置目标语言后,在发送消息时 SDK 会自动将文本翻译为目标语言,并将目标语言一并发送出去。

示例代码如下:

// 发送消息。
let option = {
    chatType: 'singleChat',
    type: 'txt',
    to: 'userId',
    msg: 'hello',
    msgConfig:{ languages: ['zh'] } // 设置目标语言。
}
let msg = WebIM.message.create(option);
conn.send(msg)

// 接收消息。
conn.addEventHandler('MESSAGE', {
    onTextMessage: (message) => {
        console.log('message', message.translations)
    }
})