Understanding the auto-translation feature

IXIASOFT CCMS provides an auto-translation feature when localizing content.

Note: You should make these configuration changes in the Test environment and test them before copying them to the Production environment. In a dedicated SaaS deployment, after testing the changes, ask IXIASOFT Customer Support to copy the changes to the Production environment.
Note: There are variations in auto-translation depending on the localization method used. This section describes the general behavior of the auto-translation feature. The following sections provide the specifics of each method.

The auto-translation feature works by comparing the current source object to the previously translated source object to identify the elements that have not changed. For each element that has not changed, the auto-translation takes a copy of that element from the previously translated content and copies it into the new topic to be translated.

To perform auto-translation, the IXIASOFT CCMS uses the <ixia_locid> attribute. This attribute provides a unique identifier to match elements during the comparison of the previous and current source content, to make sure that the right elements are compared.

Applying the <ixia_locid> attribute to source objects

The <ixia_locid> attributes are applied in the Authoring workflow by triggers typically executed when a document is released or moves from the work state to the review or approval state, as specified in the trigger.xml system configuration file.
Note: This is the default behavior, but the configuration may differ for your deployment.

The <ixia_locid> attributes are applied as configured in the locidclasses.xml file, which lists the root classes of the elements that will receive the <ixia_locid> attributes. Any specialized element derived from one of these classes will therefore automatically receive an <ixia_locid> attribute as well. The typical configuration is to apply them to all elements.

The <ixia_locid> values are incremental numbers. The trigger first locates the highest value in the topic to get a starting number. The trigger then checks for any duplicate values: if two elements have the same <ixia_locid>, the attribute is removed from both elements. Finally, the trigger applies <ixia_locid> attributes to all the elements that require one and that don't have one, starting from the beginning of the content and incrementing the value by 1 for every attribute applied.

Auto-translation process

The auto-translation phase of the Localize operation is invoked only for objects that have a previous translation which status is at the end state of the Localization workflow (typically, "Localization:done").

The auto-translation process works with three files to update a fourth file, which is the topic that needs to be translated. This process is repeated for each target language.

The auto-translation process works with the following files:
  1. The Authoring source (typically English) of the current topic to send to localization
  2. The Authoring source of the previously localized revision
  3. The translated copy of the previously localized revision

The auto-translation process compares the current source to the previously translated source to identify the elements that have not changed. For each element that has not changed, the auto-translation takes a copy of that element from the previously translated content and copies it into the new topic to be translated. Then it adds the translate="no" attribute to that element. If all the elements in the object are auto-translated, then the status of the object changes from tb translated to review (or the equivalent in your workflow).

The <ixia_locid> attributes are used during the comparison process to locate matching elements. The auto-translation goes through all the elements in the current source, extracts the <ixia_locid>, and locates the corresponding element in the previously translated source. If both elements are identical—i.e., a character-by-character comparison of the element and all its content is exactly identical—then the auto-translation process locates the element (using the <ixia_locid> again) in the previously translated content and replaces the corresponding element in the new target content with the previously translated one.

Because the auto-translation does a character-by-character comparison, changes in the element name, an attribute, or an attribute value, as well as any punctuation or white space are also considered a difference that prevents the auto-translation.
Note: The concurrent localization method allows you to configure elements and characters (including spaces) that should be ignored during auto-translation. See below for details.

In the case of nested elements, a change in a child element will automatically trigger a change in the parent, but not to the siblings. For example, if a paragraph is changed in a section, then the <section> element is considered changed as well as the <p> element itself, but not the other elements within that same section.

When auto-translating files, the CCMS translates the text content only and not the attributes of the element. The files sent in the localization kit always include the latest attributes from the authoring source.
Note: In the sequential localization method, you can configure specific attributes as localizable content. See below for details.

When the localized files are reimported in the Content Store, the CCMS first validates that the number of <ixia_locid> attributes in the content that is being imported matches the number in the source content. During the import itself, the <ixia_locid> is used to apply the translation to the correct element within the CCMS.