面部图像的国际化(i18n)。可能吗?

时间:2011-12-05 07:27:05

标签: image jsf-2 internationalization facelets

是否可以将facelets图像国际化?如果是这样,怎么样? 我是否为消息包创建了一个包文件夹? 如何在facelets-config.xml文件中配置它(假设它是可能的)。我也愿意尝试冰面,特立尼达,丰富的面孔,只要他们中的任何一个都可以使用这个功能。虽然我不确定哪一个最好用。一世 我正在使用Maven同时使用Nexus和JBoss repos,找到任何需要的插件(我希望)。

1 个答案:

答案 0 :(得分: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等)

或者,如果您不一定为每个区域设置都有单独的图像,因此需要能够为没有单独图像的区域设置提供后备图像,那么最简单的方法是指定图像路径本地化捆绑文件本身中的/ filename:

E.g。默认包:

images.foo = foo.png

以及具有图像的特定于语言环境的包:

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

并按如下方式引用它们

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