Introduction

IBM Watson™ Language Translator translates text from one language to another. The service offers multiple IBM provided translation models that you can customize based on your unique terminology and language. Use Language Translator to take news from across the globe and present it in your language, communicate with your customers in their own language, and more.

Beginning with version 4.0.0, the Node SDK returns a Promise for all methods when a callback is not specified.

The package location moved to ibm-watson. It remains available at watson-developer-cloud but is not updated there. Use ibm-watson to stay up to date.

The IBM Watson Unity SDK has the following requirements.

  • The SDK requires Unity version 2018.2 or later to support TLS 1.2.
    • Set the project settings for both the Scripting Runtime Version and the Api Compatibility Level to .NET 4.x Equivalent.
    • For more information, see TLS 1.0 support.
  • The SDK does not support the WebGL projects. Change your build settings to any platform except WebGL.

For information about how to install and configure the SDK and SDK Core, see https://github.com/watson-developer-cloud/unity-sdk.

The code examples on this tab use the client library that is provided for Java.

Maven

<dependency>
  <groupId>com.ibm.watson</groupId>
  <artifactId>ibm-watson</artifactId>
  <version>7.3.0</version>
</dependency>

Gradle

compile 'com.ibm.watson:ibm-watson:7.3.0'

GitHub

The code examples on this tab use the client library that is provided for Node.js.

Installation

npm install ibm-watson

GitHub

The code examples on this tab use the client library that is provided for Python.

Installation

pip install --upgrade "ibm-watson>=3.2.0"

GitHub

The code examples on this tab use the client library that is provided for Ruby.

Installation

gem install ibm_watson

GitHub

The code examples on this tab use the client library that is provided for Go.

go get -u github.com/watson-developer-cloud/go-sdk/...

GitHub

The code examples on this tab use the client library that is provided for Swift.

Cocoapods

pod 'IBMWatsonLanguageTranslatorV3', '~> 2.2.0'

Carthage

github "watson-developer-cloud/swift-sdk" ~> 2.2.0

Swift Package Manager

.package(url: "https://github.com/watson-developer-cloud/swift-sdk", from: "2.2.0")

GitHub

The code examples on this tab use the client library that is provided for .NET Standard.

Package Manager

Install-Package IBM.Watson.LanguageTranslator.v3 -Version 3.3.0

.NET CLI

dotnet add package IBM.Watson.LanguageTranslator.v3 -version 3.3.0

PackageReference

<PackageReference Include="IBM.Watson.LanguageTranslator.v3" Version="3.3.0" />

GitHub

The code examples on this tab use the client library that is provided for Unity.

Github

Authentication

IBM Cloud is migrating to token-based Identity and Access Management (IAM) authentication.

  • With some service instances, you authenticate to the API by using IAM. You can pass either a bearer token in an Authorization header or an API key. Tokens support authenticated requests without embedding service credentials in every call. API keys use basic authentication. Learn more about IAM.

    If you pass in an API key, use apikey for the username and the value of the API key as the password.

    If you pass in the value of the API key, the SDK manages the lifecycle of the tokens. If you pass a token, you maintain the token lifecycle. Learn more about IAM authentication with the SDK.

    If you pass in the value of the API key, the SDK manages the lifecycle of the tokens. If you pass a token, you maintain the token lifecycle. Learn more about IAM authentication with the SDK.

    If you pass in the value of the API key, the SDK manages the lifecycle of the tokens. If you pass a token, you maintain the token lifecycle. Learn more about IAM authentication with the SDK.

    If you pass in the value of the API key, the SDK manages the lifecycle of the tokens. If you pass a token, you maintain the token lifecycle. Learn more about IAM authentication with the SDK.

    If you pass in the value of the API key, the SDK manages the lifecycle of the tokens. If you pass a token, you maintain the token lifecycle. Learn more about IAM authentication with the SDK.

    If you pass in the value of the API key, the SDK manages the lifecycle of the tokens. If you pass a token, you maintain the token lifecycle. Learn more about IAM authentication with the SDK.

    If you pass in the value of the API key, the SDK manages the lifecycle of the tokens. If you pass a token, you maintain the token lifecycle. Learn more about IAM authentication with the SDK.

    If you pass in the value of the API key, the SDK manages the lifecycle of the tokens. If you pass a token, you maintain the token lifecycle. Learn more about IAM authentication with the SDK.

  • In other instances, you authenticate by providing the username and password for the service instance. For more information, see Service credentials for Watson services.

To find out which authentication to use, view the service credentials by clicking the service instance in the Resource list.

The "username" and "password" in the service credentials are different from your IBM Cloud account IBMid and password.

IAM authentication. Replace {apikey} and {url} with your service credentials.

curl -u "apikey:{apikey}" -X {request_method} "{url}/{method}"

Basic authentication. Replace {username}, {password}, and {url} with your service credentials.

curl -u "{username}:{password}" -X {request_method} "{url}/{method}"

SDK managing the IAM token. Replace {apikey}, {version} and {url}.

IamOptions options = new IamOptions.Builder()
    .apiKey("{apikey}")
    .build();
LanguageTranslator languageTranslator = new LanguageTranslator("{version}", options);
languageTranslator.setEndPoint("{url}");

Basic authentication. Replace {username}, {password}, {version}, and {url}. Use either of the two constructors.

LanguageTranslator languageTranslator = new LanguageTranslator(
    "{version}",
    "{username}",
    "{password}");
languageTranslator.setEndPoint("{url}");

or

LanguageTranslator languageTranslator = new LanguageTranslator("{version}");
languageTranslator.setUsernameAndPassword("{username}","{password}");
languageTranslator.setEndPoint("{url}");

SDK managing the IAM token. Replace {apikey}, {version} and {url}.

const LanguageTranslatorV3 = require('ibm-watson/language-translator/v3');

const languageTranslator = new LanguageTranslatorV3({
  version: '{version}',
  iam_apikey: '{apikey}',
  url: '{url}'
});

Basic authentication. Replace {username}, {password}, {version}, and {url}.

const  = require('ibm-watson/language-translator/v3');

const languageTranslator = new LanguageTranslatorV3({
  version: '{version}',
  username: '{username}',
  password: '{password}',
  url: '{url}'
});

SDK managing the IAM token. Replace {apikey}, {version} and {url}.

from ibm_watson import LanguageTranslatorV3

language_translator = LanguageTranslatorV3(
    version='{version}',
    iam_apikey='{apikey}',
    url='{url}'
)

Basic authentication. Replace {username}, {password}, {version}, and {url}.

from ibm_watson import LanguageTranslatorV3

language_translator = LanguageTranslatorV3(
    version='{version}',
    username='{username}',
    password='{password}',
    url='{url}'
)

SDK managing the IAM token. Replace {apikey}, {version} and {url}.

require "ibm_watson"

language_translator = IBMWatson::LanguageTranslatorV3.new(
  version: "{version}",
  iam_apikey: "{apikey}",
  url:"{url}"
)

Basic authentication. Replace {username}, {password}, {version}, and {url}.

require "ibm_watson"

language_translator = IBMWatson::LanguageTranslatorV3.new(
  version: "{version}",
  username: "{username}",
  password: "{password}",
  url:"{url}"
)

SDK managing the IAM token. Replace {apikey}, {version} and {url}.

import "github.com/watson-developer-cloud/go-sdk/languagetranslatorv3"

languageTranslator, languageTranslatorErr := languagetranslatorv3.NewLanguageTranslatorV3(&languagetranslatorv3.LanguageTranslatorV3Options{
  Version: "{version}",
  IAMApiKey: "{apikey}",
  URL: "{url}",
})

Basic authentication. Replace {username}, {password}, {version}, and {url}.

import "github.com/watson-developer-cloud/go-sdk/languagetranslatorv3"

languageTranslator, languageTranslatorErr := languagetranslatorv3.NewLanguageTranslatorV3(&languagetranslatorv3.LanguageTranslatorV3Options{
  Version: "{version}",
  Username: "{username}",
  Password: "{password}",
  URL: "{url}",
})

SDK managing the IAM token. Replace {apikey}, {version} and {url}.

let languageTranslator = LanguageTranslator(version: "{version}", apiKey: "{apikey}")

languageTranslator.serviceURL = "{url}"

Basic authentication. Replace {username}, {password}, {version}, and {url}.

let languageTranslator = LanguageTranslator(version: "{version}", username: "{username}", password: "{password}")

languageTranslator.serviceURL = "{url}"

SDK managing the IAM token. Replace {apikey}, {version} and {url}.

