有没有办法在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>
以及通过更改相应 LocalizableResource_xxxx.Properties 文件中的 SRC 值。
但是,这种技术似乎不适用于 <g:Image resource="{resources.MyImageResource}"/>
元素。
应该像所有其他源类型一样简单 (https://developers.google.com/web-toolkit/doc/latest/DevGuideClientBundle#I18N)。简而言之,如果您将这样的东西用于文本标签:
- 消息.属性
- Messages_fr.属性
- Messages_de.属性
,然后对图像尝试相同的技术:
- 徽标.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}'/>
然后上课
/**
* Resources used by the entire application.
*/
public interface Resources extends ClientBundle {
@Source("Logo.jpg")
ImageResource logo();
...