使用SSAS的翻译功能实现报表的国际化

日期: 2011-01-19 作者:willsong 来源:TechTarget中国 英文

  一、SSAS翻译功能简介

  翻译是Analysis Services对象的名称在特定语言中的表示形式。对象包括度量值组、度量值、维度、属性、层次结构、KPI、操作和计算成员。

  翻译为可支持多种语言的客户端应用程序提供了服务器支持。通过使用这样的客户端,客户端就可以将区域设置标识符 (LCID) 传递给 Analysis Services 实例,该实例则使用 LCID 来确定在为 Analysis Services 对象提供元数据时要使用哪一组翻译。如果 Analysis Services 对象不包含该语言的翻译或不包含指定对象的翻译,则在将该对象元数据返回给客户端时使用默认语言。例如,如果一个法国的业务用户从使用法语区域设置的工作站访问多维数据集,则存在法语翻译时,此业务用户将看到法语的成员标题和成员属性值。但是,如果一个德国的业务用户从使用德语区域设置的工作站上访问同一个多维数据集,则此业务用户将看到德语的成员标题和成员属性值。

  二、如何定义翻译

  1.如图1所示,我们在打开维度编辑页面,选择”翻译”(Translations)选项卡。右击鼠标,在弹出菜单中选择”新建翻译”。

  

图 1

  2.在选择语言对话框,我们选择要翻译的语言。如图2所示。

  

图 2

  3.在图3中,我们将看到新建的中文翻译栏,通过单击表格,我们可以输入对应属性的中文翻译文本。如果我们想对属性的数据内容也进行翻译,可以点击表格右边的按钮,如图3红框位置,将弹出图4的对话框,在图4红框中选择翻译对应的表项。

  

图 3

  

图 4

  以下是MSDN基于Adventure Works DW建立多维数据集维度翻译的具体教程,可供参考:http://msdn.microsoft.com/en-us/library/ms166708(SQL.100).aspx

  三、如何选择Cube(多维数据集)的翻译版本

  客户端可以通过连接字符串中的”Locale Identifier”字段将区域设置标识符 (LCID)传递给 Analysis Services 实例,实例将根据这个LCID判断使用哪一组翻译。连接字符串例子如图5所示:

  

图 5

  图5中的1036代表的是法语的意思,1033是美国英语,2052代表简体中文。这样实例将返回法语翻译后的数据源。其他语言的代码可以参考:http://msdn.microsoft.com/en-us/goglobal/bb964664.aspx

  1.如何根据浏览器的区域语言,实现报表的国际化

  上面我们提到可以通过Cube的连接字符串进行对翻译版本的选择。那么我们在实现报表的国际化时就可以利用这一点,先判断浏览器的区域语言,再将该语言的LCID修改连接字符串,从而修改数据源的语言版本。

  在报表中,我们可以通过内置的参数User!Language获得浏览器的区域语言。通过Switch进行区域语言与LCID的映射。从而建立了如下的连接字符串表达式:

  =”Data Source=localhost;Initial Catalog=’Adventure Works DW 2008R2′;Locale Identifier=”+Switch(User!Language=”en-US”,”1033″, =”fr-FR”,”1036″)

  通过这个表达式,我们就能根据各个客户端浏览器的需求动态的更改用户显示的报表语言了。通过IE中Tools/Internet Options/Languages,我们将想要查看的语言Move Up到列表的第一行,这样就完成浏览器的区域语言设置,如图6所示。

  

图 6

  图7图8是最终的展示效果。标题显示的是User!Language的值。

  

图 7

  

图 8

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

willsong
willsong

相关推荐