IamConfig config = new IamConfig(
    apikey: "{apikey}"
    );

LanguageTranslator languageTranslator = new LanguageTranslator("{version}", config);
languageTranslator.SetEndpoint("{url}");

Basic authentication. Replace {username}, {password}, {version}, and {url}.

BasicAuthConfig config = new BasicauthConfig(
    username: "{username}",
    password: "{password}"
);

LanguageTranslator languageTranslator = new LanguageTranslator("{version}", config);
languageTranslator.SetEndpoint("{url}");

SDK managing the IAM token. Replace {apikey}, {version} and {url}.

IamTokenOptions tokenOptions = new IamTokenOptions()
{
    IamApiKey = "{apikey}"
};
Credentials credentials = new Credentials(tokenOptions);
while (!credentials.HasTokenData())
{
    yield return null;
}

LanguageTranslatorService languageTranslator = new LanguageTranslatorService("{version}", credentials);
languageTranslator.Url = "{url}";

Basic authentication. Replace {username}, {password}, {version}, and {url}.

Credentials credentials = new Credentials("{username}", "{password}");

LanguageTranslatorService languageTranslator = new LanguageTranslatorService("{version}", credentials);
languageTranslator.Url = "{url}";

Service endpoint

The service endpoint is based on the location of the service instance. For example, when Language Translator is hosted in Frankfurt, the base URL is https://gateway-fra.watsonplatform.net/language-translator/api. The URL might also be different when you use IBM Cloud Dedicated.

To find out which URL to use, view the service credentials by clicking the service instance in the Resource list.

Use that URL in your requests to Language Translator.

Set the correct service URL by calling the setEndPoint() method of the service instance.

Set the correct service URL by calling the url parameter when you create the service instance.

Set the correct service URL by calling the url parameter when you create the service instance or by calling the set_url() method of the service instance.

Set the correct service URL by calling the url parameter when you create the service instance or by calling the url= method of the service instance.

Set the correct service URL by the URL parameter when you create the service instance or by calling the SetURL= method of the service instance.

Set the correct service URL by setting the serviceURL property of the service instance.

Set the correct service URL by calling the SetEndpoint() method of the service instance.

Set the correct service URL by setting the Url property of the service instance.

Service endpoints by location:

  • Dallas: https://gateway.watsonplatform.net/language-translator/api
  • Washington DC: https://gateway-wdc.watsonplatform.net/language-translator/api
  • Frankfurt: https://gateway-fra.watsonplatform.net/language-translator/api
  • Sydney: https://gateway-syd.watsonplatform.net/language-translator/api
  • Tokyo: https://gateway-tok.watsonplatform.net/language-translator/api
  • London: https://gateway-lon.watsonplatform.net/language-translator/api

All locations might not support Language Translator. For details, see Service availability.

Dallas API endpoint example

curl -u "apikey:{apikey}" -X {request_method} "https://gateway.watsonplatform.net/language-translator/api"

Your service instance might not use this URL

Default URL

https://gateway.watsonplatform.net/language-translator/api

Example for the Washington DC location

LanguageTranslator languageTranslator = new LanguageTranslator("{version}");
languageTranslator.setEndPoint("https://gateway-wdc.watsonplatform.net/language-translator/api");

Default URL

https://gateway.watsonplatform.net/language-translator/api

Example for the Washington DC location

const LanguageTranslatorV3 = require('ibm-watson/language-translator/v3');

const languageTranslator = new LanguageTranslatorV3({
  version: '{version}',
  iam_apikey: '{apikey}',
  url: 'https://gateway-wdc.watsonplatform.net/language-translator/api'
});

Default URL

https://gateway.watsonplatform.net/language-translator/api

Examples for the Washington DC location in the constructor and after instantiation

language_translator = LanguageTranslatorV3(
    version='{version}',
    iam_apikey='{apikey}',
    url='https://gateway-wdc.watsonplatform.net/language-translator/api'
)

or

language_translator.set_url('https://gateway-wdc.watsonplatform.net/language-translator/api')

Default URL

https://gateway.watsonplatform.net/language-translator/api

Examples for the Washington DC location in the constructor and after instantiation

language_translator = IBMWatson::.new(
  version: "{version}",
  api_key: "{apikey}",
  url: "https://gateway-wdc.watsonplatform.net/language-translator/api"
)

or

language_translator.url = "https://gateway-wdc.watsonplatform.net/language-translator/api"

Default URL

https://gateway.watsonplatform.net/language-translator/api

Examples for the Washington DC location in the constructor and after instantiation

languageTranslator, languageTranslatorErr := languagetranslatorv3.NewLanguageTranslatorV3(&languagetranslatorv3.LanguageTranslatorV3Options{
  Version: "{version}",
  IAMApiKey: "{apikey}",
  URL: "https://gateway-wdc.watsonplatform.net/language-translator/api",
})

or

languageTranslator.SetURL("https://gateway-wdc.watsonplatform.net/language-translator/api")

Default URL

https://gateway.watsonplatform.net/language-translator/api

Example for the Washington DC location

let languageTranslator = LanguageTranslator(version: "{version}", apiKey: "{apikey}")
languageTranslator.serviceURL = "https://gateway-wdc.watsonplatform.net/language-translator/api"

Default URL

https://gateway.watsonplatform.net/language-translator/api

Example for the Washington DC location

IamConfig config = new IamConfig(
    apikey: "{apikey}"
    );

LanguageTranslator languageTranslator = new LanguageTranslator("{version}", config);
languageTranslator.SetEndpoint("https://gateway-wdc.watsonplatform.net/language-translator/api");

Default URL

https://gateway.watsonplatform.net/language-translator/api

Example for the Washington DC location

IamTokenOptions tokenOptions = new IamTokenOptions()
{
    IamApiKey = "{apikey}"
};
Credentials credentials = new Credentials(tokenOptions);
while (!credentials.HasTokenData())
{
    yield return null;
}

LanguageTranslatorService languageTranslator = new LanguageTranslatorService("{version}", credentials);
languageTranslator.Url = "https://gateway-wdc.watsonplatform.net/language-translator/api";

Disabling SSL verification

All Watson services use Secure Sockets Layer (SSL) (or Transport Layer Security (TLS)) for secure connections between the client and server. The connection is verified against the local certificate store to ensure authentication, integrity, and confidentiality.

If you use a self-signed certificate, you need to disable SSL verification to make a successful connection.

Enabling SSL verification is highly recommended. Disabling SSL jeopardizes the security of the connection and data. Disable SSL only if absolutely necessary, and take steps to enable SSL as soon as possible.

To disable SSL verification for a curl request, use the --insecure (-k) option with the request.

To disable SSL verification, create an HttpConfigOptions object and set the disableSslVerification property to true. Then pass the object to the service instance by using the configureClient method.

To disable SSL verification, set the disable_ssl_verification parameter to true when you create the service instance.

To disable SSL verification, call the disable_SSL_verification method on the service instance.

To disable SSL verification, call the configure_http_client method on the service instance and set the disable_ssl parameter to true.

To disable SSL verification, call the DisableSSLVerification method on the service instance.

To disable SSL verification, call the disableSSLVerification() method on the service instance. You cannot disable SSL verification on Linux.

To disable SSL verification, set the DisableSslVerification method to true on the service instance.

To disable SSL verification, call the DisableSslVerification method on the service instance.

Example that disables SSL verification

IAM authentication. Replace {apikey} and {url} with your service credentials.

curl -k -u "apikey:{apikey}" -X {request_method} "{url}/{method}"

Example that disables SSL verification

IamOptions options = new IamOptions.Builder()
    .apiKey("{apikey}")
    .build();
LanguageTranslator languageTranslator = new LanguageTranslator("{version}", options);
languageTranslator.setEndPoint("{url}");

HttpConfigOptions configOptions = new HttpConfigOptions.Builder()
  .disableSslVerification(true)
  .build();
languageTranslator.configureClient(configOptions);

Example that disables SSL verification

const LanguageTranslatorV3 = require('ibm-watson/language-translator/v3');

const languageTranslator = new LanguageTranslatorV3({
  version: '{version}',
  iam_apikey: '{apikey}',
  url: '{url}',
  disable_ssl_verification: true,
});

Example that disables SSL verification

from ibm_watson import LanguageTranslatorV3

language_translator = LanguageTranslatorV3(
    version='{version}',
    iam_apikey='{apikey}',
    url='{url}'
)
language_translator.disable_SSL_verification()

Example that disables SSL verification

require "ibm_watson"

