Release notes v8.7.0

Release Details

v8.7.0 - Media / RegEx Properties

This is a major.minor release of Translation Manager for Umbraco v8. It contains support for Azure Blob storage, regex pattern matching in property settings and custom xliff inline splitting.

Azure blob storage

The Xliff Connector will now honour any Blob storage settings you might have for your media folder. (Finally fixing 9). This means the default translations folder of /media/xliff_translations will now be stored and read from the blob storage for your media if it is set. - this change does not affect anything if you are not using blob storage or if you have moved the translation folder out of the media folder..

Breaking: this change will mean that the connector will now look in the media folder on blob storage, if you have had blob storage set, previous files will have been on the web server disk - you will need to move the xliff_translations folder from the local media folder to your blob storage for existing job files to be found.

Xliff custom inline splitting

by default when generating xliff - the html is split by all non-formatting blocks (e.g p, table, span not split on strong, em, u, etc) - there are sometimes when people migh want content not to be split by a html (see https://our.umbraco.com/packages/backoffice-extensions/translation-manager/translation-manager-feedback/106533-overriding-default-mappers)

Adding the following setting to the xliff provider settings element of the translations.config file will allow you to specifiy custom tags to not split on

<provider name="xliffFile">
   <!-- other settings will be here -->
   <add key="inlineCodes" value="span" />
</provider>

Before:

<group id="u1219-1-g" name="h2">
  <unit id="u1219-1-1" name="#text">
    <segment>
      <source>Run your shipments </source>
    </segment>
  </unit>
  <unit id="u1219-1-2" name="span">
    <mda:metadata>
      <mda:metaGroup id="span_attributes">
        <mda:meta type="class">underline</mda:meta>
      </mda:metaGroup>
    </mda:metadata>
    <segment>
      <source>smoothly</source>
    </segment>
  </unit>
  <unit id="u1219-1-3" name="#text">
    <segment>
      <source> from port to port.</source>
    </segment>
  </unit>
</group>

After:

<unit id="u3-1" name="h2">
  <originalData>
    <data id="d1">&lt;span class="underline"&gt;</data>
    <data id="d2">&lt;/span&gt;</data>
 </originalData>
  <segment>
    <source>Run your shipments <pc dataRefEnd="d2" dataRefStart="d1" id="1" type="fmt">smoothly</pc> from port to port.</source>
  </segment>
</unit>

RegEx Pattern matching

As of this update you can now tell translation manager to ignore properties based on a regex pattern. In short this enables us to ignore properties that might be inside a nested content element (e.g in the grid, nested content or a block list 11)

Upon update the set settings will have a new option (use regex pattrern)

image

with this value selected - Translation Manager will attempt to find a property based on regEx values of the property path.

Almost always just putting the property name of the nested property will work.

but if you want to be more granular in control this allows you to do this.

Every translated item will have a property path value which you can see when it is sent to translation:

image

In the example above:

features/feature/featureName is

  • the path name of a property that is inside a features property on the main page
  • this then has a feature doctype as a nested doctype
  • within this nested type 'featureName` is the property.

to exclude featureNameproperty from translations (with RegEx Option turned on)

setting note
-featureName will exclude featureName whenever it is used
`-/featureName' will exclude featureName whenever it is used inside another content type
-/features/featureName will exclude featureName only when its used in the features doctype
-/feature/.+/featureName | will excludefeatureNamewhen it is used in a nested content type of afeature` property
-/features/' | will exclude all properties from thefeatures` doctype when it is used nested inside parent content.

note the - in front of a property name.

this is a very powerful feature - but can be quite complicated! - you should use caution and test throughly when setting regex patterns on your property exclusions

--

Installing Translation Manager.

We recommend you install Translation Manager via NuGet / Visual Studio Package Manager

PM>install-package Jumoo.TranslationManager -version 8.7.0

you can install the Umbraco Package from the Umbraco back office or the our.umbraco.org package page.

Upgrading

via nuget:

PM>update-package Jumoo.TranslationManager -version 8.7.0 -FileConflictAction Ignore

There should be no issues upgrading between patch versions of Translation Manager (e.g 8.5.3 -> 8.5.4).

We recommend you do not have open translation jobs when upgrading minor versions (e.g 8.4 -> 8.7) - In general there should be no issue upgrading with open jobs - but this reduces any risks if data structures are altered during a upgrade.