我有几个包含翻译的表格。为了简化对所有翻译的访问并对其进行缓存,我在Rails初始化后读取表格并在翻译存储中注入其内容。翻译商店重新加载时是否有办法触发某个操作?
#store translations in the I18n store
I18n.available_locales.each do |lang|
storage_hash = {:text => {}, :permalink => {}}
Translation.where(:translatable_type => self.name, :language=> lang).each do |c|
storage_hash[:text][c.translatable_id.to_s] = c.text
storage_hash[:permalink][c.translatable_id.to_s] = c.permalink
end
I18n.backend.store_translations(lang, self.name.downcase => storage_hash)
end
它工作的很好,但在开发中,有时翻译存储被重置,我放弃了我之前添加的翻译。
这是否发生在生产?有没有回调我可以用来重新填写我的翻译?或者有更好的方法去做我想做的事吗?
翻译可以由用户修改,将其存储在本地文件没有帮助。 – jlfenaux 2012-02-14 17:32:26