首页 文章

rails 3 I18n的最佳方法

提问于
浏览
3

我有一个包含品牌,标签,评论和产品的页面 . 是时候走向国际了,我对如何设置I18n有一些疑问 .

我已经阅读了一些关于内化的内容,甚至在1年前尝试过globalize gem,但它仍然是很多我不知道如何处理的事情 . 我使用漂亮的I18n.translate()方法在我的网页上翻译静态文本,将每个静态和半静态文本存储在不同的.yml文件中 . 当试图根据语言跟踪关系时会出现问题 .

在遇到问题之前,我向您展示了我的数据库架构/模型 . 请注意,所有模型都没有locale变量 .

模型和架构

产品

belongs_to:category
has_many:taggings
has_many:tags,:through =>:taggings
has_many:评论

  • name:string

  • description:文字

  • comments_count:整数

评论

belongs_to:product,:counter_cache => true

  • 作者:字符串

  • 评论:文字

品牌

has_many:产品

  • name:string

标记

belongs_to:tag
belongs_to:产品

标签

has_many:taggings
has_many:products,:through =>:taggings

  • name:string

问题

  • translate fields
    要翻译单个字段,例如标签's name or product' s描述,可以将globalize2 gem与单独的转换表或具有相同功能的任何其他gem一起使用 .

  • comments_count
    产品的comments_count将显示评论的总量,而不是特定语言 .

  • tags/taggings
    在执行product.first.tags时,它将显示所有标记,而不管当前的语言环境 . 这个问题的一个解决方案可能是在taggings表中放置一个locale字段,但我想有插件或gems来做这个?

  • 品牌名称是国际品牌,不会因语言而异 .

我需要知道如何处理I18n应用程序的人提出建议并且问题很简单: how do I solve the problems above? 所有答案都表示赞赏 .

1 回答

  • 1

    我使用puret http://github.com/jo/puret来翻译数据 . 好的插件运行良好,但在保存带翻译字段的嵌套模型时,我还有一些尚未解决的问题 .

    现在没有使用Rails 3的其他替代方案 .

相关问题