一键部署 translate.service
服务器规格
核心:1核
内存:1G
操作系统:CentOS 7.4 (这个版本没有可选 7.6)
系统盘:默认的系统盘就行。无需数据盘
弹性公网IP:按流量计费(带宽大小10MB。如果你只是你自己用,翻译的量不大,你完全可以选1MB带宽)
其他的未注明的,都按照怎么省钱怎么来选即可。
备注
这里会有多个型号,比如什么s3、s6、t6的,你就选最便宜的就行。(一般t6是最便宜的,选它就行)
安全组:要开放22、80这两个端口
部署
1. 执行shell命令进行一键部署安装
wget https://gitee.com/mail_osc/translate/raw/master/deploy/install_translate.service.sh -O install.sh && chmod -R 777 install.sh && sh ./install.sh
配置翻译通道
修改配置文件 /mnt/tomcat8/webapps/ROOT/WEB-INF/classes/application.properties ,在最后增加两个配置
#
# translate.js 的企业级翻译通道
# 通道的域名,格式如: http://api.translate.zvo.cn
translate.service.leimingyun.domain=http://api.translate.zvo.cn
# 唯一身份标识 key, 通过这里开通 https://translate.zvo.cn/4040.html
translate.service.leimingyun.key=xxxxxxx
配置好后,重启tomcat,即可完成(你也可以图省事,直接reboot命令重启服务器也行)
使用
在 translate.execute(); 之前,加入一行代码,来指定翻译接口,如下所示:
translate.request.api.host='http://121.121.121.121/'; //将这里面的ip地址换成你服务器的ip,注意开头,及结尾还有个 / 别拉下
translate.service.use('translate.service');
translate.execute();
如此,翻译请求接口就会走您自己服务器了。有关这个得详细说明,可参考: http://translate.zvo.cn/41553.html
注意,因为这里你是私有部署的translate.service,所以translate.js 中使用时记得要用 translate.service.use('translate.service');
而不是 client.edge 有关 translate.service 跟 client.edge 的区别可点此查看
其他扩展
https场景支持
如果你网站使用的是https协议,那翻译接口你也要变为https协议,不然会请求不到。
比如可以使用华为云的全站加速服务,然后在此服务中配置SSL证书使之支持https
将http变为https方式很多,这里只是提的一种比较方便的方式,其他具体的可以自行尝试,也或者我们出技术人员帮您操作,收几百人工费。
采用小牛翻译的翻译通道
1. 注册小牛翻译通道
translate.zvo.cn/41737.html
小牛翻译对我们进行合作赞助,每日送20W翻译量。满足了绝大多数网站使用场景,相当于免费用
2. 配置小牛翻译参数
修改配置文件 /mnt/tomcat8/webapps/ROOT/WEB-INF/classes/application.properties ,在最后增加一行配置
translate.service.niutrans.apikey=xxxxxxxxx
注意, translate.service.niutrans 开头的表示使用 niutrans 的通道,你要吧其他的 translate.service.xxx.xxxx 的通道的配置注释掉,便是不用其他的通道,使用 niutrans 的通道。
这里的值就是你上一步中获取到的小牛翻译的apikey
配置好后,重启tomcat,即可完成(你也可以图省事,直接reboot命令重启服务器也行)
采用华为云翻译提供翻译服务
首先,您要通过上面命令已安装部署好。
进入华为云翻译的控制台,网址: https://console.huaweicloud.com/nlp/#/nlp/call-guide/call-api
获取到 Token 认证中的 username、domainname、projectname 的值 然后将下面的username、domainname、projectname、password这四个参数请填上你当前自己的参数。
# 将上面获取到的 username、domainname、projectname 的值填入
export username=hw012345678
export domainname=hw012345678
export projectname=cn-north-4
# 你当前华为云账号登录的密码
export password=1234567890
# 注意 ,请将上面四个参数填上你当前的参数。
#
cd ~
wget https://gitee.com/mail_osc/translate_service/raw/master/install/huaweicloud_config.sh -O huaweicloud_config.sh && chmod -R 777 huaweicloud_config.sh && sh ./huaweicloud_config.sh
运行后完成设置,等待两分钟重启服务,然后测试一下,完成。
其他翻译服务的接入
可对接任意的翻译接口进行非常方便的扩展。比如百度翻译、华为云翻译、谷歌翻译、以及对接开源翻译引擎等等。
扩展时,有以下几点需要注意:
- 将扩展的翻译服务对接的实现,都要放到 cn.zvo.translate.service 这个包下。比如对接华为云翻译,那就建立一个 cn.zvo.translate.service 包,在这个包下建立一个名为 ServiceInterfaceImplement.java 的类
- ServiceInterfaceImplement 要实现 cn.zvo.translate.core.service.interfaces.ServiceInterface 接口
- 在跟翻译服务对接时,网络请求这块使用 cn.zvo.http.Http 这个,其使用说明参见 https://github.com/xnx3/http.java, 这样不至于引入很多杂七杂八的支持包进去。当然如果单纯就只是你自己用,你可以直接吧对方SDK,通过修改 pom.xml 中加入,来引入一堆的三方jar包。
- 要有一个构造方法,构造方法需要传入Map,具体代码如下
public ServiceInterfaceImplement(Map<String, String> config) {
//可以使用 config.get('username') 获取 application.peroperties 中设置的 translate.service.huawei.username 的值
}
- application.peroperties 中的配置项,按照上面所示的 translate.service.huawei.username ,其中:
- translate.service 是固定的
- huawei 是在 cn.zvo.translate.service 包下所建立的针对华为云翻译所建立的包名
- username 是自己定义的一个参数名,这里叫username,那么在 ServiceInterfaceImplement 的构造方法中获取时,也要用 config.get(“username”) 来取
这里已内置了几个翻译服务的对接示例,小牛翻译、华为云翻译、translate.js企业版翻译通道 ,比如可以参考华为云翻译的实现 cn.zvo.translate.service.huawei.ServiceInterfaceImplement.java 来对接自己想要接入的翻译通道。
各种翻译通道的收费参考
通道 | 收费 |
---|---|
小牛翻译 | 每100万字符/50元 |
华为云翻译 | 每100万字符/35元 |
translate.js 企业级翻译通道 | 每天500万字符上限/100元每月 |
私有部署机器翻译通道,可无外网环境使用 | 无上限,一次性部署费用 |
其他收费赞助
收费项 | 金额 |
---|---|
帮部署 translate.service (对接好 小牛翻译/华为云翻译/translate.js企业级翻译通道 中的一种 ) | 700元 |
加装 谷歌翻译(免费翻译) | 1000元 |
加装 微软翻译(免费翻译) | 1000元 |
加装 全球多节点网络加速 | 500元/节点 |
开发,帮对接好您指定的翻译通道 | 1500元 |
开发,帮您搭建好本地开发环境并导入源码运行、发布线上部署,并含两次线上会议指导 | 1500元 |
注意,以上不含长期维护费用,需要后期维护可按照后期实际参与的工时算。
私有部署需要准备的事情
如果您对部署方面不懂,比如未操作过linux服务器,我们也可以安排技术人员帮咱进行这个操作,您需要准备的材料有:
- 服务器(如果这块不懂,我们技术人员来帮你完成整个选择跟购买)
- 域名,您需要提前准备一个用来作为接口请求的域名,比如 service.xxx.com ,使用二级域名即可,不要用 www 的顶级域名。
- 针对上面的域名,需要一个SSL证书(要在 Nginx 中使用)