Constructor

TranslationServiceClient

new TranslationServiceClient(options)

Construct an instance of TranslationServiceClient.

Parameter

options

Optional

object

The configuration object. See the subsequent parameters for more details.

Values in options have the following properties:

Parameter

credentials

Optional

object

Credentials object.

credentials.client_email

Optional

string

credentials.private_key

Optional

string

email

Optional

string

Account email address. Required when using a .pem or .p12 keyFilename.

keyFilename

Optional

string

Full path to the a .json, .pem, or .p12 key downloaded from the Google Developers Console. If you provide a path to a JSON file, the projectId option below is not necessary. NOTE: .pem and .p12 require you to specify options.email as well.

port

Optional

number

The port on which to connect to the remote host.

projectId

Optional

string

The project ID from the Google Developer's Console, e.g. 'grape-spaceship-123'. We will also check the environment variable GCLOUD_PROJECT for your project ID. If your app is running in an environment which supports Application Default Credentials, your project ID will be detected automatically.

promise

Optional

function()

Custom promise module to use instead of native Promises.

servicePath

Optional

string

The domain name of the API remote host.

Properties

port

static

The port for this API service.

scopes

static

The scopes needed to make gRPC calls for every method defined in this service.

servicePath

static

The DNS address for this API service.

Methods

batchTranslateText

batchTranslateText(request, options, callback) returns Promise

Translates a large volume of text in asynchronous batch mode. This function provides real-time output as the inputs are being processed. If caller cancels a request, the partial results (for an input file, it's all or nothing) may still be available on the specified output location.

This call returns immediately and you can use google.longrunning.Operation.name to poll the status of the call.

Parameter

request

Object

The request object that will be sent.

Values in request have the following properties:

Parameter

sourceLanguageCode

string

Required. Source language code.

targetLanguageCodes

Array of string

Required. Specify up to 10 language codes here.

inputConfigs

Array of Object

Required. Input configurations. The total number of files matched should be <= 1000. The total content size should be <= 100M Unicode codepoints. The files must use UTF-8 encoding.

This object should have the same structure as InputConfig

outputConfig

Object

Required. Output configuration. If 2 input configs match to the same file (that is, same input path), we don't generate output for duplicate inputs.

This object should have the same structure as OutputConfig

parent

Optional

string

Optional. Only used when making regionalized call. Format: projects/{project-id}/locations/{location-id}.

Only custom models/glossaries within the same location-id can be used. Otherwise 400 is returned.

models

Optional

Object with string properties

Optional. The models to use for translation. Map's key is target language code. Map's value is model name. Value can be a built-in general model, or a custom model built by AutoML.

The value format depends on model type:

  1. Custom models: projects/{project-id}/locations/{location-id}/models/{model-id}.
  2. General (built-in) models: projects/{project-id}/locations/{location-id}/models/general/nmt projects/{project-id}/locations/{location-id}/models/general/base

    If the map is empty or a specific model is not requested for a language pair, then default google model is used.

glossaries

Optional

Object with Object properties

Optional. Glossaries to be applied for translation. It's keyed by target language code.

options

Optional

Object

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback

Optional

function(nullable Error, nullable Object)

The function which will be called with the result of the API call.

The second parameter to the callback is a gax.Operation object.

Returns

Promise 

  • The promise which resolves to an array. The first element of the array is a gax.Operation object. The promise has a method named "cancel" which cancels the ongoing API call.

Example

const translate = require('@google-cloud/translate');

const client = new translate.v3beta1.TranslationServiceClient({
  // optional auth parameters.
});

const sourceLanguageCode = '';
const targetLanguageCodes = [];
const inputConfigs = [];
const outputConfig = {};
const request = {
  sourceLanguageCode: sourceLanguageCode,
  targetLanguageCodes: targetLanguageCodes,
  inputConfigs: inputConfigs,
  outputConfig: outputConfig,
};

// Handle the operation using the promise pattern.
client.batchTranslateText(request)
  .then(responses => {
    const [operation, initialApiResponse] = responses;

    // Operation#promise starts polling for the completion of the LRO.
    return operation.promise();
  })
  .then(responses => {
    const result = responses[0];
    const metadata = responses[1];
    const finalApiResponse = responses[2];
  })
  .catch(err => {
    console.error(err);
  });

const sourceLanguageCode = '';
const targetLanguageCodes = [];
const inputConfigs = [];
const outputConfig = {};
const request = {
  sourceLanguageCode: sourceLanguageCode,
  targetLanguageCodes: targetLanguageCodes,
  inputConfigs: inputConfigs,
  outputConfig: outputConfig,
};

// Handle the operation using the event emitter pattern.
client.batchTranslateText(request)
  .then(responses => {
    const [operation, initialApiResponse] = responses;

    // Adding a listener for the "complete" event starts polling for the
    // completion of the operation.
    operation.on('complete', (result, metadata, finalApiResponse) => {
      // doSomethingWith(result);
    });

    // Adding a listener for the "progress" event causes the callback to be
    // called on any change in metadata when the operation is polled.
    operation.on('progress', (metadata, apiResponse) => {
      // doSomethingWith(metadata)
    });

    // Adding a listener for the "error" event handles any errors found during polling.
    operation.on('error', err => {
      // throw(err);
    });
  })
  .catch(err => {
    console.error(err);
  });

const sourceLanguageCode = '';
const targetLanguageCodes = [];
const inputConfigs = [];
const outputConfig = {};
const request = {
  sourceLanguageCode: sourceLanguageCode,
  targetLanguageCodes: targetLanguageCodes,
  inputConfigs: inputConfigs,
  outputConfig: outputConfig,
};

// Handle the operation using the await pattern.
const [operation] = await client.batchTranslateText(request);

const [response] = await operation.promise();

createGlossary

createGlossary(request, options, callback) returns Promise

Creates a glossary and returns the long-running operation. Returns NOT_FOUND, if the project doesn't exist.

Parameter

request

Object

The request object that will be sent.

Values in request have the following properties:

Parameter

parent

string

Required. The project name.

glossary

Object

Required. The glossary to create.

This object should have the same structure as Glossary

options

Optional

Object

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback

Optional

function(nullable Error, nullable Object)

The function which will be called with the result of the API call.

The second parameter to the callback is a gax.Operation object.

Returns

Promise 

  • The promise which resolves to an array. The first element of the array is a gax.Operation object. The promise has a method named "cancel" which cancels the ongoing API call.

Example

const translate = require('@google-cloud/translate');

const client = new translate.v3beta1.TranslationServiceClient({
  // optional auth parameters.
});

const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]');
const glossary = {};
const request = {
  parent: formattedParent,
  glossary: glossary,
};