language_translator = IBMWatson::LanguageTranslatorV3.new(
  version: "{version}",
  iam_apikey: "{apikey}",
  url:"{url}"
)
language_translator.configure_http_client(disable_ssl: true)

Example that disables SSL verification

import "github.com/watson-developer-cloud/go-sdk/languagetranslatorv3"

languageTranslator, languageTranslatorErr := languagetranslatorv3.NewLanguageTranslatorV3(&languagetranslatorv3.LanguageTranslatorV3Options{
  Version: "{version}",
  IAMApiKey: "{apikey}",
  URL: "{url}",
})
languageTranslator.DisableSSLVerification()

Example that disables SSL verification


let languageTranslator = LanguageTranslator(version: "{version}", apiKey: "{apikey}")
languageTranslator.disableSSLVerification()

Example that disables SSL verification

IamConfig config = new IamConfig(
    apikey: "{apikey}"
    );

LanguageTranslator languageTranslator = new LanguageTranslator("{version}", config);
languageTranslator.SetEndpoint("{url}");
languageTranslator.DisableSslVerification(true);

Example that disables SSL verification

IamTokenOptions tokenOptions = new IamTokenOptions()
{
    IamApiKey = "{apikey}"
};
Credentials credentials = new Credentials(tokenOptions);
while (!credentials.HasTokenData())
{
    yield return null;
}

LanguageTranslatorService languageTranslator = new LanguageTranslatorService("{version}", credentials);
languageTranslator.Url = "{url}";

languageTranslator.DisableSslVerification = true;

Versioning

API requests require a version parameter that takes a date in the format version=YYYY-MM-DD. When we change the API in a backwards-incompatible way, we release a new version date.

Send the version parameter with every API request. The service uses the API version for the date you specify, or the most recent version before that date. Don't default to the current date. Instead, specify a date that matches a version that is compatible with your app, and don't change it until your app is ready for a later version.

Specify the version to use on API requests with the version parameter when you create the service instance. The service uses the API version for the date you specify, or the most recent version before that date. Don't default to the current date. Instead, specify a date that matches a version that is compatible with your app, and don't change it until your app is ready for a later version.

This documentation describes the current version of Language Translator, 2018-05-01. In some cases, differences in earlier versions are noted in the descriptions of parameters and response models.

Error handling

The Language Translator service uses standard HTTP response codes to indicate whether a method completed successfully. HTTP response codes in the 2xx range indicate success. A response in the 4xx range is some sort of failure, and a response in the 5xx range usually indicates an internal system error that cannot be resolved by the user. Response codes are listed with the method.

ErrorResponse

Name Description
code
integer
The HTTP response code.
error
string
General description of an error.

The Java SDK generates an exception for any unsuccessful method invocation. All methods that accept an argument can also throw an IllegalArgumentException.

Exception Description
IllegalArgumentException An illegal argument was passed to the method.

When the Java SDK receives an error response from the Language Translator service, it generates an exception from the com.ibm.watson.developer_cloud.service.exception package. All service exceptions contain the following fields.

Field Description
statusCode The HTTP response code that is returned.
message A message that describes the error.

When the Node SDK receives an error response from the Language Translator service, it creates an Error object with information that describes the error that occurred. This error object is passed as the first parameter to the callback function for the method. The contents of the error object are as shown in the following table.

Error

Field Description
code The HTTP response code that is returned.
message A message that describes the error.

The Python SDK generates an exception for any unsuccessful method invocation. When the Python SDK receives an error response from the Language Translator service, it generates an ApiException that contains the following fields.

Field Description
code The HTTP response code that is returned.
message A message that describes the error.
info A dictionary of additional information about the error.

When the Ruby SDK receives an error response from the Language Translator service, it generates an ApiException that contains the following fields.

Field Description
code The HTTP response code that is returned.
message A message that describes the error.
info A dictionary of additional information about the error.

The Go SDK generates an error for any unsuccessful service instantiation and method invocation. You can check for the error immediately. The contents of the error object are as shown in the following table.

Error

Field Description
code The HTTP response code that is returned.
message A message that describes the error.

The Swift SDK returns a WatsonError in the completionHandler any unsuccessful method invocation. This error type is an enum that conforms to LocalizedError and contains an errorDescription property that returns an error message. Some of the WatsonError cases contain associated values that reveal more information about the error.

Field Description
errorDescription A message that describes the error.

When the .NET Standard SDK receives an error response from the Language Translator service, it generates a ServiceResponseException that contains the following fields.

Field Description
Message A message that describes the error.
CodeDescription The HTTP response code that is returned.

When the Unity SDK receives an error response from the Language Translator service, it generates an IBMError that contains the following fields.

Field Description
Url The URL that generated the error.
StatusCode The HTTP response code returned.
ErrorMessage A message that describes the error.
Response The contents of the response from the server.
ResponseHeaders A dictionary of headers returned by the request.

Example error handling

try {
  // Invoke a Language Translator method
} catch (NotFoundException e) {
  // Handle Not Found (404) exception
} catch (RequestTooLargeException e) {
  // Handle Request Too Large (413) exception
} catch (ServiceResponseException e) {
  // Base class for all exceptions caused by error responses from the service
  System.out.println("Service returned status code "
    + e.getStatusCode() + ": " + e.getMessage());
}

Example error handling

languageTranslator.method(params)
  .catch(err => {
    console.log('error:', err);
  });

Example error handling

from ibm_watson import ApiException
try:
    # Invoke a Language Translator method
except ApiException as ex:
    print "Method failed with status code " + str(ex.code) + ": " + ex.message

Example error handling

require "ibm_watson"
begin
  # Invoke a Language Translator method
rescue IBMWatson::ApiException => ex
  print "Method failed with status code #{ex.code}: #{ex.error}"
end

Example error handling

import "github.com/watson-developer-cloud/go-sdk/languagetranslatorv3"

// Instantiate a service
languageTranslator, languageTranslatorErr := languagetranslatorv3.NewLanguageTranslatorV3(&languageTranslatorv3.LanguageTranslatorV3Options{})

// Check for errors
if languageTranslatorErr != nil {
  panic(languageTranslatorErr)
}

// Call a method
response, responseErr := languageTranslator.methodName(&methodOptions)

// Check for errors
if responseErr != nil {
  panic(responseErr)
}

Example error handling

languageTranslator.method() {
  response, error in

  if let error = error {
    switch error {
    case let .http(statusCode, message, metadata):
      switch statusCode {
      case .some(404):
        // Handle Not Found (404) exception
        print("Not found")
      case .some(413):
        // Handle Request Too Large (413) exception
        print("Payload too large")
      default:
        if let statusCode = statusCode {
          print("Error - code: \(statusCode), \(message ?? "")")
        }
      }
    default:
      print(error.localizedDescription)
    }
    return
  }

  guard let result = response?.result else {
    print(error?.localizedDescription ?? "unknown error")
    return
  }

  print(result)
}

Example error handling

try
{
    // Invoke a Watson languageTranslator method
}
catch(ServiceResponseException e)
{
    Console.WriteLine("Error: " + e.Message);
}
catch (Exception e)
{
    Console.WriteLine("Error: " + e.Message);
}

Example error handling

// Invoke a method
languageTranslator.MethodName(Callback, Parameters);

// Check for errors
private void Callback(DetailedResponse<ExampleResponse> response, IBMError error)
{
    if (error == null)
    {
        Log.Debug("ExampleCallback", "Response received: {0}", response.Response);
    }
    else
    {
        Log.Debug("ExampleCallback", "Error received: {0}, {1}, {3}", error.StatusCode, error.ErrorMessage, error.Response);
    }
}

Data handling

Additional headers

Some Watson services accept special parameters in headers that are passed with the request.

You can pass request header parameters in all requests or in a single request to the service.

To pass a request header, use the --header (-H) option with a curl request.

To pass header parameters with every request, use the setDefaultHeaders method of the service object. See Data collection for an example use of this method.

To pass header parameters in a single request, use the addHeader method as a modifier on the request before you execute it.

To pass header parameters with every request, specify the headers parameter when you create the service object. See Data collection for an example use of this method.

To pass header parameters in a single request, use the headers method as a modifier on the request before you execute it.

To pass header parameters with every request, specify the set_default_headers method of the service object. See Data collection for an example use of this method.

To pass header parameters in a single request, include headers as a dict in the request.

To pass header parameters with every request, specify the add_default_headers method of the service object. See Data collection for an example use of this method.

To pass header parameters in a single request, specify the headers method as a chainable method in the request.

