是否可以在Play框架中拥有多个消息文件

Sel*_*amy 5 internationalization playframework

我们有一个网站,将用于两个不同的客户.在第一次请求期间,将要求用户选择客户端.根据该文本,应显示标签和网站内容.

是否有可能在Play框架中有两个消息文件,并且在会话启动期间将决定消息文件

根据我的研究,我们可以为每个Locale提供多个文件,消息将根据请求中的区域设置获取.

Sel*_*amy 1

通过以下解决方案解决了这个问题,

  1. 创建了一个MessagesPlugIn扩展类play.i18n.MessagesPlugin
  2. 创建了一个类,Messages就像play.i18n.Messages
  3. messaagesByClientID有一个静态地图Messages.java
  4. onApplicationStart()被覆盖于MessagesPlugIn
  5. messaagesByClientIDlocales加载时加载属性play.i18n.MessagesPlugin
  6. get()有一个方法,从会话中基于 ClientIdMessages.java检索属性。messaagesByClientID如果该房产不可用,请get()致电play.i18n.Messages

7.创建自定义标签il8nTag并在 HTML 模板中使用它。il8nTag将调用 中的方法Messages.get()