我正在寻找一个棘手问题的解决方案。我想使用 GWT 静态字符串国际化,因此使用常量、ConstantsWithLookup 和消息,但字符串必须在运行时来自服务器,而不是编译时。
是否已经有一个项目可以做这样的事情,或者我应该编写自己的 GWT 生成器?
感谢所有会帮助我的人。
更新:字典不是一个选项,因为应用程序几乎完成了,我无法为此更改所有应用程序。
更新 2:事实上,如果 Dictionary 由类似 Costants 或类似消息的界面包装,则它是一个选项。
我正在寻找一个棘手问题的解决方案。我想使用 GWT 静态字符串国际化,因此使用常量、ConstantsWithLookup 和消息,但字符串必须在运行时来自服务器,而不是编译时。
是否已经有一个项目可以做这样的事情,或者我应该编写自己的 GWT 生成器?
感谢所有会帮助我的人。
更新:字典不是一个选项,因为应用程序几乎完成了,我无法为此更改所有应用程序。
更新 2:事实上,如果 Dictionary 由类似 Costants 或类似消息的界面包装,则它是一个选项。
您要求的根本不是静态 i18n。GWT 的 i18n 几乎都是静态的的一些原因:
如果您真的想要动态 i18n,那么按照其他答案的建议进行操作并使用 Dictionary(但是请注意,如果您的应用程序的消息有任何复杂性,您将无法正确本地化您的应用程序)。如果您需要的不仅仅是它所能提供的,那么就硬着头皮使用静态 i18n。
有两种选择:好和不太好。
好: 标准方式,静态字符串 i18n是所有语言排列都在使用它们的地方进行了优化和内联(即将日本公司名称放入按钮/列/标题的 HTML 模板中)。
因为完整的 i18n 套件可以在支持多元化和消息构建器、@nnoations 和自动 i18n 的情况下进行详细说明,所以它是可取的。它也是性能最快的选择。
不太好: 通常是因为您需要使用遗留系统,所以“好”还不够好。在这里,而不是所有的火箭小部件,您只需要在框中获取文本。然后使用动态字符串 i18n并将字符串放入您的页面中,并使用类似于老式 Dictionary 对象的内容。