GWT i18n和图像

spg*_*spg 3 gwt image internationalization

有没有办法在GWT中轻松国际化图像(使用g:Image和ImageResource)?从我所看到的,可以使用以下方法国际化img元素的src属性:

<img src="http://www.images.com/englishVersionOfImage.png" alt="">
<ui:attribute name="src" description="Image to be internationalized"/>
</img>
Run Code Online (Sandbox Code Playgroud)

并通过更改相应的LocalizableResource_xxxx.properties文件中的src值.

但是,这种技术似乎不适用于 <g:Image resource="{resources.MyImageResource}"/>元素.

小智 5

应该与所有其他源类型一样简单(https://developers.google.com/web-toolkit/doc/latest/DevGuideClientBundle#I18N).简单来说,如果你对文本标签使用这样的东西:

  • Messages.properties
  • Messages_fr.properties
  • Messages_de.properties

,然后尝试与图像相同的技术:

  • logo.jpg
  • logo_fr.jpg
  • logo_de.jpg

应根据当前区域设置选择正确的文件.

因此,考虑https://developers.google.com/web-toolkit/doc/latest/DevGuideUiBinder#Using_an_external_resource中的示例, 使用:

<g:Image resource='{res.logo}'/>
Run Code Online (Sandbox Code Playgroud)

然后上课

/**
  * Resources used by the entire application.
*/
public interface Resources extends ClientBundle {

  @Source("Logo.jpg")
  ImageResource logo();
...
Run Code Online (Sandbox Code Playgroud)