2011-05-09 28 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

相關問題