Локализация с помощью служб отчетов и аналитических служб - PullRequest
1 голос
/ 04 марта 2010

Отказ от ответственности: я очень мало знаю о службах Microsoft Reporting Services и Analysis Services. Так что будь осторожен со мной! ;)

У нас есть веб-сайт ASP.NET MVC, он позволяет пользователю выбирать свой язык, щелкая ссылку вверху каждой страницы. Эта ссылка по сути устанавливает cookie, который указывает на выбор языка пользователя. Код ASP.NET MVC ищет этот файл cookie и отображает страницы по выбору пользователя.

Проблема в том, что отчеты делают то же самое.

Отчеты запрашивают куб на сервере анализа. Куб может обрабатывать свои собственные переводы. (Я считаю, что он использует Культуру в текущем потоке, чтобы определить, какой язык использовать)

Мы используем Microsoft.ReportViewer.WebForms.ReportViewer для отображения отчета на веб-странице.

Как отчет может сказать кубу, какой язык использовать?

Опять же, я очень мало знаю об этих двух сервисах, поэтому, если мы подходим к этому неправильно, если у кого-то есть ссылки на ресурсы, это было бы здорово.

1 Ответ

1 голос
/ 16 октября 2010

Я думаю, вы должны установить соответствующую культуру потоков. От Развертывание отчетов и элементов управления ReportViewer :

Определение языка и культуры браузера Настройки

Если вы используете ReportViewer Web управление сервером для размещения отчетов в приложение браузера, обязательно установите нить культуры, если вы хотите предоставить интерфейс пользователя, который соответствует язык и культура браузера Настройки. ASP.NET не устанавливает культура потоков на основе заголовка информация, предоставленная клиентом. к сопоставьте ваше приложение с культурой настройки браузера, вы можете установить System.Threading.Thread.CurrentCulture а также System.Threading.Thread.CurrentUICulture в коде вашего приложения. Для большего информация о том, как работать с настройки культуры в вашем приложении, см. System.Globalization.CultureInfo.

Если это не поможет, попробуйте изменить строку подключения к серверу служб Analysis Services, добавив свойство LocaleIdentifier . Для просмотра куба с французскими переводами это должно быть:

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

Список свойств строки подключения SSAS, которые вы можете найти в MSDN . То же самое касается LocaleId .

...