Translate Text

Go to Product

The translate function.

The total request body size must not exceed 128 KiB (128 · 1024 bytes). Please split up your text into multiple calls if it exceeds this limit.

Options

Text
Text to be translated. Only UTF-8-encoded plain text is supported. The parameter may be specified multiple times and translations are returned in the same order as they are requested. Each of the parameter values may contain multiple sentences.
Set Source Language
Enable to set the optional field Source Language
Source Language

Language of the text to be translated. Options currently available:

  • AR - Arabic
  • BG - Bulgarian
  • CS - Czech
  • DA - Danish
  • DE - German
  • EL - Greek
  • EN - English
  • ES - Spanish
  • ET - Estonian
  • FI - Finnish
  • FR - French
  • HE - Hebrew [1]
  • HU - Hungarian
  • ID - Indonesian
  • IT - Italian
  • JA - Japanese
  • KO - Korean
  • LT - Lithuanian
  • LV - Latvian
  • NB - Norwegian (Bokmål)
  • NL - Dutch
  • PL - Polish
  • PT - Portuguese (all Portuguese varieties mixed)
  • RO - Romanian
  • RU - Russian
  • SK - Slovak
  • SL - Slovenian
  • SV - Swedish
  • TH - Thai [1]
  • TR - Turkish
  • UK - Ukrainian
  • VI - Vietnamese [1]
  • ZH - Chinese

If this parameter is omitted, the API will attempt to detect the language of the text and translate it.

[1] Please note that Hebrew, Thai, and Vietnamese have not yet been added to the /languages endpoint because they does not yet support document translation; only text translation is supported for those languages at this time. When document translation support is added for Hebrew, Thai, and Vietnamese, we will a) remove this note and b) add Hebrew, Thai, and Vietnamese to the /languages endpoint.

Target Language

The language into which the text should be translated. Options currently available:

  • AR - Arabic
  • BG - Bulgarian
  • CS - Czech
  • DA - Danish
  • DE - German
  • EL - Greek
  • EN - English (unspecified variant for backward compatibility; please select EN-GB or EN-US instead)
  • EN-GB - English (British)
  • EN-US - English (American)
  • ES - Spanish
  • ES-419 - Spanish (Latin American) [1]
  • ET - Estonian
  • FI - Finnish
  • FR - French
  • HE - Hebrew [1]
  • HU - Hungarian
  • ID - Indonesian
  • IT - Italian
  • JA - Japanese
  • KO - Korean
  • LT - Lithuanian
  • LV - Latvian
  • NB - Norwegian (Bokmål)
  • NL - Dutch
  • PL - Polish
  • PT - Portuguese (unspecified variant for backward compatibility; please select PT-BR or PT-PT instead)
  • PT-BR - Portuguese (Brazilian)
  • PT-PT - Portuguese (all Portuguese variants excluding Brazilian Portuguese)
  • RO - Romanian
  • RU - Russian
  • SK - Slovak
  • SL - Slovenian
  • SV - Swedish
  • TH - Thai [1]
  • TR - Turkish
  • UK - Ukrainian
  • VI - Vietnamese [1]
  • ZH - Chinese (unspecified variant for backward compatibility; please select ZH-HANS or ZH-HANT instead)
  • ZH-HANS - Chinese (simplified)
  • ZH-HANT - Chinese (traditional)

[1] Please note that Hebrew, Latin American Spanish, Thai, and Vietnamese have not yet been added to the /languages endpoint because they does not yet support document translation; only text translation is supported for those languages at this time. When document translation support is added for Hebrew, Thai, and Vietnamese, we will a) remove this note and b) add Hebrew, Thai, and Vietnamese to the /languages endpoint.

Set Context
Enable to set the optional field Context
Context

The context parameter makes it possible to include additional context that can influence a translation but is not translated itself. This additional context can potentially improve translation quality when translating short, low-context source texts such as product names on an e-commerce website, article headlines on a news website, or UI elements.

