2013-03-19 87 views
0

我試圖製作rpt文件,這些文件是ASP.NET應用程序的一部分,目前只有一種語言才能以不同語言顯示,具體取決於用戶的本地語言設置。如何製作Crystal Reports多語言?

我知道這是我們公司通過將來自C#的語言環境信息傳遞給主要報告,根據語言返回不同文本的公式字段替換標籤,將語言環境信息參數鏈接到所有子報表,替換所有標籤中的公式字段也是如此,它確實有效,但我想知道是否有更簡單的解決方案可用?每份報告都包含很多子報表,因此如果這是唯一的方法,那麼需要做大量的手動工作。當然,所有if子句都有很多風險,將原始文本從標籤複製到公式字段等 - 容易複製錯誤然後錯過。

還有很多元素在每個報告中都是一樣的,就像所有頁面頁腳一樣,所以創建公式字段並在每個頁面頁腳中分別替換標籤看起來像是很多工作,而不是可能能夠只做一次並適用於所有報告?

回答

0

數據庫中的表格。列名是語言。主鍵是你工作人員的主要語言。使用您的主要語言撰寫報告,但可以即時從表格中提取翻譯。

維護問題從分散在整個報告庫中的短語和單詞轉換爲大量重複單詞,並將它們全部放在單個表中,而且沒有重複。

由於避免「幾乎重複」,例如「總費用」與「總計費」或「支付」與「支付的費用」之間存在較大的挑戰還存在一些語言具有名詞的問題變形,動詞變形,不同的複數形式等。如果沒有每個實例都是由輸出語言流暢的人完成的,那麼總會有怪異的聲音。事實上,一些母語人士可以將其轉化爲他們永遠不會說出的話。

但有一些技巧可以減少這些問題。例如,您可以創建一個存儲過程來執行printf樣式替換。這允許詞序變化。一種語言可能在句子末尾放置一個變量,而另一種語言放在中間。

兩種類似的方法是GNU gettext utilities或Mac OS進行國際化的方式。