Специфичный для домена язык и переводы в Ruby
Думая о хорошей архитектуре для создания собственного языка, специфичного для доменов, в ruby, я немного постарался из-за части перевода. Скажем, у нас есть проблема с событием:
event "We made a profit" do
income > expenditure
end
event "We have some deficite" do
income < expenditure
end
Мне нравится использовать описания событий "Мы получили прибыль" и "У нас есть некоторый дефицит" в качестве вывода для Пользователя. Проблема в том, что описание только на английском языке. Он должен появиться на разных языках. Я мог бы использовать камень i18n, но это не решение для меня.
event "event.deficite" do
income < expenditure
end
или похож:
event i18n.t('event.deficite') do
income < expenditure
end
Это не очень хорошее решение, потому что оно не так читабельно. Полное описание события теряется при переводе и, по моему мнению, уничтожает задачу "Язык, специфичный для предметной области". Какое хорошее решение для решения этой проблемы?