私はJasperを使用してPDFレポートを生成しています。 jrxmlファイルでは、単一のプロパティファイルをリソースバンドルとして読み込むことができますが、ここではBiLingual(2言語のラベル、英語は英語、その他はローカル言語)レポートとしてレポートを生成するために2つのプロパティファイルを読み込む必要があります。 JasperReportで複数のプロパティファイルを使用することが可能です。あるいはこれを行うために他の方法がありますか?単一のjrxmlレポートに複数のリソースバンドルを使用することはできますか?
答えて
単一のリソースバンドルを持つ主な理由は、1つの言語のすべてのテキストをカプセル化することです。レポートを実行すると、レポートのロケール(国と言語)が表示されます。これにより、レポートは特定の言語のリソースバンドルを選択します。レポートテンプレートはその値ではなくバンドルキーを参照するため、生成されたレポートは特定の言語で出力されます。
レポートがバイリンガル(単一言語を生成するためにロケールオブジェクトをレポートに渡すことは珍しいため、使用可能なページの不動産を増加させるための珍しい要件です)の場合は、通常通りリソースバンドルを作成します両方の言語を含むようにラベルを更新します。
header.label.greeting = Hello/Bonjour
footer.label.page = Page/Page
body.label.name = Name/Nom
英語のラベルが常に最初の場合は、デフォルトで英語のロケールを使用し、それに応じてリソースバンドルファイルに名前を付けるだけです。
header.label.greeting = Hello
footer.label.page = Page
body.label.name = Name
header.label.greeting = Bonjour
footer.label.page = Page
body.label.name = Nom
あなたの場合:それは、このような独立した英語やフランス語のラベルなどのバイリンガルよりも多くのリソースバンドルのための可能性を開くため
これは、要件が将来的に変更する必要があり、柔軟です特に熱心だったので、2つのリソースバンドルを異なる言語からマージするコードを少し書くことができます。つまり、すぐ上に示した2つのキーセットがある場合、スラッシュを使用して各ラベルを結合する単一のリソースバンドルを作成できます。
このアプローチを使用するには、マージコードでバイリンガルラベルと非バイリンガルラベルを区別できるようにする必要があります。
ありがとうDave。私はデフォルトのリソースバンドルとして英語を設定し、ローカルリソースバンドルをパラメータとしてjrxmlファイルに渡すことで問題を解決しました。
可能であれば、 '$ R {...}'や '$ P {...} 'ではなく、' $ R {...}'を排他的に使ってラベルを取り出す方法を混同しないでください。すべてのレポートラベルは、同じリソースバンドルから提供される必要があります。 –
- 1. 単一のBluemixブロックチェーンサービスを使用して複数のチェーンコードを使用することはできますか?
- 2. 同じjrxml形式の複数のレポートを1つのファイルにまとめる
- 3. 複数のスプリットを持つvimで単一のステータスラインを使用することはできますか?
- 4. Cocos2dでは、単一のオブジェクトに複数のタグを使用できますか?
- 5. 単一インスタンシエーションでRustマクロで引数を複数回使用することはできますか?
- 6. 単一のアドホックコマンドを使用して複数のモジュールを実行することはできますか?
- 7. SSRS複数レポート単一ソリューション
- 8. Mongodbの単一のコレクションに複数のスキーマを使用することはできません
- 9. 単一のRDLCレポートビューアで複数のレポート(レポートは同じですが、データと計算は異なります)
- 10. xdocreportでodtを使用して単一のpdfで複数のレポートを生成
- 11. 複数ページのiReportを使用したJRXMLの複数ページ
- 12. 複数のテンプレートとバインディングを単一のビューで使用する
- 13. 単一のControllerクラスと複数のエンティティクラスをJava FXで使用して複数のテーブルビューを追加することはできますか?
- 14. JasperReportsのjrxmlファイルでqueryStringタグにパラメータを使用することはできますか?
- 15. 既存のjrxmlを使用してJasperServerでレポートを作成する方法は?
- 16. マゼンタ - 単一のモデルに複数のテーブルを使用することは可能ですか?
- 17. 複数の引数に単一の構文を使用する
- 18. パンダのgroupby()を使用すると、一度に複数の機能を得ることができますか?
- 19. birtの複数のレポートに共通のマスターページを使用できますか?
- 20. birtの複数のレポートに共通のマスターページを使用できますか?
- 21. ラベルに複数のホットエンコーディングを使用することはできますか?
- 22. 複数のCrystal Reportsを単一のビューアに追加することはできますか?
- 23. 複数のドメインを単一のGoogle App Engineアプリケーションにマップすることはできますか?
- 24. djangoで複数のhtmlを単一のhtmlテンプレートで拡張することはできますか?
- 25. XMLスキーマは、単一の複合型で複数の選択肢を持つことができますか?
- 26. liferay内の複数のページに単一のポートレット・インスタンスを含めることはできますか?
- 27. 複数のテーブルのIDを単一の列で使用する
- 28. libgdxの複数のアクターで単一のイベントを使用する
- 29. Sails.jsで複数のテンプレートエンジンを使用することはできますか?
- 30. 複数のキーをlrangeで使用することはできますか?
いいえ1つのファイルを使用する必要があります。 –