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
- Go to Projects (select a project) > Gear Icon > Project Settings > Workflows
- 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.
- Click on the + icon before or after any step to create the Decision step, or router.
- Select the Decision (New Branch) step type, then click Next.
- 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.
- The new Decision step will show up in the workflow as . Next, create a second workflow branch to send strings to. Click on the + icon to begin building the second branch
- 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.
- Choose a step for this workflow branch to merge back into.
- Configure your new step.
- Repeat steps 4-6 to create as many workflow branches as you need
- Next, define the rules to route content to your workflow branches. Click on the Decision step to configure your rules.
- 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
- 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.
- Repeat steps 9-10 to define all your rules
- Click Save when you are done defining rules
- When you are done adding steps to the workflow, click Done on the workflow toolbar
Creating an 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
Rules
The following string conditions are currently supported for pre-translation and post-translation Decision steps:
- File URI contains “...”
- Checks if any of the file URIs contain the specified text. In order for this condition to work, the file URI needs to be at least a partial match (case-insensitive).
For example, the rule "File URI contains: File123" will match file URIs like "File123", "File1234" and "My File123", but not "File1".
- Checks if any of the file URIs contain the specified text. In order for this condition to work, the file URI needs to be at least a partial match (case-insensitive).
- File URI does not contain “...”
- In order for this condition to work, the file URI needs to be at least a partial match (case-insensitive).
- Source locale is in the list “...”
- Use supported locale ID's, e.g., “fr-FR, pt-BR”
- Source locale is not in the list “...”
- Use supported locale ID's, e.g., “fr-FR, pt-BR”
- Target locale is in the list “...”
- Use supported locale ID's, e.g., “fr-FR, pt-BR”
- Target locale is not in the list “...”
- Use supported locale ID's, e.g., “fr-FR, pt-BR”
- Has any of the string keys “...”
- Checks if a string has at least one of the specified keys. In order for this condition to work, the key needs to be at least a partial match (case-insensitive).
For example, the rule "Has any of the string keys: Key123" will match keys like "Key123" and "Key1234", but not "Key1".
- Checks if a string has at least one of the specified keys. In order for this condition to work, the key needs to be at least a partial match (case-insensitive).
- Has none of the string keys “...”
- In order for this condition to work, the key needs to be at least a partial match (case-insensitive).
- Has any of the string tags “...”
- Checks if a string has at least one of the specified tags. In order for this condition to work, enter the exact tag/s (case-insensitive).
- Has none of the string tags “...”
- In order for this condition to work, enter the exact tag/s (case-insensitive).
- Has any of the string variants "..."
- In order for this condition to work, enter the exact variant/s (case-insensitive).
- Has none of the string variants "..."
- In order for this condition to work, enter the exact variant/s (case-insensitive).
- In order for this condition to work, enter the exact variant/s (case-insensitive).
- String word count is greater than or equal to ...
- Enter the minimum string word count.
- String word count is less than ...
- Enter the maximum string word count.
- Job word count is greater than or equal to ...
- Enter the minimum Job word count.
- Job word count is less than ...
- Enter the maximum Job word count.
- String is a repetition
- String is not a repetition
Pre-translation Decision steps
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]
Note: 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
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)
- Edit effort estimation label is "..."
- This rule is available for accounts using Smartling's AI Translation Toolkit. Select "Level 1", "Level 2" and/or "Level 3".
- Edit effort estimation label is not "...."
- This rule is available for accounts using Smartling's AI Translation Toolkit. Select "Level 1", "Level 2" and/or "Level 3".
Considerations
Order matters
Rules are executed in top-down order. Therefore, fuzzy estimate rules for repetitions should be first because they are considered to have the highest fuzzy %. Once a rule is executed, the strings for that rule will then be moved to the corresponding workflow segment and will not be evaluated against any following rules.
Example
Here are some rules for a dynamic workflow with 3 branches:
- Rule 1: Repetitions should go to the third branch
- Rule 2: All strings over 30 words should go to the second branch
- Rule 3: All strings under 30 words should go to the first branch
- Rule 3: All strings under 30 words should go to the first branch
- Rule 2: All strings over 30 words should go to the second branch
- Rule 1: Repetitions should go to the third branch
No wildcards
Wildcards are not supported.
All roads lead to Published
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.