我正在寻找一个棘手问题的解决方案。 我想使用GWT静态字符串国际化,因此使用Constants,ConstantsWithLookup和Messages,但字符串必须在运行时来自服务器,而不是编译时。
是否已经有一个项目可以做这样的事情,或者我应该编写自己的GWT生成器吗?
感谢大家帮助我。
UPDATE :字典不是一个选项,因为应用程序几乎已完成,我无法为此更改所有应用程序。
UPDATE 2 :事实上,如果它被类似类似Costa或类似消息的界面包装,则Dictionary是一个选项。
答案 0 :(得分:1)
你要求的不是静态的i18n。 GWT的i18n几乎全部是静态的一些原因:
如果你真的想要动态i18n,那就像其他答案一样建议并使用词典(但请注意,如果你的应用程序的消息有任何复杂性,你将无法正确本地化你的应用程序)。如果你需要的不仅仅是那个,那么咬紧牙关并使用静态i18n。
答案 1 :(得分:0)
有两种选择:良好和不太好。
不可:强> 标准方式static string i18n是所有语言排列都经过优化和内联的地方(即将日语公司名称放入按钮/列/标题的HTML模板中)。
因为完整的i18n套件可以支持多元化和消息构建器,@ nnoations和自动i18n,所以最好。它也是性能的最快选项。
不太好: 通常因为您需要使用遗留系统,所以Good不够好。在这里,而不是所有的火箭小部件,你只需要在框中获取文本。然后使用dynamic string i18n并将字符串放入页面中,类似于旧学校的Dictionary对象。