Compat mode Google API API Reference
Compat mode Google API
With the Compat mode Google API, translation tasks can be run by SYSTRAN Server engines using Google style translation API. In this way, only the API key and end point needs to be changed, without having to rewrite existing code.
It is recommended to use ‘Compatmode’ API only in the case of legacy developments, as it is preferable to use the SYSTRAN translation API from the start, which offers more possibilities in leveraging translations from your server.
Authentication
- In header the access token generated from the authorization-server (ses-console) using OAuth2 Flow Client Credentials or PKCE.
Authorization: Bearer YOUR_ACCESS_TOKEN
- In header the API Key generated from the authorization-server (ses-console)
Authorization: Key YOUR_API_KEY
- In querystring the API Key as key parameter
?key=YOUR_API_KEY
Note about the input/output text
- The input text passed as a URL parameter will be escaped with an equivalent of the javascript 'encodeURIComponent' function.
- The input text must be encoded in UTF-8.
- The output text will be encoded in UTF-8.
Language code values
The language codes to be used are the two-letter codes defined by the ISO 639-1:2002, Codes for the representation of names of languages - Part 1: Alpha-2 code standard.
Refer to the column 'ISO 639-1 code' of this list: http://www.loc.gov/standards/iso639-2/php/code_list.php.
In addition to this list, the following codes are used:
Language Code | Language |
---|---|
auto | Language Detection |
tj | Tajik (cyrillic script) |
Our new Chinese-target engines and all Chinese-target models trained on Model Studio are XXZH models that support multiple locales (e.g. CN=China Simplified script, TW=Taiwan Traditional script, or HK=Hong Kong Traditional script).
To use them you have to create a XXZH profile in which you define your locale under “Model Schema,” and select the 'zh' language code locale and specify the profileID for a request. By default XX to ZH requests will use the zh-CN locale.
If you are currently using a XXZT profile for Traditional Chinese, please note that new XXZT models will not be released whereas all improvements concerning Traditional Chinese will be now released under XXZH models.
Although the existing XXZT engines may still be used for the moment by calling the language code 'zt', this may change in the future, so we strongly advise you to create a new XXZH profile for your translation needs.
Schemes: https
Version: 1.1.0
Authentication
accessToken
"Bearer access_token" OR "Key api_key"
apiKey
API Key
Compat mode Google API
Compat mode Google API
Translation
Get API version
Current version for this API
Successful response
Invalid parameters
Error
Response Content-Types: application/json
Response Example (200 OK)
{
"version": "1.0.0"
}
Translate v2
Translate text from source language to target language
Input text. This parameter can be repeated. 100000 paragraphs / 50 MB maximum per request (please contact SYSTRAN support for more).
Array values passed as multiple parameters: ?q=aaa&q=bbb
Source language code.
When the value is set to auto
, the language will be automatically detected, used to enhance the translation, and returned in output.
Target language code
Format of the source text.
The format of the source text, in either HTML (default) or plain-text. A value of html
indicates HTML and a value of text
indicates plain-text.
If the model is nmt
, and the requested Translation Resource is not activated and/or not running, the request will be translated using the base
model.
If model
is not provided, nmt
will be requested by default.
nmt
will request a profile with size: "M"
base
will request a profile with size: "S"
Successful response
Invalid parameters
Error
Response Content-Types: application/json
Response Example (200 OK)
{
"error": {
"message": "Internal error",
"statusCode": 500,
"info": "object"
}
}
Detect v2
Detects the language of text within a request.
Input text. This parameter can be repeated. 100000 paragraphs / 50 MB maximum per request (please contact SYSTRAN support for more).
Array values passed as multiple parameters: ?q=aaa&q=bbb
Successful response
Invalid parameters
Error
Response Content-Types: application/json
Response Example (200 OK)
{
"error": {
"message": "Internal error",
"statusCode": 500,
"info": "object"
}
}
Supported languages
List of target
languages in which translation is supported.
This list can be limited to a specific target language.
Language code into which to translate the source text
Array values passed as multiple parameters: ?target=aaa&target=bbb
Successful response
Invalid parameters
Error
Response Content-Types: application/json
Response Example (200 OK)
{
"error": {
"message": "Internal error",
"statusCode": 500,
"info": "object"
}
}
Schema Definitions
TranslationData: object
- translations: object[]
-
Outputs of Translations
-
object - error: string
-
Error at output level
- detectedSourceLanguage: string
-
Result of the automatic language detection if
auto
or no source was specified as source language - translatedText: string
-
Text translated into the target language.
- model: string
-
The translation model used.
nmt
for the Pure Neural Machine Translation (NMT).base
for other model (RBMT, SMT, SPE)
Example
{
"translations": [
{
"error": "Internal error",
"detectedSourceLanguage": "en",
"translatedText": "le chien",
"model": "nmt"
}
]
}
DetectionData: object
- detections: object[]
-
Outputs of Detections
-
object - error: string
-
Error at output level
- language: string
-
Result of the automatic language detection if
auto
or no source was specified as source language - isReliable: boolean
-
Deprecated Indicates whether the language detection result is reliable. Will be always
true
- confidence: double
-
The confidence of the detection result for this language
Example
{
"detections": [
{
"error": "Internal error",
"language": "en",
"isReliable": true,
"confidence": "nmt"
}
]
}
SupportedLanguagesData: object
- languages: object[]
-
Outputs of Languages
-
object - language: string
-
Supported target language code
- name: string
-
Not implemented. Should be an human readable name of the language localized to the target language. language will be returned instead.
Example
{
"languages": [
{
"language": "en",
"name": "en"
}
]
}
TranslationOutput: object
- error: string
-
Error at output level
- detectedSourceLanguage: string
-
Result of the automatic language detection if
auto
or no source was specified as source language - translatedText: string
-
Text translated into the target language.
- model: string
-
The translation model used.
nmt
for the Pure Neural Machine Translation (NMT).base
for other model (RBMT, SMT, SPE)
Example
{
"error": "Internal error",
"detectedSourceLanguage": "en",
"translatedText": "le chien",
"model": "nmt"
}
DetectionOutput: object
- error: string
-
Error at output level
- language: string
-
Result of the automatic language detection if
auto
or no source was specified as source language - isReliable: boolean
-
Deprecated Indicates whether the language detection result is reliable. Will be always
true
- confidence: double
-
The confidence of the detection result for this language
Example
{
"error": "Internal error",
"language": "en",
"isReliable": true,
"confidence": "nmt"
}
SupportedLanguagesOutput: object
- language: string
-
Supported target language code
- name: string
-
Not implemented. Should be an human readable name of the language localized to the target language. language will be returned instead.
Example
{
"language": "en",
"name": "en"
}
TranslationResponse: object
The response will be a JSON object containing the result of the translation.
{
"warning": "", /* Warning at request level */
"error": {
"message": "" /* Error at request level */
"info": {}
},
"translations": [
{
"warning": "", /* Warning at input level */
"error": "", /* Error at input level */
"detectedSourceLanguage": "fr", /* Result of the automatic language detection if selected */
"model": "nmt", /* The translation model used */
"translatedText": "translated text 1", /* Translate text */
},
{
"warning": "", /* Warning at input level */
"error": "", /* Error at input level */
"model": "nmt", /* The translation model used */
"translatedText": "translated text 2" /* Translate text */
}
]
}
- error: ErrorResponse
-
Error at request level
- data: object
-
Data
Example
{
"error": {
"message": "Internal error",
"statusCode": 500,
"info": "object"
}
}
DetectionResponse: object
The response will be a JSON object containing the result of the detections.
{
"warning": "", /* Warning at request level */
"error": {
"message": "" /* Error at request level */
"info": {}
},
"detections": [
{
"warning": "", /* Warning at input level */
"error": "", /* Error at input level */
"language": "fr", /* Result of the automatic language detection */
"isReliable": true, /* Deprecated field */
"confidence": 0.9597339010238647, /* The confidence of the detection */
},
{
"warning": "", /* Warning at input level */
"error": "", /* Error at input level */
"language": "en", /* Result of the automatic language detection */
"isReliable": true, /* Deprecated field */
"confidence": 0.8263649010258761, /* The confidence of the detection */
}
]
}
- error: ErrorResponse
-
Error at request level
- data: object
-
Data
Example
{
"error": {
"message": "Internal error",
"statusCode": 500,
"info": "object"
}
}
SupportedLanguagesResponse: object
- error: ErrorResponse
-
Error at request level
- data: object
-
Data
Example
{
"error": {
"message": "Internal error",
"statusCode": 500,
"info": "object"
}
}
Profile: object
Profile
- id: string
-
Profile UUID (Universally Unique IDentifier)
- private: boolean
-
Public or private profile
Example
{
"id": "6b80a3f5-aff2-41ba-a5ce-21603738432e",
"private": false
}