Autotranslator

No UI

The "Autotranslator" plugin automatically translates nodes (on creation, move and metadata update) and assets (on metadata update and add to node) within the defined scope.

Warning: to prevent the translation of a lot of assets or nodes that were already translated, only the moved node is translated (if in scope) and not its children or the assets in it. You can either trigger changes for the fields that should be translated, or run the auto translator task (important: set the scope(s) accordingly, everything in any scope will be translated (again)).

Since v2.1.3 only the languages set in the defaultFetchedLocalesForLocalizedFields property will be translated. Older versions can cause an endless loop if they are installed on CELUM 22.1 or newer. This is due to a breaking change from CELUM.

Properties

To be configured in {home}/appserver/conf/custom.properties

autoTranslator.license

type: String, required: yes, default: -, since v1.2.0

The license key for the plugin (product: autoTranslator), provided by brix.

autoTranslator.translationService

type: String, required: yes, default: -

The translation service to be used: "microsoft" (v1.0.0+) or "deepl" (v2.1.0+).

Also set the corresponding properties.

autoTranslator.microsoft.url

type: String, required: yes (if the microsoft service was selected), default: -

The URL to the microsoft translation service, e.g. https://api.cognitive.microsofttranslator.com/translate?api-version=3.0.

autoTranslator.microsoft.subscriptionKey

type: String, required: yes (if the microsoft service was selected), default: -

The subscription key delivered by Microsoft (see Installation).

autoTranslator.microsoft.region

type: String, required: yes (if the microsoft service was selected and not global url is used), default: -

The region in which the translation subscription was created.

autoTranslator.deepl.url

type: String, required: yes (if the deepl service was selected), default: -

The URL to the deepl translation service, e.g. https://api-free.deepl.com/v2/translate.

autoTranslator.deepl.apiKey

type: String, required: yes (if the deepl service was selected), default: -

The deepl API key.

autoTranslator.{id}.assetScope

type: String, required: no, default: -, since v2

A scope for asset translations using the search util 2 syntax.

autoTranslator.{id}.nodeScope

type: String, required: no, default: -, since v2

A scope for node translations. The following parameters are supported:

  • nodes a list of node ids
  • nodeTypes a list of node type ids
  • recursive (default true), if recursive is false and node types is specified then only the root nodes are found
  • includeParent (default false), includes the specified nodes themselves also when recursive is true
  • excludeNodes (always recursive and the nodes specified here are included), exclude nodes if it is not possible to get the desired result otherwise, not recommended because it is expensive

Example: nodes=1,2,3&nodeTypes=4,5,6&recursive=true&includeParent=false&excludeNodes=7,8,9

autoTranslator.{id}.userId

type: String, required: no, default: apiUser, since v2

The user to perform the search with. Like this, permissions can be used to define the scope.

autoTranslator.{id}.settings

type: String, required: no, default: -, since v2

The settings for the translation and the scope with {id}. If nothing is specified then all translatable information fields and the name (for nodes) is translated using the default language as source unless it is empty, then the first non-empty language is used (random).

  • force (default false) to overwrite non-empty fields on changes also, if force is false then only empty fields are translated
  • name (default null) to translate the name, if name and fields is not configured, then everything is translated
  • fields (default null) the information fields that should be translated, if name and fields is not configured, then everything is translated
  • from (default first default language then random) the language to translate from, the specified languages are checked in order, if none of them is non-empty, then nothing will be done
  • to (default all languages) the languages to translate to

Example: force=true&name=true&fields=1,2,3&from=en,de&to=fr,it

autoTranslator.ignoreNodeTypeIds

type: List of String (comma-separated), required: no, default: -, removed in v2

A list of node type Ids which should be ignored.

autoTranslator.ignoreNodeIds

type: List of String (comma-separated), required: no, default: -, removed in v2

A list of node Ids to ignore (including their children).

autoTranslator.ignoreInformationFieldIdOnAssetTypeId

type: List of String (comma-separated), required: no, default: -, removed in v2

A list of <assetTypeId>:<informationFieldId> pairs to be ignored.

autoTranslator.languagePreferences

type: List of String (comma-separated), required: no, default: -, removed in v2

A list of preferred languages. The "Auto Translator" first checks the preferred languages in order and if it finds a non-empty field, this text and the corresponding language are used as a source for the translations. Afterwards, the plugin tries to use the default language. If there was still no non-empty field, then all the available languages are checked (random, order cannot be guaranteed).

Compatibility Matrix

Autotranslator CELUM (min. version)
1.0 5.13.3
1.2.4 5.13.4+ (tested with 6.8)
2.0.0 6.4+ (tested with 6.8)
2.1.0 6.4+ (tested with 6.8)

Release Notes

1.0.0

Released 2018-07-09

Initial Version

1.2.0

Released 2019-01-28

Added license

2.0.0

Completely reworked with Scopes, forced translations etc.

2.1.0

Released 2021-11-26

Added deepl support