To pass header parameters with every request, specify the SetDefaultHeaders method of the service object. See Data collection for an example use of this method.

To pass header parameters in a single request, specify the Headers as a map in the request.

To pass header parameters with every request, add them to the defaultHeaders property of the service object. See Data collection for an example use of this method.

To pass header parameters in a single request, pass the headers parameter to the request method.

To pass header parameters in a single request, use the WithHeader() method as a modifier on the request before you execute it.

To pass header parameters in a single request, use the WithHeader() method as a modifier on the request before you execute it.

Example header parameter in a request

curl -u "apikey:{apikey}" -X {request_method} --header "Request-Header: {header_value}" "{url}/{method}"

Example header parameter in a request

ReturnType returnValue = languageTranslator.methodName(parameters)
  .addHeader("Custom-Header", "{header_value}")
  .execute();

Example header parameter in a request

const parameters = {
  {parameters}
};

languageTranslator.methodName(
  parameters,
  headers: {
    'Custom-Header': '{header_value}'
  })
   .then(result => {
    console.log(response);
  })
  .catch(err => {
    console.log('error:', err);
  });

Example header parameter in a request

response = language_translator.methodName(
    parameters,
    headers = {
        'Custom-Header': '{header_value}'
    })

Example header parameter in a request

response = language_translator.headers(
  "Custom-Header" => "{header_value}"
).methodName(parameters)

Example header parameter in a request

response, _ := languagetranslatorv3.methodName(
  &methodOptions{
    Headers: map[string]string{
      "Accept": "application/json",
    },
  },
)

Example header parameter in a request

let customHeader: [String: String] = ["Custom-Header": "{header_value}"]
languageTranslator.methodName(parameters, headers: customHeader) {
  response, error in
}

Example header parameter in a request

IamConfig iamConfig = new IamConfig(
    apikey: "{apikey}"
    );

LanguageTranslator languageTranslator = new LanguageTranslator("{version}", iamConfig);
languageTranslator.SetEndpoint("{url}");
languageTranslator.WithHeader("Custom-Header", "header_value");

Example header parameter in a request

IamTokenOptions tokenOptions = new IamTokenOptions()
{
    IamApiKey = "{apikey}"
};
Credentials credentials = new Credentials(tokenOptions);
while (!credentials.HasTokenData())
{
    yield return null;
}

LanguageTranslatorService languageTranslator = new LanguageTranslatorService("{version}", credentials);
languageTranslator.Url = "{url}";
languageTranslator.WithHeader("Custom-Header", "header_value");

Response details

The Language Translator service might return information to the application in response headers.

To access all response headers that the service returns, include the --include (-i) option with a curl request. To see detailed response data for the request, including request headers, response headers, and additional debugging information, include the --verbose (-v) option with the request.

Example request to access response headers

curl -u "apikey:{apikey}" -X {request_method} --include "{url}/{method}"

To access information in the response headers, use one of the request methods that returns details with the response: executeWithDetails(), enqueueWithDetails(), or rxWithDetails(). These methods return a Response<T> object, where T is the expected response model. Use the getResult() method to access the response object for the method, and use the getHeaders() method to access information in response headers.

Example request to access response headers

Response<ReturnType> response = languageTranslator.methodName(parameters)
  .executeWithDetails();
// Access response from methodName
ReturnType returnValue = response.getResult();
// Access information in response headers
Headers responseHeaders = response.getHeaders();

To access information in the response headers, add the return_response parameter set to true and specify the headers attribute on the response object that is returned by the method. To access information in the response object, use the following properties.

Property Description
result Returns the response for the service-specific method.
headers Returns the response header information.
status Returns the HTTP status code.

Example request to access response headers

const parameters = {
  {parameters}
};

parameters.return_response = true;

languageTranslator.methodName(parameters)
  .then(response => {
    console.log(response.headers);
  })
  .catch(err => {
    console.log('error:', err);
  });

The return value from all service methods is a DetailedResponse object. To access information in the result object or response headers, use the following methods.

DetailedResponse

Method Description
get_result() Returns the response for the service-specific method.
get_headers() Returns the response header information.
get_status_code() Returns the HTTP status code.

Example request to access response headers

language_translator.set_detailed_response(True)
response = language_translator.methodName(parameters)
# Access response from methodName
print(json.dumps(response.get_result(), indent=2))
# Access information in response headers
print(response.get_headers())
# Access HTTP response status
print(response.get_status_code())

The return value from all service methods is a DetailedResponse object. To access information in the response object, use the following properties.

DetailedResponse

Property Description
result Returns the response for the service-specific method.
headers Returns the response header information.
status Returns the HTTP status code.

Example request to access response headers

response = language_translator.methodName(parameters)
# Access response from methodName
print response.result
# Access information in response headers
print response.headers
# Access HTTP response status
print response.status

The return value from all service methods is a DetailedResponse object. To access information in the response object or response headers, use the following methods.

DetailedResponse

Method Description
GetResult() Returns the response for the service-specific method.
GetHeaders() Returns the response header information.
GetStatusCode() Returns the HTTP status code.

Example request to access response headers

import "github.com/IBM/go-sdk-core/core"
response, _ := languagetranslatorv3.methodName(&methodOptions{})

// Access result
core.PrettyPrint(response.GetResult(), "Result ")

// Access response headers
core.PrettyPrint(response.GetHeaders(), "Headers ")

// Access status code
core.PrettyPrint(response.GetStatusCode(), "Status Code ")

All response data is available in the WatsonResponse<T> object that is returned in each method's completionHandler.

Example request to access response headers

languageTranslator.methodName(parameters) {
  response, error in

  guard let result = response?.result else {
    print(error?.localizedDescription ?? "unknown error")
    return
  }
  print(result) // The data returned by the service
  print(response?.statusCode)
  print(response?.headers)
}

The response contains fields for response headers, response JSON, and the status code.

DetailedResponse

Property Description
Result Returns the result for the service-specific method.
Response Returns the raw JSON response for the service-specific method.
Headers Returns the response header information.
StatusCode Returns the HTTP status code.

Example request to access response headers

var results = languageTranslator.MethodName(parameters);

var result = results.Result;            //  The result object
var responseHeaders = results.Headers;  //  The response headers
var responseJson = results.Response;    //  The raw response JSON
var statusCode = results.StatusCode;    //  The response status code

The response contains fields for response headers, response JSON, and the status code.

DetailedResponse

Property Description
Result Returns the result for the service-specific method.
Response Returns the raw JSON response for the service-specific method.
Headers Returns the response header information.
StatusCode Returns the HTTP status code.

Example request to access response headers

private void Example()
{
    languageTranslator.MethodName(Callback, Parameters);
}

private void Callback(DetailedResponse<ResponseType> response, IBMError error)
{
    var result = response.Result;                 //  The result object
    var responseHeaders = response.Headers;       //  The response headers
    var responseJson = reresponsesults.Response;  //  The raw response JSON
    var statusCode = response.StatusCode;         //  The response status code
}

Data collection

By default, all Watson services log requests and their results. Logging is done only to improve the services for future users. The logged data is not shared or made public.

To prevent IBM usage of your data for an API request, set the X-Watson-Learning-Opt-Out header parameter to true.

You must set the header on each request that you do not want IBM to access for general service improvements.

You can set the header by using the setDefaultHeaders method of the service object.

You can set the header by using the headers parameter when you create the service object.

You can set the header by using the set_default_headers method of the service object.

You can set the header by using the add_default_headers method of the service object.

You can set the header by using the SetDefaultHeaders method of the service object.

You can set the header by adding it to the defaultHeaders property of the service object.

You can set the header by using the WithHeader() method of the service object.

Example request

curl -u "apikey:{apikey}" -H "X-Watson-Learning-Opt-Out: true" "{url}/{method}"

Example request

Map<String, String> headers = new HashMap<String, String>();
headers.put("X-Watson-Learning-Opt-Out", "true");

languageTranslator.setDefaultHeaders(headers);

Example request

const LanguageTranslatorV3 = require('ibm-watson/language-translator/v3');

const languageTranslator = new LanguageTranslatorV3({
  version: '{version}',
  iam_apikey: '{apikey}',
  url: '{url}',
  headers: {
    'X-Watson-Learning-Opt-Out': 'true'
  }
});

Example request

language_translator.set_default_headers({'x-watson-learning-opt-out': "true"})

Example request

language_translator.add_default_headers(headers: {"x-watson-learning-opt-out" => "true"})

Example request

import "net/http"

headers := http.Header{}
headers.Add("x-watson-learning-opt-out", "true")
languagetranslatorv3.Service.SetDefaultHeaders(headers)

