Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@imlinhanchao/google-translate-api
Advanced tools
A free and unlimited API for Google Translate :dollar: :no_entry_sign: for Node.js.
This fork of original vitalets/google-translate-api/ contains several improvements:
language.js
.npm install @imlinhanchao/google-translate-api
From automatic language detection to English:
const translate = require('@imlinhanchao/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: "https://translate.google.cn"
URL for Google translate host to be used in API calls.
Type: object
The got options: https://github.com/sindresorhus/got#options
object
:text
(string) – The translated text.pronunciation
(string) – The pronunciation of text.candidates
(array) – The translated candidates result.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 from Vitaliy Potapov and maintained by Hancel Lin.
FAQs
A free and unlimited API for Google Translate
The npm package @imlinhanchao/google-translate-api receives a total of 2 weekly downloads. As such, @imlinhanchao/google-translate-api popularity was classified as not popular.
We found that @imlinhanchao/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
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.