Syncing Content with Languages

Case

Assume you have a source and destination system with multiple languages. Each language may need values adjusted per language. Or all languages need the same value set. Maybe even the languages are mismatched between the systems.

Source content

Solution

ImpulseSync can solve these cases with it's applyToLanguages common manipulator option and language manipulator.

In this case, we'll be using a single job with 4 manipulators.

Regex manipulators

This first regex manipulator is set to replace "de" with "German". But we only want this applied to the caption field values for the de-DE language. The other languages values will not have this manipulator applied to them.

This second regex manipulator is set to do something similar. It will replace "en" with "english" but only for the languages en-US and en-AU . Other languages will not have this manipulator applied to them.

Liquid manipulator

This liquid manipulator is configured to create (or replace) the field altText. The field value of altText uses a liquid template to copy the content's current english (en) caption field value.

Notice how unlike our regex manipulators, the applyToLanguages option is not set. Without that option, the manipulator will apply to every language. So this altText field will be created with this field value for every language.

Language manipulator

The final manipulator, the language manipulator, is configured to change the source language de-DE into the destination language de-BE.

The Fieldname value is set to a white space ' '. This is due to a known issue where a value is required, but setting the value to an existing field (such as caption) can cause the fields to be empty. Thus, because this manipulator does not use the parameter, we can set it to a white space.

Once this job is run we can see the end result from our manipulators.

We can see the regex manipulators worked because "en" was replaced for the appropriate languages. And "de" was replaced in the German language.

We can also see the langauge manipulator worked because the language is set to "German (Belgium)" instead of "German (Germany)" as it was in the source.

We can also see the liquid manipulator worked and populated the altText field for every language with the same value from the content's english (en) caption field value.

Last updated