I’m currently working on a project involving dashboard development within a client portal that uses console embedding.
In our client portal, users have the option to set their preferred language, and this setting is already reflected in the static parts of the console. However, I am struggling to find a way to dynamically translate the labels (titles, filter names, legends etc.) within the embedded dashboards. The approach suggested in Build a multilingual dashboard with Amazon Athena and Amazon QuickSight | AWS Big Data Blog involves using language parameters for dashboard embedding. However, since we are using console embedding, this approach doesn’t seem to fit our scenario.
I have two key questions:
Does Amazon QuickSight support label translation within embedded dashboards, and if so, how does it work?
Is there a way to retrieve the user’s current locale so we can apply their language preference to the dashboard labels?
If you have experience or insights on this topic, your input would be invaluable.
Translating labels is currently not natively supported within QuickSight. As you pointed out, parameters can be leveraged to achieve the same when the dashboard experience gets embedded into an application. You are also right that this approach does not fit scenarios in which the console experience gets embedded. You could leverage the dashboard embedding approach for all dashboards that you would like to localize and (if your use case requires) additionally embed the console for self-service authoring capabilities without localization support.
Regarding your second question, I would recommend to have a look at the navigator.language property.
At AWS, our roadmap is primarily driven by our customers. Your feedback helps us build a better service. I have tagged this as a feature request.
Are you trying to get the locale that has been chosen within QuickSight, or the locale from the client’s browser? What I was referring to was the latter. The navigator.language is not related to QuickSight, but a way how you can retrieve locale/language information via JavaScript on the frontend side.