A Node.JS library to consume Google Translate for free.
- Automatically detect source language
- Automatic spelling corrections
- Automatic language correction
- Fast and reliable
# Stable version, from npm repository
npm install --save @iamtraction/google-translate
# Latest version, from GitHub repository
npm install --save iamtraction/google-translate
// 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');
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. |
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. |
translate('Tu es incroyable!', { to: 'en' }).then(res => {
console.log(res.text); // OUTPUT: You are amazing!
}).catch(err => {
console.error(err);
});
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);
});
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);
});
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.