
Security News
/Research
Popular node-ipc npm Package Infected with Credential Stealer
Socket detected malicious node-ipc versions with obfuscated stealer/backdoor behavior in a developing npm supply chain attack.
@f97/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);
});
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 texttext (object)
autoCorrected (boolean) – true if the API has auto corrected the textvalue (string) – The auto corrected text or the text with suggested correctionsdidYouMean (boolean) – true if the API has suggested corrections to the textraw (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 ('').
vertaler – CLI for this moduleMIT © Matheus Fernandes, forked and maintained by Vitaliy Potapov.
FAQs
A free and unlimited API for Google Translate
We found that @f97/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
/Research
Socket detected malicious node-ipc versions with obfuscated stealer/backdoor behavior in a developing npm supply chain attack.

Security News
TeamPCP and BreachForums are promoting a Shai-Hulud supply chain attack contest with a $1,000 prize for the biggest package compromise.

Security News
Packagist urges PHP projects to update Composer after a GitHub token format change exposed some GitHub Actions tokens in CI logs.