Sending files for translation

To translate any file, send a POST request to the https://api.groupdocs.cloud/v2.0/translation/auto GroupDocs.Translation Cloud REST API endpoint. Nevertheless it is highly recommended to use the endpoint, corresponding to your file format. To authorize the request, pass the access token in Authorization header (Bearer authentication).

The file and translation parameters are provided in JSON format in the request body.

{
  "sourceLanguage": "string",
  "targetLanguages": [
    "string"
  ],
  "file": "string",
  "url": "string",
  "savingMode": "Files",
  "format": "Unknown",
  "outputFormat": "string",
  "masters": false,
  "formatting": true,
  "separator": "string",
  "elements": [
    0
  ],
  "ranges": {
    worksheetIndex: {
      "rows": [
        0
      ],
      "columns": [
        0
      ],
      "ranges": [
        {
          "cellStartIndex": "string",
          "cellEndIndex": "string"
        }
      ]
    }
  },
  "shortcodedict": {
    "shortCodeIndex": [
      "string"
    ]
  },
  "frontMatterList": [
    [
      "string"
    ]
  ]
}
Note
Though you have a possibility to provide your file via cURL, please firstly upload it and pass its URL.

Evaluation mode

To use GroupDocs.Translation Cloud REST API in evaluation mode, send a POST request to the endpoint https://api.groupdocs.cloud/v2.0/translation/document/trial.

This endpoint does not use the Authorization header, so there is no need to generate an access token. Pay attention, that in evaluation mode you can translate only Microsoft Word and PDF files. All other parameters remain the same as in regular file translation requests.

Translation settings

PropertyTypeDefault valueDescription
sourceLanguageStringen (English)Language code of the source file.
targetLanguagesList of stringsn/aLanguage codes into which the file should be translated.
urlStringn/aLink to a file obtained while uploading it.
formatStringformatExtension of your file, shoud start with capital letter, e.g. Docx.
outputFormatStringn/aExtension of translated file, if it should be converted.
separatorString,Delimiter in CSV files.
elementsList of integersnullList of 1 based indexes of pages in PDF or Word document, worksheets in Excel spreadsheet or slides in PowerPoint presentation.
rangesDictionarynulllDictionary of specific ranges in Excel spreadsheet to translate, where the key is the worksheet index and the value is either list of indexes of specific rows or specific columns or tuple of cells indexes.
mastersBooleanfalseIf master slides in PowerPoint presentation should be translated.
shortcodedictDictionarynullDictionary where the key is short code index and the value is list of strings of parameters names or their indexes in string format.
frontMatterListListList of list of strings, where each list of strings is the path to a scalar node that requires translation.
savingModeStringFilesIf the translated file should be saved as file (Files), archive (Archive) or both (Both).
formattingBooleantrueIf style and layout of PDF file should be preserved, recommended if you need only textual content as works faster.

Return value

If successful, this method returns JSON with a unique identifier (value of the id property) of the translation request in the queue:

{
	"status": 202,
	"message": "Starting translation",
	"id": "a4fc6c6e-81b0-43c8-b62b-b8bb99520ce9"
}

Otherwise, it returns a HTTP status code corresponding to the error.

What’s next

Translation will take a few seconds, depending on the size of the file, the volume of its textual content and the current GroupDocs.Translation Cloud load. See the article Fetching translations for information on how to get translations from the server.

cURL example

curl --location --request POST 'https://api.groupdocs.cloud/v2.0/translation/auto' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...UV1hLfgNCSQ4VKGCOA' \
--data '{
  "sourceLanguage": "en",
  "targetLanguages": [
    "de"
  ],
  "url": "https://translation-groupdocs-app.s3.us-west-2.amazonaws.com/0cd7b09d-4d63-4bcd-a9a5-dfd72897aa17.pdf...ff474526313a24821e98",
  "savingMode": "Files",
  "format": "Pdf",
  "outputFormat": "pdf",
  "masters": false,
  "formatting": true,
  "separator": "string",
  "elements": null,
  "ranges": null,
  "shortcodedict": null,
  "frontMatterList": null
}'
curl --location --request POST 'https://api.groupdocs.cloud/v2.0/translation/document/trial' \
--header 'Content-Type: application/json' \
--data '{
  "sourceLanguage": "en",
  "targetLanguages": [
    "de"
  ],
  "url": "https://translation-groupdocs-app.s3.us-west-2.amazonaws.com/0cd7b09d-4d63-4bcd-a9a5-dfd72897aa17.pdf...ff474526313a24821e98",
  "savingMode": "Files",
  "format": "Pdf",
  "outputFormat": "pdf",
  "masters": false,
  "formatting": true,
  "separator": "string",
  "elements": null,
  "ranges": null,
  "shortcodedict": null,
  "frontMatterList": null
}'
{
	"status": 202,
	"message": "Starting translation",
	"id": "a4fc6c6e-81b0-43c8-b62b-b8bb99520ce9"
}