What is @google-cloud/translate?
@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.
What are @google-cloud/translate's main functionalities?
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();
Other packages similar to @google-cloud/translate
aws-sdk
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.
microsoft-cognitiveservices-speech-sdk
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.
deepl
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-cloud/translate (GA)
Cloud Translation API Client Library for Node.js
Looking for more Google APIs than just Translation? 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.translate('Hello', 'es', function(err, translation) {
if (!err) {
}
});
translate.detect('Hello', function(err, results) {
if (!err) {
}
});
translate.getLanguages(function(err, languages) {
if (!err) {
}
});
translate.getLanguages().then(function(data) {
var languages = data[0];
});
var translate = require('@google-cloud/translate')({
promise: require('bluebird')
});
Authentication
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 Cloud services.
On Google Cloud Platform
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')();
With a Google Developers Service Account
If you are not running this client on Google Cloud Platform, you need a Google Developers service account. To create a service account:
- Visit the [Google Developers Console][dev-console].
- Create a new project or click on an existing project.
- Navigate to APIs & auth > APIs section and turn on the following APIs (you may need to enable billing in order to use these services):
- Google Cloud Translation API
- Navigate to APIs & auth > Credentials and then:
- If you want to use a new service account key, click on Create credentials and select Service account key. After the account key is created, you will be prompted to download the JSON key file that the library uses to authenticate your requests.
- If you want to generate a new service account key for an existing service account, click on Generate new JSON key and download the JSON key file.
- If you want to use an API key, click on Create credentials and select API key. After the API key is created, you will see a newly opened modal with the API key in a field named Your API key that the library uses to authenticate your requests.
- If you want to generate a new API key for an existing API key, click on an existing API key and click Regenerate key.
var projectId = process.env.GCLOUD_PROJECT;
var translate = require('@google-cloud/translate')({
projectId: projectId,
keyFilename: '/path/to/keyfile.json'
credentials: require('./path/to/keyfile.json')
key: '...'
});
With an API key
It's also possible to authenticate with an API key. To create an API key:
- Visit the [Google Developers Console][dev-console].
- Create a new project or click on an existing project.
- Navigate to APIs & auth > APIs section and turn on the following APIs (you may need to enable billing in order to use these services):
- Navigate to APIs & auth > Credentials and then click on Create new Client ID and select API key. You should then be presented with a pop-up containing your newly created key.
var translate = require('@google-cloud/translate')({
key: 'API Key'
});