2010-12-14 10 views

答えて

0

ドキュメントジェネレータはアプリケーションの一部である可能性があるため、あらかじめ選択されている言語セレクタメニュー項目、チェックボックスまたはコンボボックスが必要です。

したがって、ロケールを読み込むifステートメント、またはレポート生成前に必要な言語を追加し、それに応じてロケールに応じて適切なレポートをロードしないでください。

このように、すべての言語に1つのjrxmlファイルを保存する必要があります。ヘッダーとラベルを手動で翻訳するのはかなり簡単です。

あなたのデータはデータベース内ですでに翻訳されている必要があります。ここでは関連する属性値を多言語にしておく必要があります。

適切な言語のSQLクエリを変更する必要がありますが、クエリはjrxmlの一部であるため自動的に実行されます。

4

ここにJasperReportsの国際化対応を実装する方法のthe sampleです。

主な考え方は、テキストと画像のローカライズに特別な表現$R{}を使用することです。

画像用サンプル:テキストの

<image scaleImage="Clip"> 
    <reportElement positionType="Float" x="20" y="20" width="100" height="50"/> 
    <imageExpression class="java.lang.String"><![CDATA[$R{image.flag}]]></imageExpression> 
</image> 

サンプル($ R {}構文):

<textField isBlankWhenNull="true"> 
<reportElement x="20" y="100" width="530" height="20"/> 
<textElement/> 
<textFieldExpression class="java.lang.String"><![CDATA[$R{sampleString}]]></textFieldExpression> 
</textField> 

又は(MSG()法):

text.message=The program picked up {0} as a random number. 
<textField isStretchWithOverflow="true" isBlankWhenNull="true"> 
<reportElement x="20" y="210" width="530" height="20"/> 
<textElement/> 
<textFieldExpression class="java.lang.String"><![CDATA[msg($R{text.message}, $P{number})]]></textFieldExpression> 
</textField> 
関連する問題