
Research
Security News
Lazarus Strikes npm Again with New Wave of Malicious Packages
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
@google-cloud/translate
Advanced tools
@google-cloud/translate is a Node.js client library for Google Cloud Translation API. It allows developers to translate text between thousands of language pairs, detect the language of text, and get a list of supported languages.
Translate Text
This feature allows you to translate text from one language to another. In this example, the text 'Hello, world!' is translated to Spanish ('es').
const {Translate} = require('@google-cloud/translate').v2;
const translate = new Translate();
async function translateText() {
const text = 'Hello, world!';
const target = 'es';
const [translation] = await translate.translate(text, target);
console.log(`Text: ${text}`);
console.log(`Translation: ${translation}`);
}
translateText();
Detect Language
This feature allows you to detect the language of a given text. In this example, the language of 'Bonjour le monde' is detected.
const {Translate} = require('@google-cloud/translate').v2;
const translate = new Translate();
async function detectLanguage() {
const text = 'Bonjour le monde';
const [detection] = await translate.detect(text);
console.log(`Text: ${text}`);
console.log(`Language: ${detection.language}`);
}
detectLanguage();
List Supported Languages
This feature allows you to get a list of all supported languages for translation. The example code retrieves and prints the list of supported languages.
const {Translate} = require('@google-cloud/translate').v2;
const translate = new Translate();
async function listLanguages() {
const [languages] = await translate.getLanguages();
console.log('Languages:', languages);
}
listLanguages();
The AWS SDK for JavaScript provides a set of services including Amazon Translate, which offers similar functionalities to @google-cloud/translate. Amazon Translate can translate text between multiple languages and detect the source language. However, it is part of a broader suite of AWS services and may require more setup if you are only interested in translation.
This SDK from Microsoft provides access to the Azure Cognitive Services, including the Translator Text API. It offers similar functionalities such as text translation and language detection. The Azure Translator Text API is known for its high-quality translations and extensive language support, comparable to Google Cloud Translation.
The deepl npm package provides access to the DeepL API, which is known for its high-quality translations. DeepL supports fewer languages compared to Google Cloud Translation but is often praised for its accuracy and fluency in translations. It is a good alternative if you need high-quality translations for supported languages.
Google Translate API Client Library for Node.js
Looking for more Google APIs than just Translate? You might want to check out google-cloud
.
$ npm install --save @google-cloud/translate
var translate = require('@google-cloud/translate')({
projectId: 'grape-spaceship-123',
keyFilename: '/path/to/keyfile.json'
});
// Translate a string of text.
translate.translate('Hello', 'es', function(err, translation) {
if (!err) {
// translation = 'Hola'
}
});
// Detect a language from a string of text.
translate.detect('Hello', function(err, results) {
if (!err) {
// results = {
// language: 'en',
// confidence: 1,
// input: 'Hello'
// }
}
});
// Get a list of supported languages.
translate.getLanguages(function(err, languages) {
if (!err) {
// languages = [
// 'af',
// 'ar',
// 'az',
// ...
// ]
}
});
// Promises are also supported by omitting callbacks.
translate.getLanguages().then(function(data) {
var languages = data[0];
});
// It's also possible to integrate with third-party Promise libraries.
var translate = require('@google-cloud/translate')({
promise: require('bluebird')
});
It's incredibly easy to get authenticated and start using Google's APIs. You can set your credentials on a global basis as well as on a per-API basis. See each individual API section below to see how you can auth on a per-API-basis. This is useful if you want to use different accounts for different Google Cloud services.
If you are running this client on Google Cloud Platform, we handle authentication for you with no configuration. You just need to make sure that when you [set up the GCE instance][gce-how-to], you add the correct scopes for the APIs you want to access.
var translate = require('@google-cloud/translate')();
// ...you're good to go!
If you are not running this client on Google Cloud Platform, you need a Google Developers service account. To create a service account:
var projectId = process.env.GCLOUD_PROJECT; // E.g. 'grape-spaceship-123'
var translate = require('@google-cloud/translate')({
projectId: projectId,
// The path to your key file:
keyFilename: '/path/to/keyfile.json'
// Or the contents of the key file:
credentials: require('./path/to/keyfile.json')
// Your API key (if not using a service account JSON file):
key: '...'
});
// ...you're good to go!
It's also possible to authenticate with an API key. To create an API key:
var translate = require('@google-cloud/translate')({
key: 'API Key'
});
// ...you're good to go!
FAQs
Cloud Translation API Client Library for Node.js
The npm package @google-cloud/translate receives a total of 177,296 weekly downloads. As such, @google-cloud/translate popularity was classified as popular.
We found that @google-cloud/translate demonstrated a healthy version release cadence and project activity because the last version was released less than 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
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.
Security News
Opengrep continues building momentum with the alpha release of its Playground tool, demonstrating the project's rapid evolution just two months after its initial launch.