首先来个起源,因为家里来了个不懂中文的看护,所以我老妈只能很辛苦的跟他用google翻译来了解阿公阿嬷的状况,但是这衍伸出了一个问题就是,必须要面对面才能使用google翻译,所以我就一直在想,有没有办法能让家里人和看护能进行沟通,于是呢...我就想用WEB来解决这个问题,利用聊天室的方式,把家人和看护通通抓进来,然后使用google的API去做翻译,于是我很兴奋的画了个土砲流程图,这时问题来了...要怎么提醒阿=..=
瞬间我醒了,WEB无法在手机上面做到提醒的功能阿阿阿阿阿阿,如果开发成APP,还要下载,总之一切麻烦....
正当我要放弃的时候,看到了这一篇吉哥的分享-LineBot多国语言翻译,于是我灵机一动,如果把里面的程式改一下,是不是就能达成我的目的,虽然说没办法全自动,但是土砲型应该可以,所以我就动手做了,以下为主要的程式码和完成的截图,因为heroku的部分我实在不熟,所以就不方便在此献丑,请各位参考吉哥的教学,谢谢
================程式码===================
首先引用的部分,吉哥引用的google-translate-api好像google有修改过,所以在执行的时候会出现错误,于是我改用了国外开发者的@vitalets/google-translate-api,目前执行的好好的,给大家参考一下
var translate = require('@vitalets/google-translate-api');// 这一段的程式是专门处理当有人传送文字讯息给LineBot时,我们的处理回应bot.on('message', function(event) {if (event.message.type = 'text') { var msg = event.message.text; var a = new Array(); if (msg.indexOf(":") != -1) { var a = msg.split(":"); } console.log(a); if (a[0] == '0') { translate(a[1], { client: 'gtx', to: 'id' }) .then(res => event.reply(res.text)); } else { translate(msg, { client: 'gtx', to: 'zh-TW' }) .then(res => event.reply(res.text)); }}
});
以上就是主要的程式码,请大家参考
简单解释一下,如果我要翻译成印尼文,那我就把讯息前面加[0:],如下图所示,如果要翻译成中文,那就直接输入就可以了。
=========截图=========
使用之后发现有几个小问题
机器人太吵了,每一句话都会回应一次,努力改进中今天在截测试图的时候,反应有点慢,害我以为他当机了没办法自动辨识语系,离完美还差一点点真的真的很感谢吉哥,让我又能多一个好玩的东西可以玩,如有侵权或任何问题请通知,我会马上删帖