// Handle the operation using the promise pattern.
client.createGlossary(request)
  .then(responses => {
    const [operation, initialApiResponse] = responses;

    // Operation#promise starts polling for the completion of the LRO.
    return operation.promise();
  })
  .then(responses => {
    const result = responses[0];
    const metadata = responses[1];
    const finalApiResponse = responses[2];
  })
  .catch(err => {
    console.error(err);
  });

const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]');
const glossary = {};
const request = {
  parent: formattedParent,
  glossary: glossary,
};

// Handle the operation using the event emitter pattern.
client.createGlossary(request)
  .then(responses => {
    const [operation, initialApiResponse] = responses;

    // Adding a listener for the "complete" event starts polling for the
    // completion of the operation.
    operation.on('complete', (result, metadata, finalApiResponse) => {
      // doSomethingWith(result);
    });

    // Adding a listener for the "progress" event causes the callback to be
    // called on any change in metadata when the operation is polled.
    operation.on('progress', (metadata, apiResponse) => {
      // doSomethingWith(metadata)
    });

    // Adding a listener for the "error" event handles any errors found during polling.
    operation.on('error', err => {
      // throw(err);
    });
  })
  .catch(err => {
    console.error(err);
  });

const formattedParent = client.locationPath('[PROJECT]', '[LOCATION]');
const glossary = {};
const request = {
  parent: formattedParent,
  glossary: glossary,
};

// Handle the operation using the await pattern.
const [operation] = await client.createGlossary(request);

const [response] = await operation.promise();

deleteGlossary

deleteGlossary(request, options, callback) returns Promise

Deletes a glossary, or cancels glossary construction if the glossary isn't created yet. Returns NOT_FOUND, if the glossary doesn't exist.

Parameter

request

Object

The request object that will be sent.

Values in request have the following properties:

Parameter

name

string

Required. The name of the glossary to delete.

options

Optional

Object

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback

Optional

function(nullable Error, nullable Object)

The function which will be called with the result of the API call.

The second parameter to the callback is a gax.Operation object.

Returns

Promise 

  • The promise which resolves to an array. The first element of the array is a gax.Operation object. The promise has a method named "cancel" which cancels the ongoing API call.

Example

const translate = require('@google-cloud/translate');

const client = new translate.v3beta1.TranslationServiceClient({
  // optional auth parameters.
});

const formattedName = client.glossaryPath('[PROJECT]', '[LOCATION]', '[GLOSSARY]');

