上云无忧 > 文档中心 > 环信IM即时通讯使用教程(Unity) - 翻译
IM即时通讯
环信IM即时通讯使用教程(Unity) - 翻译

文档简介:
为方便用户在聊天过程中对文字消息进行翻译,环信即时通讯 IM SDK 集成了 Microsoft Azure Translation API,支持在发送或接收消息时对文本消息进行按需翻译或自动翻译: 按需翻译:接收方在收到文本消息后,将消息内容翻译为目标语言。
*此产品及展示信息均由环信官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

为方便用户在聊天过程中对文字消息进行翻译,环信即时通讯 IM SDK 集成了 Microsoft Azure Translation API,支持在发送或接收消息时对文本消息进行按需翻译或自动翻译:

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

前提条件

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

  1. 完成 1.0.5 或以上版本 SDK 初始化,详见 快速开始。
  2. 了解环信即时通讯 IM API 的 使用限制。
  3. 已在 环信即时通讯云控制台 (opens new window)开通翻译功能。
  4. 该功能由 Microsoft Azure Translation API 提供,因此开始前请确保你了解该功能支持的目标语言。详见 翻译语言支持 (opens new window)

技术原理

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

  • FetchSupportLanguages 获取支持的翻译语言;
  • 按需翻译:接收方在收到文本消息后调用 TranslateMessage 进行翻译;
  • 自动翻译:发送方发送消息之前设置 TextBody 中的 TargetLanguages 字段为目标语言,然后发送消息,接收方会收到消息原文和译文。

实现方法

获取翻译服务支持的语言

无论是按需翻译还是自动翻译,都需先调用 FetchSupportLanguages 获取支持的翻译语言。示例代码如下:


// 获取翻译服务支持的语言。 SDKClient.Instance.ChatManager.FetchSupportLanguages(new ValueCallBack
<List<SupportLanguage>>( onSuccess: (list) => { Debug.Log($"FetchSupportLanguages found total:
 {list.Count}"); foreach (var lang in list) { Debug.Log($"code: {lang.LanguageCode}, name:
{lang.LanguageName}, nativename:{lang.LanguageNativeName}"); } }, onError: (code, desc) => 
{ Debug.Log($"FetchSupportLanguages failed, code:{code}, desc:{desc}"); } )); 


按需翻译

接收方调用 TranslateMessage 对收到的文本消息进行翻译。翻译调用过程如下:


SDKClient.Instance.ChatManager.TranslateMessage(msg, targetLanguages, new ValueCallBack<Message>
( onSuccess: (dmsg) => { Debug.Log($"TranslateMessage success."); TextBody tb = (TextBody)dmsg.Body;
 foreach(var it in tb.Translations) { Debug.Log($"Translate, lang:{it.Key}, result:{it.Value}"); }
 }, onError: (code, desc) => { Debug.Log($"TranslateMessage failed, code:{code}, desc:{desc}"); } )); 


设置自动翻译

创建消息时,发送方设置 TextBody 中的 TargetLanguages 字段为译文语言,设置过程如下:

Message msg = Message.CreateTextSendMessage(to, text); TextBody tb =
 (TextBody)msg.Body; tb.TargetLanguages = languageList; 

发送时消息原文和译文一起发送。

接收方收到消息后,接收方从 TextBody 中获取消息的译文列表,示例代码如下:


TextBody tb = (TextBody)msg.Body; foreach(var it in tb.Translations) 
{ Debug.Log($"Translate, lang:{it.Key}, result:{it.Value}"); }


相似文档
  • 用户属性指实时消息互动用户的信息,如用户昵称、头像、邮箱、电话、性别、签名、生日等。 例如,在招聘场景下,利用用户属性功能可以存储性别、邮箱、用户类型(面试者)、职位类型(web 研发)等。查看用户信息时,可以直接查询服务器存储的用户属性信息。
  • 用户完成登录后,就会进行添加联系人、获取好友列表等操作。 SDK 提供用户关系管理功能,包括好友列表管理和黑名单管理: 好友列表管理:查询好友列表、请求添加好友、同意好友请求、拒绝好友请求和删除好友等操作。 黑名单管理:查询黑名单列表、添加用户至黑名单以及将用户移除黑名单等操作。 本文介绍如何通过环信即时通讯 IM SDK 管理好友关系。
  • 功能描述 群组是支持多人沟通的即时通讯系统,成员关系相对稳定。所有群成员可以收到群中的消息,可以在群中发送消息。群成员离线时可以收到推送消息。群组成员支持多种角色:群主、群管理员和普通成员。群组提供丰富的管理能力,如群组禁言、群公告和群文件等。
  • 群组是支持多人沟通的即时通讯系统,本文介绍如何使用环信即时通讯 IM SDK 在实时互动 app 中创建和管理群组,并实现群组相关功能。 如需查看消息相关内容,参见 消息管理。
  • 群组是支持多人沟通的即时通讯系统,本文介绍如何使用环信即时通讯 IM SDK 在实时互动 app 中实现群组成员管理相关功能。 技术原理: 环信即时通讯 IM SDK 提供 Group、IGroupManager 和 IGroupManagerDelegate 类用于群组管理,支持你通过调用 API 在项目中实现如下功能: 群组加人、 群组踢人、 管理群主及群管理员、 管理群组黑名单、 管理群组禁言、 管理群组白名单。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部