Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iamtraction/google-translate
🈯 A Node.JS library to consume Google Translate API for free.
https://github.com/iamtraction/google-translate
api google google-translate google-translate-api hacktoberfest javascript js node nodejs translate translate-api
Last synced: 11 days ago
JSON representation
🈯 A Node.JS library to consume Google Translate API for free.
- Host: GitHub
- URL: https://github.com/iamtraction/google-translate
- Owner: iamtraction
- License: mit
- Created: 2018-02-11T06:12:44.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-05-15T07:51:47.000Z (6 months ago)
- Last Synced: 2024-10-27T13:30:25.169Z (14 days ago)
- Topics: api, google, google-translate, google-translate-api, hacktoberfest, javascript, js, node, nodejs, translate, translate-api
- Language: JavaScript
- Homepage: https://npmjs.com/@iamtraction/google-translate
- Size: 86.9 KB
- Stars: 539
- Watchers: 15
- Forks: 70
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Google Translate API
A [Node.JS](https://nodejs.org) library to consume Google Translate for free.[![GitHub release](https://img.shields.io/github/release/iamtraction/google-translate.svg?style=flat)](https://github.com/iamtraction/google-translate/releases)
[![Dependencies](https://david-dm.org/iamtraction/google-translate.svg)](https://david-dm.org/iamtraction/google-translate)
[![Known Vulnerabilities](https://snyk.io/test/github/iamtraction/google-translate/badge.svg?targetFile=package.json)](https://snyk.io/test/github/iamtraction/google-translate?targetFile=package.json)
[![license](https://img.shields.io/github/license/iamtraction/google-translate.svg)](LICENSE)### Feature Highlights
* Automatically detect source language
* Automatic spelling corrections
* Automatic language correction
* Fast and reliable## Table of Contents
* [Installation](#installation)
* [Usage](#usage)
* [Examples](#examples)
* [Credits, etc](#extras)## Installation
```bash
# Stable version, from npm repository
npm install --save @iamtraction/google-translate# Latest version, from GitHub repository
npm install --save iamtraction/google-translate
```## Usage
```js
// If you've installed from npm, do:
const translate = require('@iamtraction/google-translate');// If you've installed from GitHub, do:
const translate = require('google-translate');
```#### Method: `translate(text, options)`
```js
translate(text, options).then(console.log).catch(console.error);
```
| Parameter | Type | Optional | Default | Description |
|-|-|-|-|-|
| `text` | `String` | No | - | The text you want to translate. |
| `options` | `Object` | - | - | The options for translating. |
| `options.from` | `String` | Yes | `'auto'` | The language name/ISO 639-1 code to translate from. If none is given, it will auto detect the source language. |
| `options.to` | `String` | Yes | `'en'` | The language name/ISO 639-1 code to translate to. If none is given, it will translate to English. |
| `options.raw` | `Boolean` | Yes | `false` | If `true`, it will return the raw output that was received from Google Translate. |#### Returns: `Promise`
**Response Object:**| Key | Type | Description |
|-|-|-|
| `text` | `String` | The translated text. |
| `from` | `Object` | - |
| `from.language` | `Object` | - |
| `from.language.didYouMean` | `Boolean` | Whether or not the API suggest a correction in the source language. |
| `from.language.iso` | `String` | The ISO 639-1 code of the language that the API has recognized in the text. |
| `from.text` | `Object` | - |
| `from.text.autoCorrected` | `Boolean` | Whether or not the API has auto corrected the original text. |
| `from.text.value` | `String` | The auto corrected text or the text with suggested corrections. Only returned if `from.text.autoCorrected` or `from.text.didYouMean` is `true`. |
| `from.text.didYouMean` | `Boolean` | Wherether or not the API has suggested corrections to the text |
| `raw` | `String` | The raw response from Google Translate servers. Only returned if `options.raw` is `true` in the request options. |## Examples
#### From automatic language detection to English:
```js
translate('Tu es incroyable!', { to: 'en' }).then(res => {
console.log(res.text); // OUTPUT: You are amazing!
}).catch(err => {
console.error(err);
});
```#### From English to French, with a typo:
```js
translate('Thank you', { from: 'en', to: 'fr' }).then(res => {
console.log(res.text); // OUTPUT: Je vous remercie
console.log(res.from.autoCorrected); // OUTPUT: true
console.log(res.from.text.value); // OUTPUT: [Thank] you
console.log(res.from.text.didYouMean); // OUTPUT: false
}).catch(err => {
console.error(err);
});
```#### Sometimes Google Translate won't auto correct:
```js
translate('Thank you', { from: 'en', to: 'fr' }).then(res => {
console.log(res.text); // OUTPUT: ''
console.log(res.from.autoCorrected); // OUTPUT: false
console.log(res.from.text.value); // OUTPUT: [Thank] you
console.log(res.from.text.didYouMean); // OUTPUT: true
}).catch(err => {
console.error(err);
});
```## Extras
If you liked this project, please give it a ⭐ in [**GitHub**](https://github.com/iamtraction/google-translate).> Credits to [matheuss](https://github.com/matheuss) for writing the original version of this library. I rewrote this, with improvements and without using many external libraries, as his library was not actively developed and had vulnerabilities.