Example request

languageTranslator.defaultHeaders["X-Watson-Learning-Opt-Out"] = "true"

Example request

IamConfig config = new IamConfig(
    apikey: "{apikey}"
    );

LanguageTranslator languageTranslator = new LanguageTranslator("{version}", config);
languageTranslator.SetEndpoint("{url}");
languageTranslator.WithHeader("X-Watson-Learning-Opt-Out", "true");

Example request

IamTokenOptions tokenOptions = new IamTokenOptions()
{
    IamApiKey = "{apikey}"
};
Credentials credentials = new Credentials(tokenOptions,);
while (!credentials.HasTokenData())
{
    yield return null;
}

LanguageTranslatorService languageTranslator = new LanguageTranslatorService("{version}", credentials);
languageTranslator.Url = "{url}";
languageTranslator.WithHeader("X-Watson-Learning-Opt-Out", "true");

Synchronous and asynchronous requests

The Java SDK supports both synchronous (blocking) and asynchronous (non-blocking) execution of service methods. All service methods implement the ServiceCall interface.

  • To call a method synchronously, use the execute method of the ServiceCall interface. You can call the execute method directly from an instance of the service.
  • To call a method asynchronously, use the enqueue method of the ServiceCall interface to receive a callback when the response arrives. The ServiceCallback interface of the method's argument provides onResponse and onFailure methods that you override to handle the callback.

The Ruby SDK supports both synchronous (blocking) and asynchronous (non-blocking) execution of service methods. All service methods implement the Concurrent::Async module. When you use the synchronous or asynchronous methods, an IVar object is returned. You access the DetailedResponse object by calling ivar_object.value.

For more information about the Ivar object, see the IVar class docs.

  • To call a method synchronously, either call the method directly or use the .await chainable method of the Concurrent::Async module.

    Calling a method directly (without .await) returns a DetailedResponse object.

  • To call a method asynchronously, use the .async chainable method of the Concurrent::Async module.

You can call the .await and .async methods directly from an instance of the service.

Example synchronous request

ReturnType returnValue = languageTranslator.method(parameters).execute();

Example asynchronous request

languageTranslator.method(parameters).enqueue(new ServiceCallback<ReturnType>() {
  @Override public void onResponse(ReturnType response) {
    . . .
  }
  @Override public void onFailure(Exception e) {
    . . .
  }
});

Example synchronous request

response = language_translator.method_name(parameters)

or

response = language_translator.await.method_name(parameters)

Example asynchronous request

response = language_translator.async.method_name(parameters)

Methods

Translate

Translates the input text from the source language to the target language.

Translates the input text from the source language to the target language.

Translates the input text from the source language to the target language.

Translates the input text from the source language to the target language.

Translates the input text from the source language to the target language.

Translates the input text from the source language to the target language.

Translates the input text from the source language to the target language.

Translates the input text from the source language to the target language.

Translates the input text from the source language to the target language.

POST /v3/translate
(languageTranslator *LanguageTranslatorV3) Translate(translateOptions *TranslateOptions) (*core.DetailedResponse, error)
ServiceCall<TranslationResult> translate(TranslateOptions translateOptions)
translate(params, [callback()])
translate(self, text, model_id=None, source=None, target=None, **kwargs)
translate(text:, model_id: nil, source: nil, target: nil)
func translate(
    text: [String],
    modelID: String? = nil,
    source: String? = nil,
    target: String? = nil,
    headers: [String: String]? = nil,
    completionHandler: @escaping (WatsonResponse<TranslationResult>?, WatsonError?) -> Void)
Translate(List<string> text, string modelId = null, string source = null, string target = null)
Translate(Callback<TranslationResult> callback, List<string> text, string modelId = null, string source = null, string target = null)
Request

Instantiate the TranslateOptions struct and set the fields to provide parameter values for the Translate method.

Use the TranslateOptions.Builder to create a TranslateOptions object that contains the parameter values for the translate method.

Query Parameters

  • Release date of the API version you want to use. Specify dates in YYYY-MM-DD format. The current version is 2018-05-01.

    Constraints: Value must match regular expression ^\d{4}-\d{2}-\d{2}$

The translate request containing the text, and either a model ID or source and target language pair.

The Translate options.

The translate options.

parameters

  • Input text in UTF-8 encoding. Multiple entries will result in multiple translations in the response.

  • A globally unique string that identifies the underlying model that is used for translation.

  • Translation source language code.

  • Translation target language code.

parameters

  • Input text in UTF-8 encoding. Multiple entries will result in multiple translations in the response.

  • A globally unique string that identifies the underlying model that is used for translation.

  • Translation source language code.

  • Translation target language code.

parameters

  • Input text in UTF-8 encoding. Multiple entries will result in multiple translations in the response.

  • A globally unique string that identifies the underlying model that is used for translation.

  • Translation source language code.

  • Translation target language code.

parameters

  • Input text in UTF-8 encoding. Multiple entries will result in multiple translations in the response.

  • A globally unique string that identifies the underlying model that is used for translation.

  • Translation source language code.

  • Translation target language code.

parameters

  • Input text in UTF-8 encoding. Multiple entries will result in multiple translations in the response.

  • A globally unique string that identifies the underlying model that is used for translation.

  • Translation source language code.

  • Translation target language code.

parameters

  • Input text in UTF-8 encoding. Multiple entries will result in multiple translations in the response.

  • A globally unique string that identifies the underlying model that is used for translation.

  • Translation source language code.

  • Translation target language code.

Response

Status Code

  • Success

  • Invalid request. See the response body for details.

  • Model Not Found: the specified model_id does not exist or specified source - target language pair is not supported

Example responses

List identifiable languages

Lists the languages that the service can identify. Returns the language code (for example, en for English or es for Spanish) and name of each language.

Lists the languages that the service can identify. Returns the language code (for example, en for English or es for Spanish) and name of each language.

Lists the languages that the service can identify. Returns the language code (for example, en for English or es for Spanish) and name of each language.

Lists the languages that the service can identify. Returns the language code (for example, en for English or es for Spanish) and name of each language.

Lists the languages that the service can identify. Returns the language code (for example, en for English or es for Spanish) and name of each language.

Lists the languages that the service can identify. Returns the language code (for example, en for English or es for Spanish) and name of each language.

Lists the languages that the service can identify. Returns the language code (for example, en for English or es for Spanish) and name of each language.

Lists the languages that the service can identify. Returns the language code (for example, en for English or es for Spanish) and name of each language.

Lists the languages that the service can identify. Returns the language code (for example, en for English or es for Spanish) and name of each language.

GET /v3/identifiable_languages
(languageTranslator *LanguageTranslatorV3) ListIdentifiableLanguages(listIdentifiableLanguagesOptions *ListIdentifiableLanguagesOptions) (*core.DetailedResponse, error)
ServiceCall<IdentifiableLanguages> listIdentifiableLanguages()
listIdentifiableLanguages(params, [callback()])
list_identifiable_languages(self, **kwargs)
list_identifiable_languages
func listIdentifiableLanguages(
    headers: [String: String]? = nil,
    completionHandler: @escaping (WatsonResponse<IdentifiableLanguages>?, WatsonError?) -> Void)
ListIdentifiableLanguages()
ListIdentifiableLanguages(Callback<IdentifiableLanguages> callback)
Request

Query Parameters

  • Release date of the API version you want to use. Specify dates in YYYY-MM-DD format. The current version is 2018-05-01.

    Constraints: Value must match regular expression ^\d{4}-\d{2}-\d{2}$

No Request Parameters

This method does not accept any request parameters.

No Request Parameters

This method does not accept any request parameters.

No Request Parameters

This method does not accept any request parameters.

No Request Parameters

This method does not accept any request parameters.

No Request Parameters

This method does not accept any request parameters.

No Request Parameters

This method does not accept any request parameters.

No Request Parameters

This method does not accept any request parameters.

No Request Parameters

This method does not accept any request parameters.

Response

Status Code

  • Success

  • Invalid request. See the response body for details.

Example responses

Identify language

Identifies the language of the input text.

Identifies the language of the input text.

Identifies the language of the input text.

Identifies the language of the input text.

Identifies the language of the input text.

Identifies the language of the input text.

Identifies the language of the input text.

Identifies the language of the input text.

Identifies the language of the input text.

