
Security News
/Research
Wallet-Draining npm Package Impersonates Nodemailer to Hijack Crypto Transactions
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
fanyi-google
Advanced tools
A free and unlimited API for Google Translate :dollar: :no_entry_sign: for Node.js.
npm i fanyi-google
From automatic language detection to English:
const translate = require('fanyi-google');
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.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
google翻译 | google-translate-api
The npm package fanyi-google receives a total of 2 weekly downloads. As such, fanyi-google popularity was classified as not popular.
We found that fanyi-google 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
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.