Awesome
Google Translate API
A Node.JS library to consume Google Translate for free.
Feature Highlights
- Automatically detect source language
- Automatic spelling corrections
- Automatic language correction
- Fast and reliable
Table of Contents
Installation
# Stable version, from npm repository
npm install --save @iamtraction/google-translate
# Latest version, from GitHub repository
npm install --save iamtraction/google-translate
Usage
// 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)
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<Object>
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:
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:
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:
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.
Credits to 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.