Install the Google Cloud Translation Package
- To begin integrating Google Cloud Translation API in a Node.js application, you should install the necessary cloud translation library. You can do this by installing `@google-cloud/translate` package using npm.
npm install @google-cloud/translate
Import and Configure the Google Cloud Translate Client
- Once the package is installed, you need to import it into your Node.js application. It's also essential to configure the client correctly, which typically involves specifying the path to your service account key file.
const {Translate} = require('@google-cloud/translate').v2;
// Instantiates a client with your credentials file path
const translate = new Translate({
keyFilename: 'path-to-your-service-account-file.json'
});
Translate Text Using the API
- With the client set up, you can use the `translate` method to translate text. This method requires the text to translate and the target language.
async function translateText(text, targetLanguage) {
try {
let [translations] = await translate.translate(text, targetLanguage);
translations = Array.isArray(translations) ? translations : [translations];
console.log('Translations:');
translations.forEach((translation, i) => {
console.log(`${text[i]} => ${translation}`);
});
} catch (error) {
console.error('ERROR:', error);
}
}
// Example usage
translateText(['Hello, world!', 'How are you?'], 'es'); // Translates to Spanish
Detecting Languages
- Another feature provided by the API is language detection. Use the `detect` method to identify the language of a given text.
async function detectLanguage(text) {
try {
let [detections] = await translate.detect(text);
detections = Array.isArray(detections) ? detections : [detections];
console.log('Detections:');
detections.forEach(detection => {
console.log(`${detection.input} => ${detection.language}`);
});
} catch (error) {
console.error('ERROR:', error);
}
}
// Example usage
detectLanguage('Hola, ¿cómo estás?'); // Detects the language as Spanish
List Supported Languages
- You can retrieve a list of all languages supported by the Google Cloud Translation API with the `getLanguages` method. This list can be filtered by providing a `target` language to get the names in that language.
async function listSupportedLanguages(targetLanguage) {
try {
const [languages] = await translate.getLanguages(targetLanguage);
console.log('Languages:');
languages.forEach(language => {
console.log(`${language.name} (${language.code})`);
});
} catch (error) {
console.error('ERROR:', error);
}
}
// Example usage
listSupportedLanguages('en'); // Lists languages in English