【发布时间】:2010-04-04 20:38:33
【问题描述】:
在 GWT 中,通常使用如下接口加载 i18n 字符串:
public interface StatusMessage extends Messages {
String error(String username);
:
}
然后从 StatusMessage.property 文件加载实际字符串:
error=User: {0} does not have access to resource
这是一个很好的解决方案,但是我的客户要求将 i18n 字符串放入数据库中以便在运行时更改它们(尽管并不要求实时更改它们)。
一种解决方案是创建一个异步服务,该服务接受 消息 ID 和 用户区域设置 并返回一个字符串。我已经实现了这个并且发现它非常难看(它引入了与服务器的大量额外通信,而且它使属性占位符替换相当复杂)。
所以我的问题是,我能否以某种不错的方式 实现一个自定义消息提供程序,从后端一次性加载消息(针对当前用户会话)。如果它还可以挂钩到默认的 GWT 消息机制,那么我会非常高兴(即,我可以创建一个像上面这样的界面并继续使用漂亮的 {0}、{1}... 属性替换格式)。
也欢迎其他关于 GWT 中干净的数据库驱动消息的建议。
【问题讨论】:
标签: java gwt internationalization