2011-05-09 59 views
2

本地化我们的SSRS报告时,我们遇到了记录完备的问题。轻松本地化替代SQL Server Reporting Services?

任何人都可以推荐一个替代品吗?尽管我们的许多报告都是简单的网格或图形,并带有一些页眉/页脚文本,但可以设定与SSRS功能相当(或几乎如此)。我们需要一种方法,通过它我们可以轻松识别可本地化的字符串,将它们存储在数据库中,翻译它们,然后在部署时生成本地化的“报告定义”。西班牙文见西班牙文报道,意大利文见意大利报道等。

谢谢大家。

回答

0

尝试把一些参数上的SSR和这样的创造过程:

--TEST 
--DECLARE @language int 
--SET @language = 2 --1 Italian --2 Spain 

--passing language parameter from ssrs report 
IF (@language = 1) 
    SELECT englishNameField1 as italianFieldName1, englishNameField2 as italianFieldName2, englishNameField3 as italianFieldName3 
    FROM tableName 
ELSE 
    SELECT englishNameField1 as spanishNameField1, englishNameField2 as spanishNameField2, englishNameField3 as spanishNameField3 
    FROM tableName 
WHERE parameterFromSSRS = @language 

在报告中把参数@language与用户名的一些表达(内置字段),以获得语言(本地化)

+0

我想你正在描述如何从数据库中提取本地化的数据。这不是问题。我的意思是报告版面中使用的独立文本。我没有链接到的图像,但是...想象一下列出某人的销售情况的报告。在顶部,标签可能会说“名称:”,并且在运行时,该人员的姓名将从数据库中动态插入。但是,我如何本地化“名称:”这个短语?或者在报告的底部,如果它在页脚中显示“第1页,共5页”,我该如何本地化“页面”和“的”?或者对于我原来的问题,是否有其他方法比SSRS更容易? – TomK 2011-05-11 12:25:03

+0

我真的想帮助 对我来说页数是正确的,这里是一个例子 把表达式放在文本框的页脚上: =“Страна”&Globals!PageNumber&“од”&Globals!TotalPages english:=“页面“&Globals!PageNumber&”of“&Globals!TotalPages – tihoroot 2011-05-12 09:43:18

+0

现在我稍微研究一个可能的解决方案是:将隐藏的参数设置为报告并给出默认值:[&Language],然后在此之后,进行本地化两个不同的表格和显示允许具有“隐藏”表达式的Tablix可见性:= IIF(Parameters!ReportParameter1.Value =“en-Latn-BA”,true,false),第二个Tablix可见性时间= IIF(Parameters!ReportParameter1 .Value =“en-Latn-BA”,false,true) – tihoroot 2011-05-12 10:39:09

1

有一本名为“Microsoft SQL Server Reporting Services Recipes”的书,有几页专门介绍如何本地化SSRS报告。唯一的限制是参数提示文本仍然只能显示一种语言(因为它不允许表达式);如果你通过客户端访问报表,那么它不会是一个问题。

它涉及在VS中创建一个自定义程序集,该程序集具有执行翻译的主要功能(使用本地化资源文件,方式与您为应用程序执行的方式大致相同)。

然后在自定义代码中覆盖报表的OnInit以使用报表名称初始化自定义程序集资源管理器(因此它知道查找哪组字符串,我想),然后使用“Name:”文本在你的报告中,你可以使用= Code.my_localizer.GetLocalText(“Name”)

+0

谢谢,我会研究一下。 – TomK 2011-06-13 17:52:15

+0

您可以详细说明如何本地化ASP.NET ReportViewer所使用的.rdl上的参数文本。 reportViewer需要本地化。 – Pingpong 2011-06-22 17:06:28

相关问题