4
A
回答
4
Rails支持用于翻译的非YAML存储。如果您想将翻译存储在表格中,请使用i18n-active_record宝石。
在可定制的I18n后端上观看Railscast。
如果使用i18n-active_record宝石,确保memoize
和flatten
以获得最佳性能的关键如下图所示(摘自readme的i18n-active_record宝石代码示例)
I18n.backend = I18n::Backend::ActiveRecord.new
I18n::Backend::ActiveRecord.send(:include, I18n::Backend::Memoize)
I18n::Backend::ActiveRecord.send(:include, I18n::Backend::Flatten)
I18n::Backend::Simple.send(:include, I18n::Backend::Memoize)
I18n::Backend::Simple.send(:include, I18n::Backend::Pluralization)
I18n.backend = I18n::Backend::Chain.new(I18n::Backend::Simple.new, I18n.backend)
0
您应该创建一个名为translations的表。
在您的产品型号:
has_many :labels
在你的标签型号:
has_one :translation
然后你需要你的翻译表可以有尽可能多的语言:
Product.first.labels.first.translation.en
Product.first.labels.first.translation.cn
Product.first.labels.first.translation.fn
有了这个您可以拨打的逻辑:
Product.all.each do |p|
p.lables.each do |l|
l.translation.en
l.translation.cn
#etc....
end
end
相关问题
- 1. Rails国际化,html标记
- 2. Rails 3 ActiveForm国际化(国际化)
- 3. JSF/Facelets中的国际化标签
- 4. Rails中的国际化和本地化。
- 5. Rails的国际化:在树
- 6. Rails的国际化问题(韩国)
- 7. JavaME国际化(国际化)
- 8. Rails的:国际化参数被翻译
- 9. 获取没有标签标签包装的国际化标签文本
- 10. Rails - 在测试中测试国际化
- 11. MySql产品\标签查询优化
- 12. Wicket中表单组件的国际化标签
- 13. GWT国际化中的HTML标记
- 14. 用JavaScript变量的Rails国际化
- 15. Rails 3的支架和国际化
- 16. Rails的国际化HAS_ONE翻译
- 17. 有没有一种工具可以帮助ruby/rails国际化?
- 18. PHP国际化
- 19. jqGrid国际化
- 20. YAML国际化
- 21. Struts2 +国际化
- 22. 国际化sitemesh
- 23. 国际化与
- 24. GWT国际化
- 25. Mono国际化
- 26. 国际化
- 27. Spring国际化
- 28. activeadmin +国际化
- 29. SSRS中的国际化
- 30. symfony中的i18n(国际化)