POST /v3/identify
(languageTranslator *LanguageTranslatorV3) Identify(identifyOptions *IdentifyOptions) (*core.DetailedResponse, error)
ServiceCall<IdentifiedLanguages> identify(IdentifyOptions identifyOptions)
identify(params, [callback()])
identify(self, text, **kwargs)
identify(text:)
func identify(
    text: String,
    headers: [String: String]? = nil,
    completionHandler: @escaping (WatsonResponse<IdentifiedLanguages>?, WatsonError?) -> Void)
Identify(string text)
Identify(Callback<IdentifiedLanguages> callback, string text)
Request

Instantiate the IdentifyOptions struct and set the fields to provide parameter values for the Identify method.

Use the IdentifyOptions.Builder to create a IdentifyOptions object that contains the parameter values for the identify method.

Query Parameters

  • Release date of the API version you want to use. Specify dates in YYYY-MM-DD format. The current version is 2018-05-01.

    Constraints: Value must match regular expression ^\d{4}-\d{2}-\d{2}$

Input text in UTF-8 format.

The Identify options.

The identify options.

parameters

  • Input text in UTF-8 format.

parameters

  • Input text in UTF-8 format.

parameters

  • Input text in UTF-8 format.

parameters

  • Input text in UTF-8 format.

parameters

  • Input text in UTF-8 format.

parameters

  • Input text in UTF-8 format.

Response

Status Code

  • Success

  • Invalid request. See the response body for details.

Example responses

List models

Lists available translation models.

Lists available translation models.

Lists available translation models.

Lists available translation models.

Lists available translation models.

Lists available translation models.

Lists available translation models.

Lists available translation models.

Lists available translation models.

GET /v3/models
(languageTranslator *LanguageTranslatorV3) ListModels(listModelsOptions *ListModelsOptions) (*core.DetailedResponse, error)
ServiceCall<TranslationModels> listModels(ListModelsOptions listModelsOptions)
listModels(params, [callback()])
list_models(self, source=None, target=None, default_models=None, **kwargs)
list_models(source: nil, target: nil, default_models: nil)
func listModels(
    source: String? = nil,
    target: String? = nil,
    defaultModels: Bool? = nil,
    headers: [String: String]? = nil,
    completionHandler: @escaping (WatsonResponse<TranslationModels>?, WatsonError?) -> Void)
ListModels(string source = null, string target = null, bool? defaultModels = null)
ListModels(Callback<TranslationModels> callback, string source = null, string target = null, bool? defaultModels = null)
Request

Instantiate the ListModelsOptions struct and set the fields to provide parameter values for the ListModels method.

Use the ListModelsOptions.Builder to create a ListModelsOptions object that contains the parameter values for the listModels method.

Query Parameters

  • Release date of the API version you want to use. Specify dates in YYYY-MM-DD format. The current version is 2018-05-01.

    Constraints: Value must match regular expression ^\d{4}-\d{2}-\d{2}$

  • Specify a language code to filter results by source language.

  • Specify a language code to filter results by target language.

  • If the default parameter isn't specified, the service will return all models (default and non-default) for each language pair. To return only default models, set this to true. To return only non-default models, set this to false. There is exactly one default model per language pair, the IBM provided base model.

The ListModels options.

The listModels options.

parameters

  • Specify a language code to filter results by source language.

  • Specify a language code to filter results by target language.

  • If the default parameter isn't specified, the service will return all models (default and non-default) for each language pair. To return only default models, set this to true. To return only non-default models, set this to false. There is exactly one default model per language pair, the IBM provided base model.

parameters

  • Specify a language code to filter results by source language.

  • Specify a language code to filter results by target language.

  • If the default parameter isn't specified, the service will return all models (default and non-default) for each language pair. To return only default models, set this to true. To return only non-default models, set this to false. There is exactly one default model per language pair, the IBM provided base model.

parameters

  • Specify a language code to filter results by source language.

  • Specify a language code to filter results by target language.

  • If the default parameter isn't specified, the service will return all models (default and non-default) for each language pair. To return only default models, set this to true. To return only non-default models, set this to false. There is exactly one default model per language pair, the IBM provided base model.

parameters

  • Specify a language code to filter results by source language.

  • Specify a language code to filter results by target language.

  • If the default parameter isn't specified, the service will return all models (default and non-default) for each language pair. To return only default models, set this to true. To return only non-default models, set this to false. There is exactly one default model per language pair, the IBM provided base model.

parameters

  • Specify a language code to filter results by source language.

  • Specify a language code to filter results by target language.

  • If the default parameter isn't specified, the service will return all models (default and non-default) for each language pair. To return only default models, set this to true. To return only non-default models, set this to false. There is exactly one default model per language pair, the IBM provided base model.

parameters

  • Specify a language code to filter results by source language.

  • Specify a language code to filter results by target language.

  • If the default parameter isn't specified, the service will return all models (default and non-default) for each language pair. To return only default models, set this to true. To return only non-default models, set this to false. There is exactly one default model per language pair, the IBM provided base model.

Response

The response type for listing existing translation models.

The response type for listing existing translation models.

The response type for listing existing translation models.

The response type for listing existing translation models.

The response type for listing existing translation models.

The response type for listing existing translation models.

The response type for listing existing translation models.

The response type for listing existing translation models.

The response type for listing existing translation models.

Status Code

  • Success

  • Invalid request. See the response body for details.

Example responses

Create model

Uploads Translation Memory eXchange (TMX) files to customize a translation model.

You can either customize a model with a forced glossary or with a corpus that contains parallel sentences. To create a model that is customized with a parallel corpus and a forced glossary, proceed in two steps: customize with a parallel corpus first and then customize the resulting model with a glossary. Depending on the type of customization and the size of the uploaded corpora, training can range from minutes for a glossary to several hours for a large parallel corpus. You can upload a single forced glossary file and this file must be less than 10 MB. You can upload multiple parallel corpora tmx files. The cumulative file size of all uploaded files is limited to 250 MB. To successfully train with a parallel corpus you must have at least 5,000 parallel sentences in your corpus.

You can have a maximum of 10 custom models per language pair.

Uploads Translation Memory eXchange (TMX) files to customize a translation model.

You can either customize a model with a forced glossary or with a corpus that contains parallel sentences. To create a model that is customized with a parallel corpus and a forced glossary, proceed in two steps: customize with a parallel corpus first and then customize the resulting model with a glossary. Depending on the type of customization and the size of the uploaded corpora, training can range from minutes for a glossary to several hours for a large parallel corpus. You can upload a single forced glossary file and this file must be less than 10 MB. You can upload multiple parallel corpora tmx files. The cumulative file size of all uploaded files is limited to 250 MB. To successfully train with a parallel corpus you must have at least 5,000 parallel sentences in your corpus.

You can have a maximum of 10 custom models per language pair.

Uploads Translation Memory eXchange (TMX) files to customize a translation model.

You can either customize a model with a forced glossary or with a corpus that contains parallel sentences. To create a model that is customized with a parallel corpus and a forced glossary, proceed in two steps: customize with a parallel corpus first and then customize the resulting model with a glossary. Depending on the type of customization and the size of the uploaded corpora, training can range from minutes for a glossary to several hours for a large parallel corpus. You can upload a single forced glossary file and this file must be less than 10 MB. You can upload multiple parallel corpora tmx files. The cumulative file size of all uploaded files is limited to 250 MB. To successfully train with a parallel corpus you must have at least 5,000 parallel sentences in your corpus.

You can have a maximum of 10 custom models per language pair.

Uploads Translation Memory eXchange (TMX) files to customize a translation model.

You can either customize a model with a forced glossary or with a corpus that contains parallel sentences. To create a model that is customized with a parallel corpus and a forced glossary, proceed in two steps: customize with a parallel corpus first and then customize the resulting model with a glossary. Depending on the type of customization and the size of the uploaded corpora, training can range from minutes for a glossary to several hours for a large parallel corpus. You can upload a single forced glossary file and this file must be less than 10 MB. You can upload multiple parallel corpora tmx files. The cumulative file size of all uploaded files is limited to 250 MB. To successfully train with a parallel corpus you must have at least 5,000 parallel sentences in your corpus.

You can have a maximum of 10 custom models per language pair.

Uploads Translation Memory eXchange (TMX) files to customize a translation model.

You can either customize a model with a forced glossary or with a corpus that contains parallel sentences. To create a model that is customized with a parallel corpus and a forced glossary, proceed in two steps: customize with a parallel corpus first and then customize the resulting model with a glossary. Depending on the type of customization and the size of the uploaded corpora, training can range from minutes for a glossary to several hours for a large parallel corpus. You can upload a single forced glossary file and this file must be less than 10 MB. You can upload multiple parallel corpora tmx files. The cumulative file size of all uploaded files is limited to 250 MB. To successfully train with a parallel corpus you must have at least 5,000 parallel sentences in your corpus.

