Translation Workflow

Dynamic Workflows

Dynamic Workflows are designed to help you achieve translation cost savings and faster time to market by intelligently routing your content based on parameters you choose.

Make your workflow dynamic by configuring Decision Steps and Workflow Branches.

Decision Steps and Workflow Branches

The Decision step is a workflow step that evaluates a string’s properties and automatically chooses between multiple steps to send them to. Think of a Decision step as a router step - they are different from other workflow steps in that:

  • Can point to multiple steps: other workflow steps can only be followed by one workflow step. Decision steps can be followed by several parallel workflow steps
  • Fully automated: users do not need to submit strings from a Decision step


Once a Decision step is defined, you can create multiple workflow branches from it. A workflow branch can consist of multiple workflow steps. This effectively allows you to have a single workflow that has the functionality of multiple workflows. Each branch can be configured to best translate the content that moves through it.

Decision steps can be used to support complex translation needs effortlessly and within the same workflow. Some examples:

  • Send strings with high fuzzy scores to human translators (to leverage TM and SmartMatch) and strings with low fuzzy scores to machine translation (for cost savings and velocity).
  • Split content by File URI to different agencies, then have all translated content reviewed together in an Internal Review step.
  • Combine multiple different workflows for different locales into a single workflow.

You can have one Decision steps in a dynamic workflow, but it can be anywhere on the workflow - pre-translation, or post-translation. You can create as many workflow branches as you need.

If a string SmartMatches to a post-translation step in a dynamic workflow, the string will continue via the workflow branch it was routed to, until it is published.

Creating a Dynamic Workflow

  1. Go to Projects (select a project) > Gear Icon > Project Settings > Workflows
  2. Create a Workflow or scroll to the workflow you’d like to configure, then click Add Steps. The Workflow must contain a Translation step, at a minimum.
  3. Click on the + icon before or after any step to create the Decision step, or router.
  4. Select the Decision (New Branch) step type, then click Next.
  5. Enter a name for the step, then click Create. Note, strings will move to the next step in the workflow if no conditions are met.
  6. The new Decision step will show up in the workflow as  Screen_Shot_2019-06-06_at_5.54.33_PM.png. Next, create a second workflow branch to send strings to. Click on the + icon to begin building the second branch
  7. Add a Branch step by choosing the Workflow step type.
    • Standard step types are explained here.
    • For Decision steps after a Translation step, you can choose to create an empty branch.
  8. Choose a step for this workflow branch to merge back into.
  9. Configure your new step.
  10. Repeat steps 4-6 to create as many workflow branches as you need
  11. Next, define the rules to route content to your workflow branches. Click on the Decision step to configure your rules.
  12. Decision steps contain the rules for sending strings to different workflow branches. A Decision step always has a default rule, which automatically sends strings to the first Translation step if no other rules apply. Click Add New Rule to define a new rule
  13. A rule consists of an action (where the string should go) and a condition (why it should go there). Choose a branch to send strings to, then choose a condition and define the value for it.
  14. Repeat steps 9-10 to define all your rules
  15. Click Save when you are done defining rules
  16. When you are done adding steps to the workflow, click Done on the workflow toolbar

Empty Branch

Empty branches can be created if the Decision step comes after the Translation step. It is specifically useful if the workflow contains one or more steps between the Translation step and Published. For example, if your workflow contains Translation, Edit, Review steps before it's Published, and translations submitted to the Edit step did not require an edit, you might be happy for those strings to bypass the Review step and go straight to Published. Simply add a Decision step after the Edit step, create an Empty Branch to merge to Published, and use the rule String was unedited in previous step



The following string conditions are currently supported for pre-translation and post-translation Decision steps:

  • File URI contains “value”
  • File URI does not contain “value”
  • Source language is in the list “X,Y,Z”
    • Use supported locale ID's, e.g., “fr-FR” and “pt-BR”
  • Source language is not in the list “X,Y,Z”
    • Use supported locale ID's, e.g., “fr-FR” and “pt-BR”
  • Target language is in the list “X,Y,Z”
    • Use supported locale ID's, e.g., “fr-FR” and “pt-BR”
  • Target language is not in the list “X,Y,Z”
    • Use supported locale ID's, e.g., “fr-FR” and “pt-BR”
  • String key contains “value”
  • String key does not contain “value”
  • Has string tags “value”
  • Does not have string tags “value”
  • String variant contains "value"
  • String variant does not contain "value"
  • String word count is greater than or equal to [value]
  • String word count is less than [value]
  • Job word count is greater than or equal to [value]
  • Job word count is less than [value]
  • String is a repetition
  • String is not a repetition

Pre-translation Decision steps have the following additional conditions:

  • Fuzzy estimate is equal to or greater than [0-100% threshold]
  • Fuzzy estimate is equal to [0-100% threshold]
  • Fuzzy estimate is less than [0-100% threshold]

The fuzzy estimate is generated at the time of authorization and can vary significantly from the fuzzy score. For example, repetitions and internal matches will have higher fuzzy estimates than the true fuzzy score.

Post-translation Decision steps have the following additional conditions:

  • String was edited in the previous step (no value required)
  • String was unedited in the previous step (no value required) 

Wildcards are not supported.

To ensure that content is translated correctly, all possible paths through a workflow must have exactly one Translation step and end at the same Published step. A workflow branch does not have to merge back to the Published step, but it must merge with a step that will eventually lead it to Published.

Was this article helpful?