
Research
Namastex.ai npm Packages Hit with TeamPCP-Style CanisterWorm Malware
Malicious Namastex.ai npm packages appear to replicate TeamPCP-style Canister Worm tradecraft, including exfiltration and self-propagation.
@34r7h/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 @34r7h/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.

Research
Malicious Namastex.ai npm packages appear to replicate TeamPCP-style Canister Worm tradecraft, including exfiltration and self-propagation.

Product
Explore exportable charts for vulnerabilities, dependencies, and usage with Reports, Socket’s new extensible reporting framework.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.