考虑在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
这不是一个非常好的解决方案,因为它不具有可读性。整个事件描述通过翻译而丢失,并在我的意见中破坏了“领域特定语言”的任务。什么是解决这个问题的好方法?