Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
@vitalets/google-translate-api
Advanced tools
A free and unlimited API for Google Translate :dollar: :no_entry_sign: for Node.js.
This fork of original matheuss/google-translate-api contains several improvements:
client="t|gtx"
. Setting client="gtx"
seems to work even with outdated token, see this discussion for detailshttps://translate.google.com
sources (via @vitalets/google-translate-token)unsafe-eval
dependency (See #2)tld
(especially to support translate.google.cn
, see #7)npm install @vitalets/google-translate-api
From automatic language detection to English:
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);
});
Please note that maximum text length for single translation call is 5000 characters. In case of longer text you should split it on chunks, see #20.
From English to Dutch with a typo:
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:
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:
translate = require('google-translate-api');
translate.languages['sr-Latn'] = 'Serbian Latin';
translate('translator', {to: 'sr-Latn'}).then(res => ...);
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:
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);
});
No. https://translate.google.com
does not provide CORS http headers allowing access from other domains.
Type: string
The text to be translated
Type: object
Type: string
Default: auto
The text
language. Must be auto
or one of the codes/names (not case sensitive) contained in languages.js
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.
Type: boolean
Default: false
If true
, the returned object will have a raw
property with the raw response (string
) from Google Translate.
Type: string
Default: "t"
Query parameter client
used in API calls. Can be t|gtx
.
Type: string
Default: "com"
TLD for Google translate host to be used in API calls: https://translate.google.{tld}
.
Type: object
The got options: https://github.com/sindresorhus/got#options
object
:text
(string) – The translated text.from
(object)
language
(object)
didYouMean
(boolean) - true
if the API suggest a correction in the source languageiso
(string) - The code of the language 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 correctionsdidYouMean
(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 ([ ]
):
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
(''
).
MIT © Matheus Fernandes, forked and maintained by Vitaliy Potapov.
FAQs
A free and unlimited API for Google Translate
The npm package @vitalets/google-translate-api receives a total of 49,288 weekly downloads. As such, @vitalets/google-translate-api popularity was classified as popular.
We found that @vitalets/google-translate-api demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.