Localizing XML Refactoring Operations

Oxygen XML Developer includes localization support for the XML refactoring operations.

The translation keys for the built-in refactoring operations are located in [OXYGEN_INSTALL_DIR]/refactoring/i18n/translation.xml.

The localization support is also available for custom refactoring operations. The following information can be translated:

  • The operation name, description, and category.
  • The description of the parameters element.
  • The label, description, and possibleValues for each parameter.

Translated refactoring information uses the following form:

${i18n(translation_key)}

Oxygen XML Developer scans the following locations to find the translation.xml files that are used to load the translation keys:

  • A refactoring/i18n folder, created inside a directory that is associated to a customized framework.
  • A i18n folder, created inside a directory that is associated to a customized framework.
  • An i18n folder inside any specified folder. In this case, you need to open the Preferences dialog box (OptionsPreferences), go to XMLXML Refactoring, and specify the folder in the Load additional refactoring operations from text box.
  • An i18n folder located in directories specified through the XML Refactoring Operations Plugin Extension.
  • The refactoring/i18n folder from the Oxygen XML Developer installation directory ([OXYGEN_INSTALL_DIR]/refactoring/i18n).

Example of a Refactoring Operation Descriptor File with i18n Support

<?xml version="1.0" encoding="UTF-8"?>

<refactoringOperationDescriptor
    xmlns="http://www.oxygenxml.com/ns/xmlRefactoring" id="remove_text_content" 
           name="${i18n(Remove_text_content)}">
    <description>${i18n(Remove_text_content_description)}</description>
    <script type="XQUERY_UPDATE" href="remove_text_content.xq"/>
    <parameters>
        <description>${i18n(parameters_description)}</description>
        <parameter label="${i18n(Element_name)}" name="element_localName" 
                      type="NC_NAME">
            <description>${i18n(Element_name_descriptor)}</description>
            <possibleValues>
                <value default="true" name="value1">${i18n(value_1)}</value>
                <value name="value2">${i18n(value_2)}</value>
            </possibleValues>
        </parameter>
    </parameters>
</refactoringOperationDescriptor>

Was this helpful?