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.
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
In the newly created Custom Metadata Type, we also create Custom picklist Fields.
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)
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
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:
- Add the translation directly from the Translate page for the respective language selected
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.
- 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
The file will be downloaded in XML format with all the Custom Metadata Fields and Picklists Created.
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
Now, you can see the language directly translated into German, when
Language = German is selected in Translate.
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.
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
Setup > Users > Users > Select user > Modify > Language > Deutsch (German)
- 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