Lar*_*ann 6 java gwt internationalization
在GWT中,通常使用如下接口加载i18n字符串:
public interface StatusMessage extends Messages {
String error(String username);
:
}
Run Code Online (Sandbox Code Playgroud)
然后从StatusMessage.property文件加载实际的字符串:
error=User: {0} does not have access to resource
Run Code Online (Sandbox Code Playgroud)
这是一个很好的解决方案,但是我的客户端对于将i18n字符串放在数据库中的要求是不可靠的,因此可以在运行时更改它们(尽管它不是要求它们实时更改).
一种解决方案是创建一个异步服务,它接受消息ID和用户区域设置并返回一个字符串.我已经实现了这个并且发现它非常难看(它引入了大量与服务器的额外通信,加上它使得属性占位符替换相当复杂).
所以我的问题是,我可以通过一些很好的方式实现一个自定义消息提供程序,它可以在一个大的空间(对于当前用户会话)加载来自后端的消息.如果它也可以挂钩到默认的GWT消息机制,那么我会非常高兴(即我可以创建一个类似于上面的接口并继续使用漂亮的{0},{1} ...属性替换格式).
我们也欢迎在GWT中提供干净的数据库驱动消息的其他建议.
| 归档时间: |
|
| 查看次数: |
2077 次 |
| 最近记录: |