// Handle the operation using the promise pattern.
client.deleteGlossary({name: formattedName})
  .then(responses => {
    const [operation, initialApiResponse] = responses;

    // Operation#promise starts polling for the completion of the LRO.
    return operation.promise();
  })
  .then(responses => {
    const result = responses[0];
    const metadata = responses[1];
    const finalApiResponse = responses[2];
  })
  .catch(err => {
    console.error(err);
  });

const formattedName = client.glossaryPath('[PROJECT]', '[LOCATION]', '[GLOSSARY]');

// Handle the operation using the event emitter pattern.
client.deleteGlossary({name: formattedName})
  .then(responses => {
    const [operation, initialApiResponse] = responses;

    // Adding a listener for the "complete" event starts polling for the
    // completion of the operation.
    operation.on('complete', (result, metadata, finalApiResponse) => {
      // doSomethingWith(result);
    });

    // Adding a listener for the "progress" event causes the callback to be
    // called on any change in metadata when the operation is polled.
    operation.on('progress', (metadata, apiResponse) => {
      // doSomethingWith(metadata)
    });

    // Adding a listener for the "error" event handles any errors found during polling.
    operation.on('error', err => {
      // throw(err);
    });
  })
  .catch(err => {
    console.error(err);
  });

const formattedName = client.glossaryPath('[PROJECT]', '[LOCATION]', '[GLOSSARY]');

// Handle the operation using the await pattern.
const [operation] = await client.deleteGlossary({name: formattedName});

const [response] = await operation.promise();

detectLanguage

detectLanguage(request, options, callback) returns Promise

Detects the language of text within a request.

Parameter

request

Object

The request object that will be sent.

Values in request have the following properties:

Parameter

parent

Optional

string

Optional. Only used when making regionalized call. Format: projects/{project-id}/locations/{location-id}.

Only custom model within the same location-id can be used. Otherwise 400 is returned.

model

Optional

string

Optional. The language detection model to be used. projects/{project-id}/locations/{location-id}/models/language-detection/{model-id} If not specified, default will be used.

content

Optional

string

The content of the input stored as a string.

mimeType

Optional

string

Optional. The format of the source text, for example, "text/html", "text/plain". If left blank, the MIME type is assumed to be "text/html".

options

Optional

Object

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback

Optional

function(nullable Error, nullable Object)

The function which will be called with the result of the API call.

The second parameter to the callback is an object representing DetectLanguageResponse.

Returns

Promise 

  • The promise which resolves to an array. The first element of the array is an object representing DetectLanguageResponse. The promise has a method named "cancel" which cancels the ongoing API call.

Example

const translate = require('@google-cloud/translate');

const client = new translate.v3beta1.TranslationServiceClient({
  // optional auth parameters.
});


client.detectLanguage({})
  .then(responses => {
    const response = responses[0];
    // doThingsWith(response)
  })
  .catch(err => {
    console.error(err);
  });

getGlossary

getGlossary(request, options, callback) returns Promise

Gets a glossary. Returns NOT_FOUND, if the glossary doesn't exist.

Parameter

request

Object

The request object that will be sent.

Values in request have the following properties:

Parameter

name

string

Required. The name of the glossary to retrieve.

options

Optional

Object

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback

Optional

function(nullable Error, nullable Object)

The function which will be called with the result of the API call.

The second parameter to the callback is an object representing Glossary.

Returns

Promise 

  • The promise which resolves to an array. The first element of the array is an object representing Glossary. The promise has a method named "cancel" which cancels the ongoing API call.

Example

const translate = require('@google-cloud/translate');

const client = new translate.v3beta1.TranslationServiceClient({
  // optional auth parameters.
});

const formattedName = client.glossaryPath('[PROJECT]', '[LOCATION]', '[GLOSSARY]');
client.getGlossary({name: formattedName})
  .then(responses => {
    const response = responses[0];
    // doThingsWith(response)
  })
  .catch(err => {
    console.error(err);
  });

getProjectId

getProjectId(callback)

Return the project ID used by this class.

Parameter

callback

function(Error, string)

the callback to be called with the current project Id.

getSupportedLanguages

getSupportedLanguages(request, options, callback) returns Promise

Returns a list of supported languages for translation.

Parameter

request

Object

The request object that will be sent.

Values in request have the following properties:

Parameter

parent

Optional

string

Optional. Used for making regionalized calls. Format: projects/{project-id}/locations/{location-id}. For global calls, use projects/{project-id}/locations/global. If missing, the call is treated as a global call.

