views:

52

answers:

1

Disclaimer: I know very little about Microsoft Reporting Services and Analysis Services. So go easy on me! ;)

We have an ASP.NET MVC website, it allows the user to choose their language by clicking a link at the top of every page. This link essentially sets a cookie that indicates the user's language choice. The ASP.NET MVC code looks for this cookie, and displays pages in the users choice.

The problem is getting the reports to do the same.

The reports are querying a cube on the Analysis Server. The cube can handle its own translations. (I believe that it uses the Culture on the current thread to determine which language to use)

We are using the Microsoft.ReportViewer.WebForms.ReportViewer to display the report on the webpage.

How can the report tell the cube what language to use?

Again, I know very little about these two services, so if we are approaching it wrong, if anyone has any links to resources that would be great.

A: 

I think you should set the appropriate thread culture. From Deploying Reports and ReportViewer Controls:

Detecting Browser Language and Culture Settings

If you are using the ReportViewer Web server control to host reports in a browser application, be sure to set the thread culture if you want to provide a user interface that matches the browser language and culture settings. ASP.NET does not set the thread culture based on the header information provided by the client. To match your application to the culture settings of the browser, you can set System.Threading.Thread.CurrentCulture and System.Threading.Thread.CurrentUICulture in your application code. For more information about how to work with culture settings in your application, see System.Globalization.CultureInfo.

It that doesn't help, try to modify connection string to Analysis Services server adding LocaleIdentifier property. For browsing cube with French translations it should be:

Data Source=myServerAddress;Catalog=myDataBase;LocaleIdentifier=1036

List of SSAS connection string properties you can find on MSDN. The same goes for LocaleId.

pascon