翻译是实时聊天应用程序中广泛使用的一项流行功能。为了实现翻译,即时通讯 IM SDK 集成了 Microsoft Azure Translation API,支持在发送或接收消息时对文本消息进行按需翻译或自动翻译:
开始前,请确保满足以下条件:
即时通讯 IM SDK 支持你通过调用 API 实现如下翻译功能:
无论是按需翻译还是自动翻译,都需先调用 getSupportLanguages
获取支持的翻译语言。示例代码如下:
conn.getSupportedLanguages().then(res => console.log(res))
接收方调用 translateMessage
将接收到的消息翻译成目标语言。示例代码如下:
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)
}
})
设置推送的目标语言,设置之后收到的离线推送就会是目标语言,如果目标语言在消息里不存在,就以原文推送,详见离线推送。