Only custom model within the same location-id can be used. Otherwise 400 is returned.

displayLanguageCode

Optional

string

Optional. The language to use to return localized, human readable names of supported languages. If missing, default language is ENGLISH.

model

Optional

string

Optional. Get supported languages of this model. The format depends on model type:

  1. Custom models: projects/{project-id}/locations/{location-id}/models/{model-id}.
  2. General (built-in) models: projects/{project-id}/locations/{location-id}/models/general/nmt projects/{project-id}/locations/{location-id}/models/general/base Returns languages supported by the specified model. If missing, we get supported languages of Google general NMT model.

options

Optional

Object

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback

Optional

function(nullable Error, nullable Object)

The function which will be called with the result of the API call.

The second parameter to the callback is an object representing SupportedLanguages.

Returns

Promise 

  • The promise which resolves to an array. The first element of the array is an object representing SupportedLanguages. The promise has a method named "cancel" which cancels the ongoing API call.

Example

const translate = require('@google-cloud/translate');

const client = new translate.v3beta1.TranslationServiceClient({
  // optional auth parameters.
});


client.getSupportedLanguages({})
  .then(responses => {
    const response = responses[0];
    // doThingsWith(response)
  })
  .catch(err => {
    console.error(err);
  });

glossaryPath

glossaryPath(project, location, glossary) returns String

Return a fully-qualified glossary resource name string.

Parameter

project

String

location

String

glossary

String

Returns

String 

listGlossaries

listGlossaries(request, options, callback) returns Promise

Lists glossaries in a project. Returns NOT_FOUND, if the project doesn't exist.

Parameter

request

Object

The request object that will be sent.

Values in request have the following properties:

Parameter

parent

Optional

string

Required. The name of the project from which to list all of the glossaries.

pageSize

Optional

number

The maximum number of resources contained in the underlying API response. If page streaming is performed per-resource, this parameter does not affect the return value. If page streaming is performed per-page, this determines the maximum number of resources in a page.

filter

Optional

string

Optional. Filter specifying constraints of a list operation. For example, tags.glossary_name="products*". If missing, no filtering is performed.

options

Optional

Object

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback

Optional

function(nullable Error, nullable Array, nullable Object, nullable Object)

The function which will be called with the result of the API call.

The second parameter to the callback is Array of Glossary.

When autoPaginate: false is specified through options, it contains the result in a single response. If the response indicates the next page exists, the third parameter is set to be used for the next request object. The fourth parameter keeps the raw response object of an object representing ListGlossariesResponse.

Returns

Promise 

  • The promise which resolves to an array. The first element of the array is Array of Glossary.

    When autoPaginate: false is specified through options, the array has three elements. The first element is Array of Glossary in a single response. The second element is the next request object if the response indicates the next page exists, or null. The third element is an object representing ListGlossariesResponse.

    The promise has a method named "cancel" which cancels the ongoing API call.

Example

const translate = require('@google-cloud/translate');

const client = new translate.v3beta1.TranslationServiceClient({
  // optional auth parameters.
});

// Iterate over all elements.
client.listGlossaries({})
  .then(responses => {
    const resources = responses[0];
    for (const resource of resources) {
      // doThingsWith(resource)
    }
  })
  .catch(err => {
    console.error(err);
  });

// Or obtain the paged response.

const options = {autoPaginate: false};
const callback = responses => {
  // The actual resources in a response.
  const resources = responses[0];
  // The next request if the response shows that there are more responses.
  const nextRequest = responses[1];
  // The actual response object, if necessary.
  // const rawResponse = responses[2];
  for (const resource of resources) {
    // doThingsWith(resource);
  }
  if (nextRequest) {
    // Fetch the next page.
    return client.listGlossaries(nextRequest, options).then(callback);
  }
}
client.listGlossaries({}, options)
  .then(callback)
  .catch(err => {
    console.error(err);
  });

listGlossariesStream

listGlossariesStream(request, options) returns Stream

Equivalent to listGlossaries, but returns a NodeJS Stream object.

This fetches the paged responses for listGlossaries continuously and invokes the callback registered for 'data' event for each element in the responses.

The returned object has 'end' method when no more elements are required.

autoPaginate option will be ignored.

Parameter

request

Object

The request object that will be sent.

Values in request have the following properties:

Parameter

parent

Optional

string

Required. The name of the project from which to list all of the glossaries.

pageSize

Optional

number

The maximum number of resources contained in the underlying API response. If page streaming is performed per-resource, this parameter does not affect the return value. If page streaming is performed per-page, this determines the maximum number of resources in a page.

