Rails I18n - 为模型和视图多次翻译相同的属性?

时间:2017-01-16 13:42:41

标签: ruby-on-rails rails-i18n

假设我们的模型包含 index show edit new 视图。假设我们希望国际化和翻译所有这些视图,并在将视图名称传递给视图中的Book方法时使用延迟查找(自动翻译范围)。

到目前为止,我找到的唯一解决方案是在字典中包含多个相同属性的键(YML文件):模型的一个键(将转换表单标签)和每个视图的一个附加键。示例:

t

鉴于Rails社区中DRY原则的重要性,我相信可能有一种方法可以避免为同一属性使用多个密钥。

一种可能的替代方法是在字典中仅包含#pt-BR.yml pt-BR: activerecord: attributes: book: title: Título books: index: title: Título show: title: Título 键(仅翻译模型),但似乎懒惰查找在视图中不起作用。我们可以在视图中执行类似activerecord的操作,但它看起来不是一个正确的解决方案,因为每次调用<%= t('activerecord.attributes.book.title') %>方法时我们都必须重复整个范围(activerecord.attributes.book)。

我很感激,如果有人能指出我更好的方式/ DRYer方式。谢谢。

0 个答案:

没有答案