If you are preparing to work with translations in Salesforce Experience Cloud, it’s important to start off with a clear understanding of the considerations and limitations involved. In this article, I’ll provide a guide on how to start your work.
I want to let project managers, sales engineers, and folks in delivery who do the estimation work know that this is a heavy lift and that it needs to be properly estimated and properly worded in the statement of work so that it doesn’t burn a deep hole in the pocket doing this work. It may seem like there are only two major steps like exporting the translation and importing it back in but there is way more to it than that. Especially, if your implementation is for Experience Cloud, the most important thing to note is that it’s not all click-happy. That is your typical export and then import.
Considerations & Limitations
For the moment, without considering the manual Experience Cloud translations, here are some of the important limitations and caveats that I’ve come across that I want to share:
— Salesforce gives the ability to export in STF format and XLIFF format. There is a known issue with the XLIFF format and your export job fails each time. Your option is to export only in STF format https://trailblazer.salesforce.com/issues_view?id=a1p3A000000mCg3QAE&title=translation-workbench-export-as-xliff-fails
— List views labels are not translatable. Upvote this idea! There are some hacks mentioned to translate a single list view but if you have multiple, you cannot use this hack.
— Flow components appear in the STF file export but will fail if you try to import them. Exclude any flow components in the STF file and then import your file. To translate flow components, like rich text, buttons, etc., go to Translate in settings, select the language, select your Set up Component as Flow, flow type, and select the Flow Component you wish to translate.
— All or nothing import: Even a single line of error in the import file rejects the whole file. The idea is that your import file must be spotless to import it back into Salesforce.
— Developers need as much heads up as possible to use custom labels for each and every place where they’d normally hardcode text like field labels or placeholder text on top of a form that they’d use in their lightning web or aura components.
— To deploy your translations, make sure to include the Language Translations metadata component in your changeset along with other metadata components that contain translations like custom labels, validation rules, custom fields, etc. Otherwise, you will have to import your files all over again in every org.