filter

Optional

string

Optional. Filter specifying constraints of a list operation. For example, tags.glossary_name="products*". If missing, no filtering is performed.

options

Optional

Object

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

See also
https://nodejs.org/api/stream.html
Returns

Stream 

An object stream which emits an object representing Glossary on 'data' event.

Example

const translate = require('@google-cloud/translate');

const client = new translate.v3beta1.TranslationServiceClient({
  // optional auth parameters.
});


client.listGlossariesStream({})
  .on('data', element => {
    // doThingsWith(element)
  }).on('error', err => {
    console.log(err);
  });

locationPath

locationPath(project, location) returns String

Return a fully-qualified location resource name string.

Parameter

project

String

location

String

Returns

String 

matchGlossaryFromGlossaryName

matchGlossaryFromGlossaryName(glossaryName) returns String

Parse the glossaryName from a glossary resource.

Parameter

glossaryName

String

A fully-qualified path representing a glossary resources.

Returns

String 

  • A string representing the glossary.

matchLocationFromGlossaryName

matchLocationFromGlossaryName(glossaryName) returns String

Parse the glossaryName from a glossary resource.

Parameter

glossaryName

String

A fully-qualified path representing a glossary resources.

Returns

String 

  • A string representing the location.

matchLocationFromLocationName

matchLocationFromLocationName(locationName) returns String

Parse the locationName from a location resource.

Parameter

locationName

String

A fully-qualified path representing a location resources.

Returns

String 

  • A string representing the location.

matchProjectFromGlossaryName

matchProjectFromGlossaryName(glossaryName) returns String

Parse the glossaryName from a glossary resource.

Parameter

glossaryName

String

A fully-qualified path representing a glossary resources.

Returns

String 

  • A string representing the project.

matchProjectFromLocationName

matchProjectFromLocationName(locationName) returns String

Parse the locationName from a location resource.

Parameter

locationName

String

A fully-qualified path representing a location resources.

Returns

String 

  • A string representing the project.

translateText

translateText(request, options, callback) returns Promise

Translates input text and returns translated text.

Parameter

request

Object

The request object that will be sent.

Values in request have the following properties:

Parameter

contents

Array of string

Required. The content of the input in string format. We recommend the total contents to be less than 30k codepoints. Please use BatchTranslateText for larger text.

targetLanguageCode

string

Required. The BCP-47 language code to use for translation of the input text, set to one of the language codes listed in Language Support.

mimeType

Optional

string

Optional. The format of the source text, for example, "text/html", "text/plain". If left blank, the MIME type is assumed to be "text/html".

sourceLanguageCode

Optional

string

Optional. The BCP-47 language code of the input text if known, for example, "en-US" or "sr-Latn". Supported language codes are listed in Language Support. If the source language isn't specified, the API attempts to identify the source language automatically and returns the the source language within the response.

parent

Optional

string

Optional. Only used when making regionalized call. Format: projects/{project-id}/locations/{location-id}.

Only custom model/glossary within the same location-id can be used. Otherwise 400 is returned.

model

Optional

string

Optional. The model type requested for this translation.

The format depends on model type:

  1. Custom models: projects/{project-id}/locations/{location-id}/models/{model-id}.
  2. General (built-in) models: projects/{project-id}/locations/{location-id}/models/general/nmt projects/{project-id}/locations/{location-id}/models/general/base

    For global (non-regionalized) requests, use {location-id} 'global'. For example, projects/{project-id}/locations/global/models/general/nmt

    If missing, the system decides which google base model to use.

glossaryConfig

Optional

Object

Optional. Glossary to be applied. The glossary needs to be in the same region as the model, otherwise an INVALID_ARGUMENT error is returned.

This object should have the same structure as TranslateTextGlossaryConfig

options

Optional

Object

Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details.

callback

Optional

function(nullable Error, nullable Object)

The function which will be called with the result of the API call.

The second parameter to the callback is an object representing TranslateTextResponse.

Returns

Promise 

  • The promise which resolves to an array. The first element of the array is an object representing TranslateTextResponse. The promise has a method named "cancel" which cancels the ongoing API call.

Example

const translate = require('@google-cloud/translate');

const client = new translate.v3beta1.TranslationServiceClient({
  // optional auth parameters.
});

const contents = [];
const targetLanguageCode = '';
const request = {
  contents: contents,
  targetLanguageCode: targetLanguageCode,
};
client.translateText(request)
  .then(responses => {
    const response = responses[0];
    // doThingsWith(response)
  })
  .catch(err => {
    console.error(err);
  });