Using the concurrent localization method

You configure the IXIASOFT CCMS to use the concurrent localization method by enabling the ConcurrentLocalizationManagerService manager and the ImageLocalizationManagerService element in the localizationManagers.xml file.

The following code shows the concurrent localization manager classes in the localizationManagers.xml file.

<manager class="com.ixiasoft.cms.controller.localization.concurrentLocalization.ConcurrentLocalizationManagerService" 
	description="DITA based localization manager. Creates localization packages using xliff object as the exchanged objects." 
	name="Concurrent Localization Manager">
	<config name="full.context">true</config>
	<config name="bundle.creation.xliffFormat">true</config>
	<config name="context.document.type">Dita2Pdf</config>
	<config name="include.default.images">true</config>
	<config name="translation.autotranslation.acceptPartialTranslation">true</config>
	<config name="translation.autotranslation.fulltranslation.status">Localization:machine translated</config>
	<config name="translation.autotranslation.ignorableElement.xpath">child::draft-comment | child::data | child::comment()</config>
	<config name="translation.autotranslation.ignorableText.regex">[\—\"\'\-\_\\]+</config>
	<config name="translation.autotranslation.ignorableSpace">true</config>
</manager>
<manager class="com.ixiasoft.cms.controller.localization.ImageLocalizationManagerService"
         description="Determines content to localize for images."              
         name="Concurrent Image Localization manager"             
         type="image">       
</manager>
You can configure the following options for the concurrent localization manager:
Note: All the options below are optional. If you do not specify a value, the default value specified in the table below is used.
Table 1. Concurrent localization configuration options
Option Description
full.context Specifies whether to package in the localization kit only the files that require translation (false) or to package all the files, even if they do not need to be translated (true). Packaging all the files provides a context for the content to be translated.

For example, consider a map that contains five topics, but only two topics have been updated. When full.context=true, the five topics are included in the localization kit to provide context for the files that need to be translated. When full.context=false, only the two topics that were updated will be packaged in the localization kit.

Default value is true.

bundle.creation.xliffFormat Specifies the format of the files in the localization kits; Valid values are:
  • true: XLIFF (default)
  • false: DITA
context.document.type Specifies how to output the context document (for example, Dita2xhtml, Dita2PDF, etc.). The value should match one of the output types defined for your deployment.

If a context document is not required, leave this field empty.

include.default.images Specifies whether images should be provided as part of the localization kit for context. Note that these images are not provided in a format that can be used for localization; they are provided for context only.

Default value is true.

translation.autotranslation. acceptPartialTranslation Specifies whether the system accepts documents that were partially translated during auto-translation. Valid values are:
  • true: Partially translated documents are accepted and saved in the Content Store after the auto-translation process. They will be included in the localization kit sent for translation.
  • false: Only fully translated documents are accepted and saved in the Content Store. In this case, the original source document is sent in the localization kit and the partial auto-translations are ignored.
Default value is true.
translation.autotranslation. fulltranslation.status Specifies the status for documents that were fully translated by the auto-translation process. For example:
Localization:machine translated
Note: This status must be a valid status configured in your workflow. If you specify a status that is not in your workflow, this option will be ignored.
There is no default value for this option. If you don't specify it, the documents will be put in the standard workflow status (for example, Localization:review)
translation.autotranslation. ignorableElement.xpath Specifies the elements that should be ignored during auto-translation. For example, the following code indicates that if an element has a child draft-comment, data, or comment element, then changes in these child elements will be ignored during auto-translation.
child::draft-comment | child::data | child::comment()<
Enter a valid XPath expression. There is no default value for this option. If you don't specify it, no element will be ignored.
translation.autotranslation. ignorableText.regex Specifies the text inside elements that should be ignored during auto-translation. For example, the following code indicates that the following characters (— " ' - _ \) will be ignored when comparing documents during auto-translation:
[\—\"\'\-\_\\]+
Enter a valid regular expression (regex). There is no default value for this option. If you don't specify it, no character will be ignored.
translation.autotranslation. ignorableSpace Specifies whether spaces should be ignored during auto-translation. Valid values are:
  • true: Spaces are ignored.
  • false: Spaces are not ignored. For example, if a previous version of a topic and a current version are identical but one has an extra space, then it will not be auto-translated.
Default value is true.

To use the concurrent localization manager:

  1. Open the TEXTML Administration perspective by clicking the TEXTML Administration shortcut on the tool bar. If the shortcut is not displayed, follow these steps:
    1. Select Window > Perspective > Open Perspective > Other
    2. Click TEXTML Administration.
    3. Click Open.
  2. In the TEXTML Administration view, double-click the server. If your server is not displayed in the view, you must add it to the view.
  3. When the Connect as dialog opens, type your username and password and click OK.
  4. Double-click the name of your Content Store to open a connection to it.
  5. Expand the Content Store's Repository node and browse to /system/conf to locate the localizationManagers.xml file.
  6. Right-click localizationManagers.xml and select Check Out.
  7. Open the file in an XML editor.
  8. Search for the ConcurrentLocalizationManagerService class.
  9. To use the concurrent localization manager, remove the comments from the <manager> element, as shown below:
  10. To use the concurrent localization manager, remove the comments from the elements for the ConcurrentLocalizationManagerService manager and the ImageLocalizationManagerService classes, as shown below:
    <!-- Concurrent localization method -->
    <manager class="com.ixiasoft.cms.controller.localization.concurrentLocalization.ConcurrentLocalizationManagerService" 
    ...
    </manager>
    
    <manager class="com.ixiasoft.cms.controller.localization.ImageLocalizationManagerService"
             description="Determines content to localize for images."              
             name="Concurrent Image Localization manager"             
             type="image">       
    </manager>
  11. Set the configuration options as appropriate for your deployment.
    See the table above for more information.
  12. Since only one localization manager can be enabled at any time, make sure that the sequential localization manager is commented out.
    For example:
    <!-- Sequential Localization Manager, with auto-translation disabled -->
    <!-- manager class="com.ixiasoft.cms.controller.localization.sequential.SequentialLocalizationManagerService" 
       description="Tries to determine content to localize by applying an XML
                    diff to all the nodes." 
       name="Sequential Localization manager">
          <config name="substantialChange">false</config>
          <config name="full.context">false</config>
          <config name="context.document.type">Dita2Pdf</config>
          <config name="include.default.images">true</config>
          <config name="in.context.exact.matches">false</config>
    </manager>
    
    <manager class="com.ixiasoft.cms.controller.localization.sequential.SequentialImageLocalizationManagerService" 
       description="Tries to determine content to localize for images 
                    without revision history." 
       name="Sequential Image Localization manager"
       type="image">
    </manager -->
  13. Save, close, and check in the file.
  14. Inform users of the changes.
    The changes will be applied automatically once users close and then reopen their IXIASOFT CCMS Desktop. Users can also apply the changes without restarting their IXIASOFT CCMS Desktop by clicking IXIASOFT CCMS > Synchronize Configuration. Additionally, have an administrator refresh IXIASOFT CCMS Web Server so that users will see the change reflected there.