要实现跨境外贸的可翻译客服系统(gofly.v1kf.com),我们需要一个能够将多种语言互相转换的翻译 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框架对外提供一个接口,去调用类库
这样就完成了翻译接口,在消息列表里,增加一个翻译按钮,可以直接把访客的消息翻译成中文
在客服发送消息工具栏,有翻译按钮,可以把当前客服输入框里的中文翻译为指定语言
标签:翻译,Set,客服,源码,res,query,data From: https://www.cnblogs.com/taoshihan/p/17145493.html