Translations are one of those parts of Salesforce that people really struggle to deploy and with good reason - they're a pain and come from the earliest days of the platform.

How do I include translations in my comparison?

Gearset will compare your translation settings if Custom Object Translations  are selected in your comparison filter. They're included in the default comparison options or you can create your own combination using Custom Metadata Filters.

What do translations look like in the results?

Historically, one of the issues with deploying translations on Salesforce was that you had to deploy all the translated strings for a given language at the same time. This often failed if the language had a translated string for a component that didn't exist in the target of if only some of the translated strings in the org had been reviewed and were ready for deployment.

Gearset solves this problem by making each translated string individually selectable and deployable. This allows you to deploy the translated strings that are ready for a given language and doing partial translations of your org's strings.

When it makes sense, Gearset will still group translated strings together into a common parent. For example, if Gearset detects that all the custom field translations for a given object are New  then they'll be grouped into a single row in the results.

Common gotchas

Inactive languages

If a language is Enabled in an org but not marked Active then the Metadata API doesn't return the translations when Gearset requests them. This can be confusing as Gearset will sometimes display one side of the translated string comparison as blank

Deploying over inactive languages

If a language is Enabled  in an org but not marked Active  then the Metadata API does still allow the deployment to happen. This means you can accidentally overwrite a translated string because Gearset reported the target as blank. This is a limitation of the Metadata API that Gearset is built on.

Deploying languages as part of a managed package

If you languages or translations are part of a managed package, try running the comparison with All  selected for Include managed packages  in Manage custom filters

Seeing something else you don't understand?

Translations are complex! If you're seeing something strange that you don't understand about translations then open up the chat widget and get support direct from one of the team.

Did this answer your question?