Flow / Admins

An Admin’s Guide to Multi-Language Salesforce Screen Flows

By Tom Bassett

Salesforce Flows are a powerful automation tool that allows you to automate processes, send notifications, call external systems, and more. Screen Flows are a great way to provide a set of steps with different screens representing different stages, e.g. an onboarding process.

That sounds great, but what if you want these flows to display in multiple languages? This is a common requirement for orgs where users use Salesforce in multiple languages. In this article, we’ll take a deep dive into how to build Screen Flows that are multilingual by default.

Meet Translation Workbench

Translation Workbench is the native tool used for translating the system from one language to another. Using this tool, you can enable different languages, define translators, and start to translate your metadata (e.g. fields) into different languages via import and export functionalities.

Each org has a default language which users will get as standard. Once you’ve defined translations, users can see the system in their local language. If translations are not defined, the system will fall back to the default language.

Translation Workbench set to Screen Component and Description

Components Available for Translation

If you were to explore the Translation Workbench, you’d see different Flow elements that you can translate. Some of these have nuances, so let’s explore each type to learn more.

Definition Name and Version Name

You can translate the Definition Name and Version Name to appear in the user’s language.

Screen Info

Within the Translation Workbench, there are different elements that fall under the Screen Info section. If you include Help Text (1), this will show up here as a sub-item.

If you’ve chosen to override the Paused Message, Next or Finish Button (4), Back Button (3), or Pause Button (2), you’ll find those in different sections to translate. If you’ve not adjusted those labels, then you won’t be able to provide custom translations for those elements.

Screen Flow including Help Text, Custom Pause Label, Previous Label, and Next Label

Screen Component

If you’ve provided Field Labels (1), you’ll find them here, along with their respective Help Text (2). If the Flow you are translating includes Display Text (3), you’ll see that appear as Description. If you have defined any validations in your Flow, the Error Text (4) will be under Error Message.

Display Text, Field Label, Field Help Text, and Validation Error Messages highlighted

Choice

You can provide translations for Field Labels (1) and Input Labels (2) so these reflect in the running user’s language. Against a choice, you can define an Error Message, which you can also target via the Translation Workbench.

Choice Variable that highlights the Label and Input Label

Custom Error Message and Stage

Within Record Triggered Flows, you can define Custom Errors to fire when conditions are met. Curiously, these also appear under Screen Flows as a translatable item, even though the same functionality doesn’t exist in this type of Flow.

Stages are used in Screen Flows to power the native Progress Bar so users know where they are in the process. Select the Stage Dropdown in the Translation Workbench to translate these.

Screen Flow with a path to illustrate the stage of the process

Other Components

Other components are translatable, too, including Data Tables. Data Table column names are overridable directly in the Flow Builder – use Custom Labels to make these multilingual.

Data Table column that uses a Custom Label to provide the Label

Translation Considerations

Like with most things in Salesforce, there are considerations to bear in mind when using Translations with Flows. If you have a field within a rich text component (e.g. display text), a translation will only be able to reference this field if it’s within the first 1,000 characters.

When translating Definition Name or Version Name, you can use up to 255 characters. Other items support up to 1,000 characters.

Salesforce does not support translation of Text Templates, merge field values, or in right-to-left languages. If a translation is not defined, the system will use the default label as a fallback.

If you create a new version or Flow from an existing Flow with translations, Salesforce will copy the translations. If you remove a label, translations aren’t copied, and if a Flow is deleted, so are its translations. If you change a unique name of a label, Salesforce treats this as a new label.

Translation Methods

Translating using the Translation Workbench can be cumbersome when you are trying to translate rich text. While you can export and import translations, where the structure is in HTML, this would be troublesome to target only the text without breaking the formatting.

Flow ComponentAspectExample Export
Definition NameWhat is SFB?
Version NameWhat is Salesforce Ben?
Screen InfoHelp Text<p>Header Help Text</p>
Screen InfoPause ButtonFreeze
Screen InfoBack ButtonBack
Screen InfoNext or Finish ButtonProceed
Screen InfoPaused Message<p>We've put a temporary hold on proceedings</p>
Screen ComponentField LabelArticle Category
Screen ComponentHelp Text<p>Please provide an Article Category</p>
Screen ComponentDescription<p><span style="background-color: rgb(255, 255, 255); color: rgb(68, 68, 68);">Salesforce Ben is the largest independent Salesforce blog, providing news, insights, and educational content for the Salesforce community. Founded in 2014, it covers a wide range of topics, including Salesforce releases, certifications, career advice, and best practices. The platform features expert-authored articles, guides, and analysis to help professionals stay up to date with the latest developments in the ecosystem. It also serves as a hub for aspiring and experienced Salesforce users, offering career tips, learning resources, and industry trends. With a strong community focus, Salesforce Ben is a go-to resource for Salesforce admins, developers, consultants, and architects.</span></p>
Screen ComponentError Message<p>Please provide the Email Address in valid format</p>
ChoiceField LabelAdmins
ChoiceError Message<p>This isn't valid</p>
ChoiceInput LabelAdmins
Custom ErrorExample of a Custom Error Message
StageConfirmation

Custom labels are supported in many Screen Flow components and are my go-to method for building solutions that can later be translated. You can translate these using the Translation Workbench, with the advantage of this approach being that HTML tags are handled directly in the Flow, so they won’t mess up your translations.

In fact, wherever custom labels are supported, I’ll use these, including on Lightning Record Pages Tabs, to provide a one-stop-shop way to translate those values.

Summary

Flows are a powerful tool, and with translations, you provide the ability to display them in the context of the running user’s language when dealing with Screen Flows.

Feel free to share your own experiences and tips about handling translations in Screen Flows to help the community understand what has and hasn’t worked for you.

Other Resources

The Author

Tom Bassett

Tom is a 33x Trailhead certified, 2x Slack certified, and an 11x accredited professional with over six years of experience in the Salesforce ecosystem.

Leave a Reply