Multilingual SSRS reports
When thinking about supporting multiple languages for SSRS reports, most people think about changing the display language of one or more of the following items:
- Labels (text boxes, axis labels, table headers, etc.)
- Dataset results
- Parameter prompts
When considering presenting SSRS reports in multiple languages, one also needs to consider where to store translations. Translations can either be:
- stored in a data source (database, cube) or resource file, either accessed directly from the report or through a service call
- retrieved from an external translation service, such as Bing Translate
In most solutions retrieving a predefined translation would be preferable to doing an automatic translation using an external translation service, since the quality of the results can be questionable. A scenario I come across often is that the external translation service is only used when a predefined translation is not available. The scenarios discussed in this series of posts do not pose any requirement on how the translation is retrieved. Reporting Services can pass the user’s language setting along. That can then be used to get the right translation.
Additionally, some of the items considered when thinking about a multilingual SSRS solution are:
- Can the report be developed once and presented in multiple languages? All of the scenarios discussed in this series provide this capability.
- Impact on report creation process. Does the solution chosen require manual activities when designing the report?
- Performance
- Implementation complexity
In this series of blog posts we talk about options for implementing multilingual SSRS reports. Below is a quick scoring of each option on the above capabilities and requirements. Of course the importance of requirements and the correct choice depends on the situation.
Each scenario will be discussed in a post in this series.
Requirement / Scenario | Assembly | Change RDL | Report Definition Customization | Custom ReportViewer |
Translate labels (textboxes, axis labels, table headers, etc.) | Yes | Yes | Yes | Yes |
Translate dataset results | No | Yes | Yes | Yes |
Translate parameter prompts | No | Yes | No | Yes |
Impact on report creation | High | Low | Low | Low |
Impact on report rendering performance | Low | Low | Medium | Medium |
Implementation complexity | Low | Medium | High | Very |
Did I miss a requirement or solution? Please let me know!
Next time: Scenario 1: Assembly.
Do you want to jump to a specific scenario? Here you go:
Scenario 1: Assembly
Scenario 2: Change RDL
Scenario 3: Report Definition Customization
Scenario 4: Custom ReportViewer
Share this:
- Click to share on LinkedIn (Opens in new window)
- Click to share on Facebook (Opens in new window)
- Click to share on Twitter (Opens in new window)
- Click to share on Skype (Opens in new window)
- Click to share on WhatsApp (Opens in new window)
- Click to share on Pocket (Opens in new window)
- Click to share on Tumblr (Opens in new window)
- Click to share on Pinterest (Opens in new window)
- Click to share on Telegram (Opens in new window)
- Click to share on Reddit (Opens in new window)
- Click to print (Opens in new window)
- Click to email this to a friend (Opens in new window)
Related
You May Also Like

Never forget to water the plants again: building a DIY automatic plant watering / irrigation system for <$5
November 12, 2020
Updated: Annual radio countdown Top 2000 in Power BI
December 21, 2017