For example...

  • When translating a product name, you might pass the product description as context.
  • When translating a news article headline, you might pass the first few sentences or a summary of the article as context.

For best results, we recommend sending a few complete sentences of context in the same language as the source text. There is no size limit for the context parameter itself, but the request body size limit of 128 KiB still applies to all text translation requests.

If you send a request with multiple text parameters, the context parameter will be applied to each one.

Characters included in the context parameter will not be counted toward billing (i.e. there is no additional cost for using the context parameter, and only characters sent in the text parameter(s) will be counted toward billing for text translation even when the context parameter is included in a request).

Set Show Billed Characters
Enable to set the optional field Show Billed Characters
Show Billed Characters

When true, the response will include the billed_characters parameter, giving the number of characters from the request that will be counted by DeepL for billing purposes.

Note: for requests sent as URL-encoded forms, boolean values should be specified as "1" or "0".

Set Split Sentences
Enable to set the optional field Split Sentences
Split Sentences

Sets whether the translation engine should first split the input into sentences. For text translations where tag_handling is not set to html, the default value is 1, meaning the engine splits on punctuation and on newlines.

For text translations where tag_handling=html, the default value is nonewlines, meaning the engine splits on punctuation only, ignoring newlines.

The use of nonewlines as the default value for text translations where tag_handling=html is new behavior that was implemented in November 2022, when HTML handling was moved out of beta.

Possible values are:

  • 0 - no splitting at all, whole input is treated as one sentence
  • 1 (default when tag_handling is not set to html) - splits on punctuation and on newlines
  • nonewlines (default when tag_handling=html) - splits on punctuation only, ignoring newlines

For applications that send one sentence per text parameter, we recommend setting split_sentences to 0, in order to prevent the engine from splitting the sentence unintentionally.

Please note that newlines will split sentences when split_sentences=1. We recommend cleaning files so they don't contain breaking sentences or setting the parameter split_sentences to nonewlines.

Set Preserve Formatting
Enable to set the optional field Preserve Formatting
Preserve Formatting

Sets whether the translation engine should respect the original formatting, even if it would usually correct some aspects. Possible values are:

  • 0 (default)
  • 1

The formatting aspects affected by this setting include:

  • Punctuation at the beginning and end of the sentence
  • Upper/lower case at the beginning of the sentence
Set Formality
Enable to set the optional field Formality
Formality

Sets whether the translated text should lean towards formal or informal language. This feature currently only works for target languages DE (German), FR (French), IT (Italian), ES (Spanish), NL (Dutch), PL (Polish), PT-BR and PT-PT (Portuguese), JA (Japanese), and RU (Russian). Learn more about the plain/polite feature for Japanese here. Setting this parameter with a target language that does not support formality will fail, unless one of the prefer_... options are used. Possible options are:

  • default (default)
  • more - for a more formal language
  • less - for a more informal language
  • prefer_more - for a more formal language if available, otherwise fallback to default formality
  • prefer_less - for a more informal language if available, otherwise fallback to default formality
Set Model Type
Enable to set the optional field Model Type
Model Type

Specifies which DeepL model should be used for translation.

Possible values are:

  • latency_optimized (default) - uses lower latency “classic” translation models, which support all language pairs; default value
  • quality_optimized - uses higher latency, improved quality “next-gen” translation models, which support only a subset of language pairs; if a language pair that is not supported by next-gen models is included in the request, it will fail. Consider using prefer_quality_optimized instead.
  • prefer_quality_optimized - prioritizes use of higher latency, improved quality “next-gen” translation models, which support only a subset of DeepL languages; if a request includes a language pair not supported by next-gen models, the request will fall back to latency_optimized classic models.
Set Glossary ID
Enable to set the optional field Glossary ID
Glossary ID
Specify the glossary to use for the translation. Important: This requires the source_lang parameter to be set and the language pair of the glossary has to match the language pair of the request.
Set Tag Handling
Enable to set the optional field Tag Handling
Tag Handling

Sets which kind of tags should be handled. Options currently available:

