只需幾行代碼!教你輕鬆漢化Stimulsoft報表和儀表板工具

在設計報表時,可能會出現以下情況:查看呈現報表的用戶使用不同的語言文化。在這種情況下,他們可以製作所需數量的報表副本,每個副本都以特定的語言進行本地化。但是,在編輯一個報表模板時,您將必須對其所有副本進行更改。因此,報表模板中的每次更改都會增加準備報表所花費的時間,並顯着增加該報表副本中出現錯誤的可能性。

stimulsoft報表工具提供了根據所選報表區域性對報表進行本地化的功能。爲此使用了全球化字符串(Globalization Strings)工具。您可以定義一個語言文化列表,以翻譯報表的元素。您可以爲其配置本地化的項目包括:

-報表屬性:報表別名、報表作者、報表說明;

-文本組件、單元格中的文本、富文本;

-表和交叉表組件的每個單元格;

-報表中的變量;

-圖表組件的文本字段(標籤、圖例、行、圖表,也可以覆蓋這些圖表項目之前和之後的文本屬性的值)。

您應該知道,對於每個文本組件以及“表”和“交叉表”中的每個單元格,您都可以覆蓋此組件的多個屬性。例如,如果報表使用文本組件Text1,則:

-在Text1.Hyperlink屬性中,選擇特定區域性時可以指定超鏈接(或表達式)。例如,您可以在網站的本地化頁面上指定超鏈接(或表達式)。

-在Text1.Tag屬性中,當您選擇特定區域性時,可以爲此文本組件指定標籤(或表達式)。報表中的標籤用於引用特定的報表組件。

-在Text1.Text屬性中,您可以指定當呈現報表時將處理的文本組件的文本(或表達式),並在選擇特定區域性時將其顯示給用戶;

-在Text1.Tooltip屬性中,當您選擇特定區域性時,可以指定此文本組件的工具提示(或表達式)。

如果未填充屬性,則選擇特定區域性時,結果將爲空。例如,如果您沒有在Text1.Text屬性中爲特定區域性指定任何內容,那麼當您選擇此區域性時,將打印不包含任何內容的文本組件。

注意

報表語言文化不取決於報表設計器的本地GUI。報表的語言文化取決於文化財產的價值。此屬性的值列表取決於操作系統支持的區域性列表。默認情況下,報表使用操作系統的當前區域性。

要調用全球化編輯器(Globalization Editor),您應該轉到報表屬性,然後在報表模板區域中單擊。

只需幾行代碼!教你輕鬆漢化Stimulsoft報表和儀表板工具

然後在屬性面板上,單擊“Globalization”全球化屬性上的“Browse”瀏覽按鈕。下面是全球化編輯器(Globalization Editor)的視圖。

只需幾行代碼!教你輕鬆漢化Stimulsoft報表和儀表板工具

 

1.單擊此按鈕添加新的區域性。添加的語言文化將顯示在文化列表中。

2.在列表中選擇區域性,然後單擊此按鈕以從列表中刪除區域性。

3.用於控制區域性的按鈕。

-從報表中獲取區域性設置,在這種情況下,對於所選區域性的項目,將指定報表中使用的值。

-將區域性設置傳輸到報表,在這種情況下,將爲報表項指定所選區域性的值。

4.如果啓用了“Auto Localize Report on Run”運行時自動本地化報表選項,則在呈現報表時,報表引擎將檢查報表區域性以及它們是否顯示在列表中。如果找到相同的區域性,則將替換報表項目的表達式。

5.區域性列表,設置將要進行的報表項目的本地化(即替換特定區域性中指定的表達式)。

6.報表項目列表,可以配置本地化。

7.選擇特定區域性時將分配給所選報表項目的項目表達式。

語言文化列表的設置完成,報表項目的本地化也就完成了(即替換特定文化中指定的表達式)。

報表項目列表,可以配置本地化。

選擇特定區域性時將分配給所選報表項目的項目表達式。

爲了自動本地化報表,您應該在指定區域性列表及其設置之後指定報表區域性。 爲此,請在報表的文化(Culture)屬性中選擇所需的值。然後,在呈現報表時,報表引擎將檢查報表區域性及其在區域性列表中的存在。如果發現相同的區域性,則將替換報表項目的表達式。

您還可以通過代碼設置報表區域性。爲此,應在呈現報表之前調用特殊方法,並將區域性指定爲參數。

信息

指示爲方法論點的區域性應在區域性列表中。否則,將不執行報表的本地化,並且將與默認元素的本地化一起顯示。

 

要在Reports.Net,Reports.Wpf,Reports.Web,Reports.Java,Reports.UWP,Reports.Silverlight中本地化報表,請執行以下操作:

StiReport report = new StiReport();
string cultureName = "en-US";
...
report.LocalizeReport(cultureName);
report.Render(false);

//report.LocalizeReport(cultureName);
//report.Show();

要在Reports.JS,Reports.PHP(JS)中全球化報表:

var report = new Stimulsoft.Report.StiReport();
var cultureName = "en-US";
report.localizeReport(cultureName);
report.render();

要在Reports.Flex中全球化報表:

var report: StiReport = new StiReport();
var cultureName: String = "en";
...
report.localizeReport(cultureName);
report.render(false);
...
//report.localizeReport(cultureName);
//report.show();

要在Reports.PHP(Flash)中本地化報表,您需要在查看報表時爲GET或POST請求設置全球化值:

http://localhost/stimulsoft/index.php?
	stimulsoft_client_key=ViewerFx&stimulsoft_report_key=Report.mrt&globalization=en-US

要在Report.Java(Flash)中本地化報表,應在查看報表時設置本地化參數:

<stiviewerfx:button value="Show Report" report="Report.mrt" variableStr="globalization=en-US" />

全球化(globalization)參數指定將在報表中使用哪種區域性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章