# google-translate-api
[](https://github.com/vitalets/google-translate-api/actions)
[](https://www.npmjs.com/package/@vitalets/google-translate-api)
[](https://github.com/sindresorhus/xo)
[](https://coveralls.io/github/vitalets/google-translate-api?branch=master)
A **free** and **unlimited** API for Google Translate :dollar: :no_entry_sign: for Node.js.
## Features
- Auto language detection
- Spelling correction
- Language correction
- Fast and reliable – it uses the same servers that [translate.google.com](https://translate.google.com) uses
## Why this fork?
This fork of original [matheuss/google-translate-api](https://github.com/matheuss/google-translate-api) contains several improvements:
- New option `client="t|gtx"`. Setting `client="gtx"` seems to work even with outdated token, see [this discussion](https://github.com/matheuss/google-translate-api/issues/79#issuecomment-425679193) for details
- Fixed extraction of TKK ceed from current `https://translate.google.com` sources (via [@vitalets/google-translate-token](https://github.com/vitalets/google-translate-token))
- Removed unsecure `unsafe-eval` dependency (See [#2](https://github.com/vitalets/google-translate-api/pull/2))
- Added [daily CI tests](https://travis-ci.org/vitalets/google-translate-api/builds) to get notified if Google API changes
- Added support for custom `tld` (especially to support `translate.google.cn`, see [#7](https://github.com/vitalets/google-translate-api/pull/7))
- Added support for outputting pronunciation (see [#17](https://github.com/vitalets/google-translate-api/pull/17))
- Added support for custom [got](https://github.com/sindresorhus/got) options. It allows to use proxy and bypass request limits (see [#25](https://github.com/vitalets/google-translate-api/pull/25))
- Added support for language extensions from outside of the API (see [#18](https://github.com/vitalets/google-translate-api/pull/18))
- Added TypeScript definitions (see [#50](https://github.com/vitalets/google-translate-api/pull/50), thanks to [@olavoparno](https://github.com/olavoparno))
- Migrated to Google's latest batch-style RPC API (see [#60](https://github.com/vitalets/google-translate-api/pull/60), thanks to [@vkedwardli](https://github.com/vkedwardli))
## Install
```
npm install @vitalets/google-translate-api
```
## Usage
From automatic language detection to English:
```js
const translate = require('@vitalets/google-translate-api');
translate('Ik spreek Engels', {to: 'en'}).then(res => {
console.log(res.text);
//=> I speak English
console.log(res.from.language.iso);
//=> nl
}).catch(err => {
console.error(err);
});
```
From English to Dutch with a typo:
```js
translate('I spea Dutch!', {from: 'en', to: 'nl'}).then(res => {
console.log(res.text);
//=> Ik spreek Nederlands!
console.log(res.from.text.autoCorrected);
//=> true
console.log(res.from.text.value);
//=> I [speak] Dutch!
console.log(res.from.text.didYouMean);
//=> false
}).catch(err => {
console.error(err);
});
```
Sometimes, the API will not use the auto corrected text in the translation:
```js
translate('I spea Dutch!', {from: 'en', to: 'nl'}).then(res => {
console.log(res);
console.log(res.text);
//=> Ik spea Nederlands!
console.log(res.from.text.autoCorrected);
//=> false
console.log(res.from.text.value);
//=> I [speak] Dutch!
console.log(res.from.text.didYouMean);
//=> true
}).catch(err => {
console.error(err);
});
```
You can also add languages in the code and use them in the translation:
``` js
translate = require('google-translate-api');
translate.languages['sr-Latn'] = 'Serbian Latin';
translate('translator', {to: 'sr-Latn'}).then(res => ...);
```
## Proxy
Google Translate has request limits. If too many requests are made, you can either end up with a 429 or a 503 error.
You can use **proxy** to bypass them:
```js
const tunnel = require('tunnel');
translate('Ik spreek Engels', {to: 'en'}, {
agent: tunnel.httpsOverHttp({
proxy: {
host: 'whateverhost',
proxyAuth: 'user:pass',
port: '8080',
headers: {
'User-Agent': 'Node'
}
}
}
)}).then(res => {
// do something
}).catch(err => {
console.error(err);
});
```
## Does it work from web page context?
No. `https://translate.google.com` does not provide [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) http headers allowing access from other domains.
## API
### translate(text, [options], [gotOptions])
#### text
Type: `string`
The text to be translated
#### options
Type: `object`
##### from
Type: `string` Default: `auto`
The `text` language. Must be `auto` or one of the codes/names (not case sensitive) contained in [languages.js](https://github.com/vitalets/google-translate-api/blob/master/languages.js)
##### to
Type: `string` Default: `en`
The language in which the text should be translated. Must be one of the codes/names (case sensitive!) contained in [languages.js](https://github.com/vitalets/google-translate-api/blob/master/languages.js).
##### raw
Type: `boolean` Default: `false`
If `true`, the returned object will have a `raw` property with the raw response (`string`) from Google Translate.
##### client
Type: `string` Default: `"t"`
Query parameter `client` used in API calls. Can be `t|gtx`.
##### tld
Type: `string` Default: `"com"`
TLD for Google translate host to be used in API calls: `https://translate.google.{tld}`.
#### gotOptions
Type: `object`
The got options: https://github.com/sindresorhus/got#options
### Returns an `object`:
- `text` *(string)* – The translated text.
- `from` *(object)*
- `language` *(object)*
- `didYouMean` *(boolean)* - `true` if the API suggest a correction in the source language
- `iso` *(string)* - The [code of the language](https://github.com/vitalets/google-translate-api/blob/master/languages.js) that the API has recognized in the `text`
- `text` *(object)*
- `autoCorrected` *(boolean)* – `true` if the API has auto corrected the `text`
- `value` *(string)* – The auto corrected `text` or the `text` with suggested corrections
- `didYouMean` *(boolean)* – `true` if the API has suggested corrections to the `text`
- `raw` *(string)* - If `options.raw` is true, the raw response from Google Translate servers. Otherwise, `''`.
Note that `res.from.text` will only be returned if `from.text.autoCorrected` or `from.text.didYouMean` equals to `true`. In this case, it will have the corrections delimited with brackets (`[ ]`):
```js
translate('I spea Dutch').then(res => {
console.log(res.from.text.value);
//=> I [speak] Dutch
}).catch(err => {
console.error(err);
});
```
Otherwise, it will be an empty `string` (`''`).
## License
MIT © [Matheus Fernandes](http://matheus.top), forked and maintained by [Vitaliy Potapov](https://github.com/vitalets).
没有合适的资源?快使用搜索试试~ 我知道了~
google-translate-api:Google Translate的免费无限制API

共11个文件
js:3个
json:2个
yml:1个


温馨提示
google-translate-api Google Translate的免费和无限API :dollar_banknote: :prohibited: 用于Node.js。 产品特点 自动语言检测 拼写校正 语言校正 快速可靠–它使用的服务器与使用的服务器相同 为什么要用这个叉子? 原始此分支包含多项改进: 新选项client="t|gtx" 。 设置client="gtx"似乎也可以使用过期的令牌,有关详细信息,请参见此 修复了从当前https://translate.google.com来源提取TKK (通过 ) 删除了不安全的unsafe-eval依赖项(请参阅 ) 添加了以在Google API更改时获得通知 添加了对自定义tld ( tld支持(尤其是支持translate.google.cn ,请参阅 ) 添加了对输出发音的支持(请参阅 ) 新增支持自定义选项。 它允许使用代理和绕过请求限制(请参阅 ) 添加了对来自API外部的语言扩展的支持(请参阅 ) 添加了TypeScript定义(请参阅 ,感谢 ) 迁移到Google的最新批处理样式RPC
资源详情
资源评论
资源推荐
收起资源包目录















共 11 条
- 1




























仰光的瑞哥
- 粉丝: 30
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 网络配送合作协议书范本.doc
- 检索词和数据库-研-PPT课件.ppt
- 更新版最新电大国家开放大学《基础会计》网络核心课形考作业试题及答案.pdf
- 互联网企业管理创新与人才开发.pptx
- 网络营销基础知识专业讲座.pptx
- 直流系统安全运行常识.doc
- 网络系统使用手册.doc
- 网络虚拟财产侵权对象是什么?.doc
- 金蝶软件常用快捷键.doc
- 智慧城市大数据方案PPT课件.pptx
- 基因工程、细胞工程复习.ppt
- 2023年计算机二级考试语言知识点总结.doc
- 最新网络技术和电子商务设计.doc
- solon-ai-Java资源
- 外贸网络营销SEO优化.pptx
- 互联网+时代如何做好会计基础教学【精品发布】.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论1