博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Google Translate的API调用
阅读量:5819 次
发布时间:2019-06-18

本文共 1448 字,大约阅读时间需要 4 分钟。

Google Translate的API调用

由于经常用到谷歌翻译,而每次切换到网页又觉得耗费时间,所以决定自己写一个小工具来用,于是就去查询了一番谷歌翻译的API,但是看到都说是API已经开始收费了,但还是有人通过网页爬出了网页翻译的API但是利用起来比较繁琐。之后又找到了一个简单的API,如下:

fun translate(text: String, source: String = "auto", target: String = "zh-CN"): Pair
{ val textChecked = if (text.isBlank()) "null" else URLEncoder.encode(text, "utf8") val userAgent = "Mozilla/5.0" val url = "https://translate.googleapis.com/translate_a/single?client=gtx&sl=$source&tl=$target&dt=t&q=$textChecked" val connection = URL(url).openConnection().apply { setRequestProperty("User-Agent", userAgent) } val raw = connection.getInputStream().use { it.readBytes() }.toString(Charset.forName("utf8")) val p1 = raw.indexOf("\",\"") val p2 = raw.indexOf("\",", p1 + 1) val result = raw.substring(4, p1) val query = raw.substring(p1 + 3, p2) return Pair(result, query)}

测试函数如下:

fun main() {    println(translate("别让这么应景的天空放晴啊"))    println(translate("空気を読んだ空晴れないでよ"))    println(translate("别降下这么看场合的雨啊"))    println(translate("空気を読んだ雨降らないでよ"))    println(translate("He sits no sure that sits too high"))    println(translate("高处不胜寒", target = "en-US"))}

调用结果如下:

(别让这么应景的天空放晴啊, 别让这么应景的天空放晴啊)(我看空中的天空请不要晴天, 空気を読んだ空晴れないでよ)(别降下这么看场合的雨啊, 别降下这么看场合的雨啊)(看风雨时不要下雨, 空気を読んだ雨降らないでよ)(他不确定是不是太高了, He sits no sure that sits too high)(High altitude, 高处不胜寒)

translate函数参数分别是:需要翻译的字符串,原始语言(默认为auto,即自动检测),目标语言(默认zh-CN,即简体中文)。

translate函数返回结果为:翻译后的字符串,需要翻译的字符串(原始字符串)。

转载地址:http://pkzdx.baihongyu.com/

你可能感兴趣的文章
Java I/O操作
查看>>
Tomcat性能调优
查看>>
项目管理心得
查看>>
Android自学--一篇文章基本掌握所有的常用View组件
查看>>
灰度图像和彩色图像
查看>>
通过vb.net 和NPOI实现对excel的读操作
查看>>
TCP segmentation offload
查看>>
java数据类型
查看>>
数据结构——串的朴素模式和KMP匹配算法
查看>>
FreeMarker-Built-ins for strings
查看>>
验证DataGridView控件的数据输入
查看>>
POJ1033
查看>>
argparse - 命令行选项与参数解析(转)
查看>>
一维数组
查看>>
Linux学习笔记之三
查看>>
修改上一篇文章的node.js代码,支持默认页及支持中文
查看>>
Php实现版本比较接口
查看>>
删除设备和驱动器中软件图标
查看>>
第四章 TCP粘包/拆包问题的解决之道---4.1---
查看>>
html语言
查看>>