i18n имеет встроенную поддержку для использования базы данных в качестве бэкэнда перевода.
Создать таблицу, используя этот код в миграции:
create_table :translations do |t|
t.string :locale
t.string :key
t.text :value
t.text :interpolations
t.boolean :is_proc, :default => false
end
Затем добавьте инициализатор в config / initializers / i18n.rb с содержанием:
I18n.backend = I18n::Backend::ActiveRecord.new
И последнее ... положить переводы в таблицу. Что-то вроде:
locale key value
en Cool Cool
es Cool Frio
en nav.Home home
es nav.Home casa
...
Начиная с i18n 0.5.0, я думаю, они переместили этот код в свой собственный драгоценный камень ... Я забыл, как называется этот драгоценный камень.