2011-12-05 2 views
2

faceletsイメージを国際化することは可能ですか?もしそうなら、どうですか? メッセージバンドルのようにバンドルフォルダを作成しますか? facelets-config.xmlファイルでどのように設定しますか(可能であると仮定します)。私は、アイスフェイス、トリニダード、豊かな顔を試すことにもオープンしています。私はこれらのうちのどれが最高のものであるかについては非常に不明ですが。 I NexusとJBoss reposの両方でMavenを使用すると、必要なプラグインが見つかります(願っています)。faceletsイメージの国際化(i18n)。出来ますか?

答えて

4

最も簡単なのは、画像のパスまたはファイル名に特定のロケールを含め、サポートされているロケールごとにその画像が存在することを確認することです。次のようにあなたがそれらを参照することができ、この方法:

<h:graphicImage name="images/#{localeManager.language}/foo.png" /> 

(例えばimages/en/foo.pngimages/sp/foo.png、などを期待)

または

<h:graphicImage name="images/foo_#{localeManager.language}.png" /> 
例えば images/foo_en.pngimages/foo_sp.pngを期待

(など)

または、必ずしもすべてのロケールに別々のイメージがあるわけではないので、別々のイメージを持たないロケールの代替イメージを持つ必要がある場合は、イメージパス/ファイル名を指定するのが最も簡単ですローカライズされたバンドルファイル自体:

例デフォルトのバンドル:

images.foo = foo.png 

とイメージを持っているロケール固有のバンドル:いつものように

<h:graphicImage name="images/#{bundle['images.foo']}" /> 
+0

感謝を次のように

images.foo = sp/foo.png # or foo_sp.png 

とは、それらを参照します。 – thejartender

関連する問題