要实现跨境外贸的可翻译客服系统,我们需要一个能够将多种语言互相转换的翻译 API。常用的翻译 API 包括 Google Translate API、Microsoft Translator API 等。在本示例中,我以 百度翻译 API 为例进行说明。
首先,我们需要在百度翻译上创建一个项目,并启用填写一些信息。然后,我们需要为我们的客服系统编写代码,以便实现对访客消息和客服消息的翻译。
然后编写代码实现调用接口翻译,其中 Translate
方法接受三个参数,分别是需要翻译的文本 query
、源语言 from
和目标语言 to
。该方法会将这三个参数作为参数,发送一个 HTTP POST 请求到百度翻译 API,并解析返回的 JSON 格式数据,最后将翻译结果返回。
package lib
import (
"fmt"
"github.com/tidwall/gjson"
"kefu/tools"
"net/url"
)
type BaiduFanyi struct {
AppId, AppSec string
}
func (this *BaiduFanyi) Translate(query, from, to string) (string, error) {
salt := "1435660288"
data := url.Values{}
data.Set("q", query)
data.Set("salt", salt)
data.Set("appid", this.AppId)
data.Set("from", from)
data.Set("to", to)
data.Set("sign", this.BuildSign(query, salt))
res, err := tools.PostForm("http://api.fanyi.baidu.com/api/trans/vip/translate", data)
fmt.Println(res, err)
res = gjson.Get(res, "trans_result.0.dst").String()
res = tools.UrlDecode(res)
return res, err
}
func (this *BaiduFanyi) BuildSign(query, salt string) string {
str := fmt.Sprintf("%s%s%s%s", this.AppId, query, salt, this.AppSec)
ret := tools.Md5(str)
return ret
}
post请求接口的函数
Gin框架对外提供一个接口,去调用类库
这样就完成了翻译接口,在消息列表里,增加一个翻译按钮,可以直接把访客的消息翻译成中文
在客服发送消息工具栏,有翻译按钮,可以把当前客服输入框里的中文翻译为指定语言
十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)