Set Outline Detection
Enable to set the optional field Outline Detection
Outline Detection

The automatic detection of the XML structure won't yield best results in all XML files. You can disable this automatic mechanism altogether by setting the outline_detection parameter to 0 and selecting the tags that should be considered structure tags. This will split sentences using the splitting_tags parameter.

In the example below, we achieve the same results as the automatic engine by disabling automatic detection with outline_detection=0 and setting the parameters manually to tag_handling=xml, split_sentences=nonewlines, and splitting_tags=par,title.

  • Example request:
    <document>
      <meta>
        <title>A document's title</title>
      </meta>
      <content>
        <par>This is the first sentence. Followed by a second one.</par>
        <par>This is the third sentence.</par>
      </content>
    </document>
  • Example response:
    <document>
      <meta>
        <title>Der Titel eines Dokuments</title>
      </meta>
      <content>
        <par>Das ist der erste Satz. Gefolgt von einem zweiten.</par>
        <par>Dies ist der dritte Satz.</par>
      </content>
    </document>
    

While this approach is slightly more complicated, it allows for greater control over the structure of the translation output.

Set Non Splitting Tags
Enable to set the optional field Non Splitting Tags
Non Splitting Tags

Comma-separated list of XML tags which never split sentences.

For some XML files, finding tags with textual content and splitting sentences using those tags won't yield the best results. The following example shows the engine splitting sentences on par tags and proceeding to translate the parts separately, resulting in an incorrect translation:

  • Example request:
<par>The firm said it had been </par><par> conducting an internal investigation.</par>
  • Example response:
<par>Die Firma sagte, es sei eine gute Idee gewesen.</par><par> Durchführung einer internen Untersuchung.</par>

As this can lead to bad translations, this type of structure should either be avoided, or the non_splitting_tags parameter should be set. The following example shows the same call, with the parameter set to par:

  • Example request:
<par>The firm said it had been </par><par> conducting an internal investigation.</par>
  • Example response:
<par>Die Firma sagte, dass sie</par><par> eine interne Untersuchung durchgeführt</par><par> habe</par><par>.</par>

This time, the sentence is translated as a whole. The XML tags are now considered markup and copied into the translated sentence. As the translation of the words "had been" has moved to another position in the German sentence, the two par tags are duplicated (which is expected here).

Set Splitting Tags
Enable to set the optional field Splitting Tags
Splitting Tags

Comma-separated list of XML tags which always cause splits.

See the example in the outline_detection parameter's description.

Set Ignore Tags
Enable to set the optional field Ignore Tags
Ignore Tags

Comma-separated list of XML tags that indicate text not to be translated.

Use this parameter to ensure that elements in the original text are not altered in the translation (e.g., trademarks, product names) and insert tags into your original text. In the following example, the ignore_tags parameter is set to keep:

  • Example request:
    Please open the page <keep>Settings</keep> to configure your system.
  • Example response:
    Bitte öffnen Sie die Seite <keep>Settings</keep> um Ihr System zu konfigurieren.
    
Result Format

Specify how the response should be mapped to the table output. The following formats are available:

Structured Table: Returns a parsed table with data split into rows and columns.

  • Detected Source Language: The language detected in the source text. It reflects the value of the source_lang parameter, when specified.
  • Text: The translated text.
  • Billed Characters: Number of characters counted by DeepL for billing purposes. Only present if the show_billed_characters parameter is set to true.
  • Model Type Used: Indicates the translation model used. Only present if model_type parameter is included in the request.

Raw Response: Returns the raw response in a single row with the following columns:

  • body: Response body
  • status: HTTP status code

Input Ports

Icon
Configuration data.

Output Ports

Icon
Result of the request depending on the selected Result Format.
Icon
Configuration data (this is the same as the input port; it is provided as passthrough for sequentially chaining nodes to declutter your workflow connections).

Popular Predecessors

Popular Successors

Views

This node has no views

Workflows

Links

Developers

You want to see the source code for this node? Click the following button and we’ll use our super-powers to find it for you.