我想在我的GWT应用中使用动态国际化,采用Dictionary
类方法。
我可以像这样使用uiBinder吗?
<g:HTMLPanel>
<span>{Dictionary.getDictionary("locale").get("hello_world_key")}</span>
</g:HTMLPanel>
(Flex mxml文件就像这样工作。)
答案 0 :(得分:1)
不,UiBinder仅支持调用零arg非静态方法或导入静态字段。
您必须隐藏类或界面背后的字典才能执行{myDictionary.hello_world_key}
之类的操作。
IMO,如果您确实想要使用动态I18N,请使用类似于com.google.gwt.i18N.shared.Constants
的界面并制作您自己的生成器,以便String hello_world_key();
映射到get("hello_world_key")
上的Dictionary
实例。您的代码将更好地阅读并变得更易于维护。