Auto Translator

For the most up-to-date documentation, please visit docs.brix.ch

No UI

The "Auto Translator" 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)).

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. Currently only "microsoft" is supported.

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.{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).

Installation

  1. Create a Microsoft Azure account and sign in
  2. Switch to the portal
  3. Go to "all resources"
  4. Click "add"
  5. Enter "Translator Text" in the search box and then select from the results
  6. Select "create" to define the details for the subscription
  7. From the pricing tier list, select the pricing tier that best fits your needs (up to 2.5M characters/month are free)
  8. Fill out the descriptive fields and click "create" to finish the subscription
  9. Go to "all resources" and open the subscription just created
  10. Click on "keys" and copy one of the keys into your properties file: autoTranslator.microsoft.subscriptionKey

Compatibility Matrix

Auto Translator CELUM
1.0 5.13.3
1.2.4 5.13.4+ (tested with 6.8)
2.0.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.