Rails i18n使用ActiveRecord后端嵌套翻译

时间:2014-11-17 10:58:23

标签: ruby ruby-on-rails-4 rails-activerecord rails-i18n

我知道我可以在i18n词典中创建嵌套翻译。 e.g。

en:
  bugs:
    index:
      new_label: "File a new bug"
      edit_label: "edit"
      delete_label: "delete"

它与简单的YAML文件完美配合。但是如果我想将ActiveRecord用作i18n的后端会是什么呢?

像这样的Smth

I18n.backend = I18n::Backend::ActiveRecord.new

我找到了此功能的一些迁移

class CreateTranslations < ActiveRecord::Migration
  def self.up
    create_table :translations do |t|
      t.string :locale
      t.string :key
      t.text   :value
      t.text   :interpolations
      t.boolean :is_proc, :default => false

      t.timestamps
    end
  end

  def self.down
    drop_table :translations
  end
end

在这种情况下,如何保存嵌套翻译? 没有它,翻译必须像

{ bugs: value, bugs_index: value, bugs_index_new_label: value, ... }

但在我看来,这不是一个好的解决方案......

0 个答案:

没有答案