Перевести факты, сгенерированные Drools

Прежде всего: если я полностью ошибаюсь в своем запросе, пожалуйста, закройте это и укажите мне правильное направление.

Я использую Drools (с правилами, созданными Guvnor) в приложении JSF для проверки созданного объекта. В основном рабочий процесс таков:

  1. пользователь создает объект
  2. правила запускаются для проверки этого объекта
  3. правила, для которых проверка не удалась, вставляют в оперативную память новый факт с некоторым сообщением, объясняющим, почему проверка не удалась
  4. факты извлекаются из оперативной памяти и отображаются в приложении JSF

Мой вопрос: как лучше всего перевести эти сообщения? Существуют ли какие-либо «лучшие практики» для таких сценариев?


person Dominik Sandjaja    schedule 09.07.2012    source источник


Ответы (2)


Что ты имеешь в виду? Перевести на разные языки? Вы можете использовать другой файл свойств и разрешить правильный текст на основе этих файлов, верно? как и в каждом приложении, в котором вы хотите использовать интернационализацию (I18N). Ваше здоровье

person salaboy    schedule 09.07.2012
comment
Да, я хочу перевести на разные языки. Если бы я использовал файлы свойств, пользователи (не технические!) должны были бы создавать новое свойство для каждого отдельного сообщения, которое они вводят, копировать имя этого свойства в guvnor и добавлять фактическое сообщение в файл свойств - я не думаю, что я мог бы сделать это. Поэтому я ищу другое решение или, по крайней мере, другую идею. - person Dominik Sandjaja; 09.07.2012

Вы можете иметь объект «сообщение пользователя» с идентификаторами сообщений и вставить его как факт. В правиле задайте соответствующий идентификатор сообщения. На уровне представления сопоставьте идентификатор со строкой сообщения в таблице строк для конкретной локали.

person gammay    schedule 06.09.2012
comment
Звучит как вариант, хотя мне придется проверить, смогу ли я научить пользователей использовать идентификаторы сообщений вместо текстовых сообщений. Мои текущие мысли связаны с переводом на стороне презентации, с использованием таблицы перевода на основе базы данных и некоторого кэширования для достойной производительности. Но проект в настоящее время приостановлен, если я продолжу, я поделюсь своим опытом. - person Dominik Sandjaja; 10.09.2012