How to Dynamically Enable Multilingual Dashboards in CRM Analytics

How to Dynamically Enable Multilingual Dashboards in CRM Analytics-banner-image

In today’s globalized business environment, companies often operate in multiple countries and find the need to understand their customer’s sentiments, preferences, and feedback in different languages.
Multilingual support is essential for real-time analytics because it enables organizations to understand and respond to customer needs and preferences in multiple languages.

Did you know? We can now bring this feature to CRM Analytics dashboards and Experience Cloud, where the dashboards can be embedded too!

The below dashboard is a templated Sales Performance dashboard created in CRM Analytics. Using this as a reference we will be able to enable the multilingual ability for text widgets and derived dimensions and measures.

Sales Performance dashboard created in CRM Analytics

Enabling Multi-Language in dashboards involves a few steps.

Step1. Create a Custom Metadata Type in Salesforce

We create a Custom Metadata Type which acts as a .mdt table with all the custom fields in the dashboard that needs to be translated.
Setup > Custom Metadata Types > New Custom Metadata Type

Creating Custom Metadata Type
Enter details-Creating Custom Metadata Type

In the newly created Custom Metadata Type, we also create Custom picklist Fields.

Custom Metadata Type Details

Finally, click on Manage Custom Metadata Type and create a record and select the respective values for the Custom Fields.
(*Note: If the selection value is Null, then the Picklist Value in the table will be empty)

Editing Sales Performance Details

Step2. Add the Translation from the Translate Workbench

In the Translate Language Settings, we need to activate the Supported Languages required to be used in Translation for the Custom Fields.
Setup > Translate Workbench > Translate Language Settings

Translation Language Settings-Translation Workbench

Once supported languages are activated, then we need to select the filter criteria.
(*Note that the Translation Workbench does not translate the labels, it only stores the translation for labels that we add to it)

Translate can be added in 2 ways:

  1. Add the translation directly from the Translate page for the respective language selected
    Language: Spanish
    Setup Component: Picklist Value
    Object: Sales Performance (Custom Metadata Type Created)For each Master Picklist Value Label add their respective Picklist Value Label translation for the language selected. This updated Picklist Value Label translation will be displayed on the multilingual dashboard.
Adding translation from the Translate page for selected language
  1. Using an XLF file, update the language of Picklist Value Label Translations for the custom fields into the Translation Workbench
    Setup > Translate Workbench > Export > Export type – Select Source > Export as XLIFF
Using an XLF file to update the language of Picklist Value Label Translations

The file will be downloaded in XML format with all the Custom Metadata Fields and Picklists Created.

All Custom Metadata Fields and Picklists Created in XML format

The following changes should be made to add translation to German (Deutsch)

  • Add target-language=”de”
  • Keep only Custom Fields and Picklist Values of Custom Metadata Type which we created and remove all other fields
  • Add a new line below the source name of Custom Metadata Type Picklist Value and Custom Field as <target>german translation</target>

Once the above-mentioned changes are made to the XLF file, we can Import it to the Translate Workbench.

Setup > Translate Workbench > Import > Choose File – Import the file

Importing XLF file from Translate Workbench after making changes

Now, you can see the language directly translated into German, when
Language = German is selected in Translate.

Language is set directly translated into German

Step3. Adding SOQL Query in the dashboard and applying result binding

After creating, enabling, and adding the translation to the Picklist Values and the Custom Metadata Type now it’s time to bring them to the dashboard as a SOQL Query.

The API names of the Custom Picklist Fields created, need to be selected as toLabel() in the SOQL query to show the translated label value depending on the language and locale the user associated within SF.

Now for each of the text fields, derived dimensions, and derived measures, we result bind them, sourcing from the SOQL step query.

For each of the text fields, derived dimensions, and derived measures, we result bind them, sourcing from the SOQL step query

Final Output

Once all the 3 steps are completed the dashboard is now capable of being multilingual dashboards.
We can test it by simply changing the default language settings in the user’s profile.

Setup > Users > Users > Select user > Modify > Language > Espanol

User Setting Locale Language
Dashboard - Language set to Español

Setup > Users > Users > Select user > Modify > Language > Deutsch (German)

User Setting Locale Language to Deutsch-German
Dashboard - Language set to Deutsch


  • Only certain fields such as Picklist Values, Custom Labels, and Custom Object names and fields can be translated. Refer to the document
  • Standard fields such as the Name Field on the Account Object cannot be translated
  • The translations provided by the Translation Workbench are generated using machine translation, which can be less accurate than human translation
  • The Translation Workbench currently only translates the list of Salesforce supported languages.
    Learn more here

Thought Leadership