You can have a maximum of 10 custom models per language pair.

Uploads Translation Memory eXchange (TMX) files to customize a translation model.

You can either customize a model with a forced glossary or with a corpus that contains parallel sentences. To create a model that is customized with a parallel corpus and a forced glossary, proceed in two steps: customize with a parallel corpus first and then customize the resulting model with a glossary. Depending on the type of customization and the size of the uploaded corpora, training can range from minutes for a glossary to several hours for a large parallel corpus. You can upload a single forced glossary file and this file must be less than 10 MB. You can upload multiple parallel corpora tmx files. The cumulative file size of all uploaded files is limited to 250 MB. To successfully train with a parallel corpus you must have at least 5,000 parallel sentences in your corpus.

You can have a maximum of 10 custom models per language pair.

Uploads Translation Memory eXchange (TMX) files to customize a translation model.

You can either customize a model with a forced glossary or with a corpus that contains parallel sentences. To create a model that is customized with a parallel corpus and a forced glossary, proceed in two steps: customize with a parallel corpus first and then customize the resulting model with a glossary. Depending on the type of customization and the size of the uploaded corpora, training can range from minutes for a glossary to several hours for a large parallel corpus. You can upload a single forced glossary file and this file must be less than 10 MB. You can upload multiple parallel corpora tmx files. The cumulative file size of all uploaded files is limited to 250 MB. To successfully train with a parallel corpus you must have at least 5,000 parallel sentences in your corpus.

You can have a maximum of 10 custom models per language pair.

Uploads Translation Memory eXchange (TMX) files to customize a translation model.

You can either customize a model with a forced glossary or with a corpus that contains parallel sentences. To create a model that is customized with a parallel corpus and a forced glossary, proceed in two steps: customize with a parallel corpus first and then customize the resulting model with a glossary. Depending on the type of customization and the size of the uploaded corpora, training can range from minutes for a glossary to several hours for a large parallel corpus. You can upload a single forced glossary file and this file must be less than 10 MB. You can upload multiple parallel corpora tmx files. The cumulative file size of all uploaded files is limited to 250 MB. To successfully train with a parallel corpus you must have at least 5,000 parallel sentences in your corpus.

You can have a maximum of 10 custom models per language pair.

Uploads Translation Memory eXchange (TMX) files to customize a translation model.

You can either customize a model with a forced glossary or with a corpus that contains parallel sentences. To create a model that is customized with a parallel corpus and a forced glossary, proceed in two steps: customize with a parallel corpus first and then customize the resulting model with a glossary. Depending on the type of customization and the size of the uploaded corpora, training can range from minutes for a glossary to several hours for a large parallel corpus. You can upload a single forced glossary file and this file must be less than 10 MB. You can upload multiple parallel corpora tmx files. The cumulative file size of all uploaded files is limited to 250 MB. To successfully train with a parallel corpus you must have at least 5,000 parallel sentences in your corpus.

You can have a maximum of 10 custom models per language pair.

POST /v3/models
(languageTranslator *LanguageTranslatorV3) CreateModel(createModelOptions *CreateModelOptions) (*core.DetailedResponse, error)
ServiceCall<TranslationModel> createModel(CreateModelOptions createModelOptions)
createModel(params, [callback()])
create_model(self, base_model_id, forced_glossary=None, parallel_corpus=None, name=None, **kwargs)
create_model(base_model_id:, forced_glossary: nil, parallel_corpus: nil, name: nil)
func createModel(
    baseModelID: String,
    forcedGlossary: Data? = nil,
    parallelCorpus: Data? = nil,
    name: String? = nil,
    headers: [String: String]? = nil,
    completionHandler: @escaping (WatsonResponse<TranslationModel>?, WatsonError?) -> Void)
CreateModel(string baseModelId, System.IO.MemoryStream forcedGlossary = null, System.IO.MemoryStream parallelCorpus = null, string name = null)
CreateModel(Callback<TranslationModel> callback, string baseModelId, System.IO.MemoryStream forcedGlossary = null, System.IO.MemoryStream parallelCorpus = null, string name = null)
Request

Instantiate the CreateModelOptions struct and set the fields to provide parameter values for the CreateModel method.

Use the CreateModelOptions.Builder to create a CreateModelOptions object that contains the parameter values for the createModel method.

Query Parameters

  • Release date of the API version you want to use. Specify dates in YYYY-MM-DD format. The current version is 2018-05-01.

    Constraints: Value must match regular expression ^\d{4}-\d{2}-\d{2}$

  • The model ID of the model to use as the base for customization. To see available models, use the List models method. Usually all IBM provided models are customizable. In addition, all your models that have been created via parallel corpus customization, can be further customized with a forced glossary.

  • An optional model name that you can use to identify the model. Valid characters are letters, numbers, dashes, underscores, spaces and apostrophes. The maximum length is 32 characters.

Form Parameters

  • A TMX file with your customizations. The customizations in the file completely overwrite the domain translaton data, including high frequency or high confidence phrase translations. You can upload only one glossary with a file size less than 10 MB per call. A forced glossary should contain single words or short phrases.

  • A TMX file with parallel sentences for source and target language. You can upload multiple parallel_corpus files in one request. All uploaded parallel_corpus files combined, your parallel corpus must contain at least 5,000 parallel sentences to train successfully.

The CreateModel options.

The createModel options.

parameters

  • The model ID of the model to use as the base for customization. To see available models, use the List models method. Usually all IBM provided models are customizable. In addition, all your models that have been created via parallel corpus customization, can be further customized with a forced glossary.

  • A TMX file with your customizations. The customizations in the file completely overwrite the domain translaton data, including high frequency or high confidence phrase translations. You can upload only one glossary with a file size less than 10 MB per call. A forced glossary should contain single words or short phrases.

  • A TMX file with parallel sentences for source and target language. You can upload multiple parallel_corpus files in one request. All uploaded parallel_corpus files combined, your parallel corpus must contain at least 5,000 parallel sentences to train successfully.

  • An optional model name that you can use to identify the model. Valid characters are letters, numbers, dashes, underscores, spaces and apostrophes. The maximum length is 32 characters.

parameters

  • The model ID of the model to use as the base for customization. To see available models, use the List models method. Usually all IBM provided models are customizable. In addition, all your models that have been created via parallel corpus customization, can be further customized with a forced glossary.

  • A TMX file with your customizations. The customizations in the file completely overwrite the domain translaton data, including high frequency or high confidence phrase translations. You can upload only one glossary with a file size less than 10 MB per call. A forced glossary should contain single words or short phrases.

  • A TMX file with parallel sentences for source and target language. You can upload multiple parallel_corpus files in one request. All uploaded parallel_corpus files combined, your parallel corpus must contain at least 5,000 parallel sentences to train successfully.

  • An optional model name that you can use to identify the model. Valid characters are letters, numbers, dashes, underscores, spaces and apostrophes. The maximum length is 32 characters.

parameters

  • The model ID of the model to use as the base for customization. To see available models, use the List models method. Usually all IBM provided models are customizable. In addition, all your models that have been created via parallel corpus customization, can be further customized with a forced glossary.

  • A TMX file with your customizations. The customizations in the file completely overwrite the domain translaton data, including high frequency or high confidence phrase translations. You can upload only one glossary with a file size less than 10 MB per call. A forced glossary should contain single words or short phrases.

  • A TMX file with parallel sentences for source and target language. You can upload multiple parallel_corpus files in one request. All uploaded parallel_corpus files combined, your parallel corpus must contain at least 5,000 parallel sentences to train successfully.

  • An optional model name that you can use to identify the model. Valid characters are letters, numbers, dashes, underscores, spaces and apostrophes. The maximum length is 32 characters.

parameters

  • The model ID of the model to use as the base for customization. To see available models, use the List models method. Usually all IBM provided models are customizable. In addition, all your models that have been created via parallel corpus customization, can be further customized with a forced glossary.

  • A TMX file with your customizations. The customizations in the file completely overwrite the domain translaton data, including high frequency or high confidence phrase translations. You can upload only one glossary with a file size less than 10 MB per call. A forced glossary should contain single words or short phrases.

  • A TMX file with parallel sentences for source and target language. You can upload multiple parallel_corpus files in one request. All uploaded parallel_corpus files combined, your parallel corpus must contain at least 5,000 parallel sentences to train successfully.

  • An optional model name that you can use to identify the model. Valid characters are letters, numbers, dashes, underscores, spaces and apostrophes. The maximum length is 32 characters.

