A running instance uses a baked snapshot of its workflow definition (a version), which pins its behavior for consistency. But the runtime serves the snapshot strings as baked and does not overlay the config translation for the viewer language, so config-translated workflow strings (interaction labels, messages, and any translatable node or flow setting) do not reach a versioned or running instance. A string appears translated only if the snapshot happened to be baked while that language override was active, which is fragile: re-baking a version can flip a label back to its untranslated value.

Steps to reproduce:

  • On a multilingual site, translate an interaction label or message on a workflow.
  • Run an instance and open the interaction in the translated language.
  • The string shows the untranslated base value.

Proposed resolution:

  • When a version is baked, also capture the config translations: for each enabled language, the translated values of the translatable schema elements (a translations map, langcode to path and string), read from the language config overrides at bake time.
  • At render, after the definition resolver loads the snapshot base definition, overlay the snapshot translation for the viewer language onto those strings before building the node or interaction.
  • Persist rather than re-read live overrides at render, so a later translation edit does not retroactively change running instances, the same versioning guarantee as the definition itself.

Found while adding a translatable empty message to the payment step (#3613222: Let the payment step route on a resolver outcome (pay, no_payment, empty)); it affects the existing interaction labels identically.

Issue fork orchestra-3613224

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

mably created an issue. See original summary.

  • mably committed 217b6115 on 1.x
    fix: #3613224 Config translations of a versioned workflow definition are...
mably’s picture

Status: Active » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.