Jsf 翻译口水生成的事实

Jsf 翻译口水生成的事实,jsf,translation,drools,drools-guvnor,Jsf,Translation,Drools,Drools Guvnor,首先:如果我的请求完全错了,请关闭这个并为我指出正确的方向 我在JSF应用程序中使用Drools(使用Guvnor创建的规则)来验证创建的对象。基本上,工作流程是: 用户创建一个对象 触发规则以检查此对象 检查失败的规则在工作内存中插入一个新的事实和一些消息,解释验证失败的原因 事实从工作内存中提取并显示在JSF应用程序中 我的问题是:翻译这些信息的最佳方式是什么?对于这种情况有什么“最佳实践”吗?你是什么意思?翻译成不同的语言?您可以使用不同的属性文件并基于这些文件解析正确的文本,对吗?正如您

首先:如果我的请求完全错了,请关闭这个并为我指出正确的方向

我在JSF应用程序中使用Drools(使用Guvnor创建的规则)来验证创建的对象。基本上,工作流程是:

  • 用户创建一个对象
  • 触发规则以检查此对象
  • 检查失败的规则在工作内存中插入一个新的事实和一些消息,解释验证失败的原因
  • 事实从工作内存中提取并显示在JSF应用程序中

  • 我的问题是:翻译这些信息的最佳方式是什么?对于这种情况有什么“最佳实践”吗?

    你是什么意思?翻译成不同的语言?您可以使用不同的属性文件并基于这些文件解析正确的文本,对吗?正如您希望使用国际化(I18N)的每个应用程序一样。
    干杯

    您可以拥有一个带有消息ID的“用户消息”对象,并将其作为事实插入。在规则中,设置适当的消息id。在表示层,将id映射到特定于语言环境的字符串表中的消息字符串。

    是,我想翻译成不同的语言。如果我使用属性文件,那么(非技术!)用户必须为他们键入的每一条消息创建一个新属性,将该属性名称复制到guvnor中,并将实际消息添加到属性文件中——我认为我无法做到这一点。因此,我正在寻找一个不同的解决方案或至少是一个不同的想法。听起来像是一个选择,尽管我必须检查一下是否可以培训用户使用MessageID而不是“明文”消息。我目前的想法是在表示端进行翻译,使用基于数据库的翻译表和一些缓存来获得良好的性能。但该项目目前处于搁置状态,如果我继续这样做,我将分享我的经验。