parameters

  • The model ID of the model to use as the base for customization. To see available models, use the List models method. Usually all IBM provided models are customizable. In addition, all your models that have been created via parallel corpus customization, can be further customized with a forced glossary.

  • A TMX file with your customizations. The customizations in the file completely overwrite the domain translaton data, including high frequency or high confidence phrase translations. You can upload only one glossary with a file size less than 10 MB per call. A forced glossary should contain single words or short phrases.

  • A TMX file with parallel sentences for source and target language. You can upload multiple parallel_corpus files in one request. All uploaded parallel_corpus files combined, your parallel corpus must contain at least 5,000 parallel sentences to train successfully.

  • An optional model name that you can use to identify the model. Valid characters are letters, numbers, dashes, underscores, spaces and apostrophes. The maximum length is 32 characters.

parameters

  • The model ID of the model to use as the base for customization. To see available models, use the List models method. Usually all IBM provided models are customizable. In addition, all your models that have been created via parallel corpus customization, can be further customized with a forced glossary.

  • A TMX file with your customizations. The customizations in the file completely overwrite the domain translaton data, including high frequency or high confidence phrase translations. You can upload only one glossary with a file size less than 10 MB per call. A forced glossary should contain single words or short phrases.

  • A TMX file with parallel sentences for source and target language. You can upload multiple parallel_corpus files in one request. All uploaded parallel_corpus files combined, your parallel corpus must contain at least 5,000 parallel sentences to train successfully.

  • An optional model name that you can use to identify the model. Valid characters are letters, numbers, dashes, underscores, spaces and apostrophes. The maximum length is 32 characters.

Response

Response payload for models.

Response payload for models.

Response payload for models.

Response payload for models.

Response payload for models.

Response payload for models.

Response payload for models.

Response payload for models.

Response payload for models.

Status Code

  • Success: Training has successfully started

  • Bad request: The base_model_id is not specified OR you've hit the maximum limit of customizations for this user

  • Forbidden: You may have reached the limit of 10 custom models per language pair or the service instance's plan id does not allow for customization. Currently, only service instances on the advanced or premium plans are allowed to customize

  • Not found: The base_model_id value is invalid

  • File size exceeded: Payload body exceeded the limit

Example responses

Delete model

Deletes a custom translation model.

Deletes a custom translation model.

Deletes a custom translation model.

Deletes a custom translation model.

Deletes a custom translation model.

Deletes a custom translation model.

Deletes a custom translation model.

Deletes a custom translation model.

Deletes a custom translation model.

DELETE /v3/models/{model_id}
(languageTranslator *LanguageTranslatorV3) DeleteModel(deleteModelOptions *DeleteModelOptions) (*core.DetailedResponse, error)
ServiceCall<DeleteModelResult> deleteModel(DeleteModelOptions deleteModelOptions)
deleteModel(params, [callback()])
delete_model(self, model_id, **kwargs)
delete_model(model_id:)
func deleteModel(
    modelID: String,
    headers: [String: String]? = nil,
    completionHandler: @escaping (WatsonResponse<DeleteModelResult>?, WatsonError?) -> Void)
DeleteModel(string modelId)
DeleteModel(Callback<DeleteModelResult> callback, string modelId)
Request

Instantiate the DeleteModelOptions struct and set the fields to provide parameter values for the DeleteModel method.

Use the DeleteModelOptions.Builder to create a DeleteModelOptions object that contains the parameter values for the deleteModel method.

Path Parameters

  • Model ID of the model to delete.

Query Parameters

  • Release date of the API version you want to use. Specify dates in YYYY-MM-DD format. The current version is 2018-05-01.

    Constraints: Value must match regular expression ^\d{4}-\d{2}-\d{2}$

The DeleteModel options.

The deleteModel options.

parameters

  • Model ID of the model to delete.

parameters

  • Model ID of the model to delete.

parameters

  • Model ID of the model to delete.

parameters

  • Model ID of the model to delete.

parameters

  • Model ID of the model to delete.

parameters

  • Model ID of the model to delete.

Response

Status Code

  • Success: Model deleted

  • Invalid request. See the response body for details.

  • The specified model was not found.

Example responses

Get model details

Gets information about a translation model, including training status for custom models. Use this API call to poll the status of your customization request. A successfully completed training will have a status of available.

Gets information about a translation model, including training status for custom models. Use this API call to poll the status of your customization request. A successfully completed training will have a status of available.

Gets information about a translation model, including training status for custom models. Use this API call to poll the status of your customization request. A successfully completed training will have a status of available.

Gets information about a translation model, including training status for custom models. Use this API call to poll the status of your customization request. A successfully completed training will have a status of available.

Gets information about a translation model, including training status for custom models. Use this API call to poll the status of your customization request. A successfully completed training will have a status of available.

Gets information about a translation model, including training status for custom models. Use this API call to poll the status of your customization request. A successfully completed training will have a status of available.

Gets information about a translation model, including training status for custom models. Use this API call to poll the status of your customization request. A successfully completed training will have a status of available.

Gets information about a translation model, including training status for custom models. Use this API call to poll the status of your customization request. A successfully completed training will have a status of available.

Gets information about a translation model, including training status for custom models. Use this API call to poll the status of your customization request. A successfully completed training will have a status of available.

GET /v3/models/{model_id}
(languageTranslator *LanguageTranslatorV3) GetModel(getModelOptions *GetModelOptions) (*core.DetailedResponse, error)
ServiceCall<TranslationModel> getModel(GetModelOptions getModelOptions)
getModel(params, [callback()])
get_model(self, model_id, **kwargs)
get_model(model_id:)
func getModel(
    modelID: String,
    headers: [String: String]? = nil,
    completionHandler: @escaping (WatsonResponse<TranslationModel>?, WatsonError?) -> Void)
GetModel(string modelId)
GetModel(Callback<TranslationModel> callback, string modelId)
Request

Instantiate the GetModelOptions struct and set the fields to provide parameter values for the GetModel method.

Use the GetModelOptions.Builder to create a GetModelOptions object that contains the parameter values for the getModel method.

Path Parameters

  • Model ID of the model to get

Query Parameters

  • Release date of the API version you want to use. Specify dates in YYYY-MM-DD format. The current version is 2018-05-01.

    Constraints: Value must match regular expression ^\d{4}-\d{2}-\d{2}$

The GetModel options.

The getModel options.

parameters

  • Model ID of the model to get.

parameters

  • Model ID of the model to get.

parameters

  • Model ID of the model to get.

parameters

  • Model ID of the model to get.

parameters

  • Model ID of the model to get.

parameters

  • Model ID of the model to get.

Response

Response payload for models.

Response payload for models.

Response payload for models.

Response payload for models.

Response payload for models.

Response payload for models.

Response payload for models.

Response payload for models.

Response payload for models.

Status Code

  • Status : OK

  • Invalid request. See the response body for details.

  • The specified model was not found.

Example responses

List documents

Lists documents that have been submitted for translation

Lists documents that have been submitted for translation.

Lists documents that have been submitted for translation.

Lists documents that have been submitted for translation.

Lists documents that have been submitted for translation.

Lists documents that have been submitted for translation.

Lists documents that have been submitted for translation.

Lists documents that have been submitted for translation.

Lists documents that have been submitted for translation.

GET /v3/documents
(languageTranslator *LanguageTranslatorV3) ListDocuments(listDocumentsOptions *ListDocumentsOptions) (*core.DetailedResponse, error)
ServiceCall<DocumentList> listDocuments()
listDocuments(params, [callback()])
list_documents(self, **kwargs)
list_documents
func listDocuments(
    headers: [String: String]? = nil,
    completionHandler: @escaping (WatsonResponse<DocumentList>?, WatsonError?) -> Void)
ListDocuments()
ListDocuments(Callback<DocumentList> callback)
Request

Query Parameters

  • Release date of the API version you want to use. Specify dates in YYYY-MM-DD format. The current version is 2018-05-01.

    Constraints: Value must match regular expression ^\d{4}-\d{2}-\d{2}$

No Request Parameters

This method does not accept any request parameters.

No Request Parameters

This method does not accept any request parameters.

No Request Parameters

This method does not accept any request parameters.

No Request Parameters

This method does not accept any request parameters.

No Request Parameters

This method does not accept any request parameters.

No Request Parameters

This method does not accept any request parameters.

No Request Parameters

This method does not accept any request parameters.

No Request Parameters

This method does not accept any request parameters.

Response