关于前端:灵活且有趣10分钟落地翻译能力1分钟插件化

29次阅读

共计 2113 个字符,预计需要花费 6 分钟才能阅读完成。


文 / 明道云销售参谋 刘俊良

上个月,我实现了一个乏味的试验——《我把 22 张 Excel 工作表胜利转换成一个企业应用》,这个月基于一次惊鸿一瞥,我又进行了一次乏味的尝试。

试验背景

明道云团队自用的销售治理利用通过对外部公开表单中客户填写的信息进行解决,生成相应的线索信息,难免会遇到一些用英文或其余语言填写的信息,在频繁且麻烦地应用百度翻译的过程中,我有幸撇到了——翻译 API。

(百度翻译 web 版)
同时我很分明,明道云是具备与内部零碎对接的能力的,于是我想到了一种可能性——在明道云内做一个翻译利用。我自身是没有接触过代码的,因而在浏览 API 文档时费了一些功夫,不过综合了解下来,要实现这个工作须要以下几个筹备:

1. 注册成为百度云的开发者,并开明通用翻译 API 标准版服务(百度的通用翻译 API 标准版为不限次数收费调用)。
2. 获取接入形式,百度翻译提供的是 https 地址:https://fanyi-api.baidu.com/a…。
3. 依照要求的形式生成接入的签名 sign。
4. 筹备好发送申请的输出参数。
注册成为开发者的过程中很轻松,而签名生成须要字符串连贯以及 MD5 加密的形式,为此我也去学习了一下 MD5 加密的办法。

试验过程(10 分钟落地)

搭建利用
首先,我在明道云内创立了一个名为【翻译小助手】的利用,并创立了一张工作表【翻译表】,并蕴含四个字段{【需翻译内容】,【源语言】,【目标语言】,【翻译后果】},并在工作表内创立了一个【翻译】的按钮。这个按钮的目标是触发可能实现翻译性能的工作流。

配置工作流
依据 API 文档的要求,须要生成申请的签名,首先由 appid+query(须要翻译的内容)+salt+ 密钥拼接后生成一个字符串 1,字符串 1 经 MD5 加密后失去签名 sign。在百度云的治理控制台中失去 APPID 以及密钥信息。

salt 是一个自定义的随机字符串,我在明道云工作流中,通过代码块节点疾速实现了字符串 1 的拼接。

第二步是对字符串 1 进行 MD5 加密,同样通过代码块节点来实现。

第三步便是通过明道云的 webhook 节点,发送申请并返回翻译的后果。这一步一共须要发送 6 个参数,顺次是 q(申请的翻译内容)、from(源语言)、to(目标语言)、appid、salt 以及生成的签名 sign。我在这一步呈现了一些问题,from 和 to 须要依照翻译规定的代码来填写,因而依据 API 文档中提供的语言代码对照表,在利用内同步地做了一张语言对照表,并与翻译表建设了关联关系,同时在工作流最开始的节点中退出了获取 from 和 to 对应语言代码的节点。

(常见语种对应代码表)

(翻译利用内的语言对照表)

(获取源语言与目标语言的工作流节点)
在实现以上配置后,我终于靠近了起点。在 webhook 节点中,配置好发送申请的地址,以及各个参数的精确值,我进行了一次申请测试,后果没有让人悲观。

靠近起点了,但还没有完结。返回值是一个数组,而我真正想要的只是 dst 的值。而首次尝试后,我取得了一个相似于 [“vase”]的值,这当然还是不够完满的,那就用代码块实现最初的精修工作,终于我拿到了想要的后果。

验证性测试
实现了工作表的构建以及工作流的配置,仿佛利用曾经顺利完成,不过还须要对我预设的性能进行一个测试,次要包含:是否具备翻译性能,是否具备任意语言的相互翻译性能。

间接翻译功能测试
将巴黎圣母院翻译为英语,并由零碎自动检测源语言。

测试胜利!

任意语言测试
将 Notre Dame de Paris, 翻译为中文、日语、俄语等语言。


测试胜利!

二次试验(1 分钟插件化)

实现了翻译利用的搭建,仿佛达到了我的目标,可是理论利用中,难道我还得关上这个翻译利用去进行翻译吗,但这样的工作形式跟间接去百度翻译 web 版仿佛是一样麻烦,那么是否将这个利用作为一个相似于【插件】的性能,让其余利用都具备一个翻译能力呢?

答案是能够的,而且非常容易。

首先,只须要对刚刚做好的翻译利用进行进行一个微调。之前咱们是通过按钮触发的形式配置了工作流,只须要新建一个以工作表事件触发形式的工作流,相干的动作节点与之前的形式截然不同。

(以工作表事件触发的工作流)
而后关上任意一个咱们须要领有翻译能力的利用,抉择一张须要常常对其中内容进行翻译的工作表,进入【工作表编辑】,新建一个【关联记录】字段,并抉择曾经搭建好的【翻译小助手】利用的【翻译表】工作表建设关联关系。

(增加关联记录)
那么在指标工作表的记录中,就多了一个翻译插件的字段,咱们只需将这条记录内须要翻译的内容,复制下来,并粘贴填写进翻译插件字段内,就会失去翻译的后果了。


(翻译后果主动填入了翻译插件字段内)

试验总结

此次尝试能够说获得了不错的后果,这都依赖于明道云 APaaS 所具备的足够弱小且灵便的内部零碎对接能力,以及外部能够说毫无妨碍的跨利用数据关联能力,而这次尝试也让我对数据贯通以及数据中台有了更粗浅的意识。

我会持续尝试,通过集成内部零碎,让明道云的利用具备一些乏味的能力。

同时,明道云公布了利用库 2.0,在其中有很多弱小且乏味的利用等你挖掘,本次试验的【翻译小助手】利用也会公布在明道云利用库中,只须要装置 + 关联,您的利用就具备了肯定的翻译能力,还不快试试?

正文完
 0