rails 3 I18n的最佳方法

时间:2010-05-11 16:03:57

标签: ruby-on-rails internationalization

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

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

在遇到问题之前,我向您展示了我的数据库模式/模型。 请注意,没有一个模型具有语言环境变量。


模型和架构


产品

belongs_to:类别
 has_many:taggings
 has_many:tags,:through => :引用的Tagging
 has_many:评论

  • 名:字符串
  • 描述:文本
  • comments_count:整数

注释

belongs_to:product,:counter_cache =>真

  • 作者:字符串
  • 注释:文本

品牌

has_many:products

  • 名:字符串

标记

belongs_to:tag
 belongs_to:product

标记

has_many:标签
 has_many:products,:through => :的Tagging

  • 名:字符串

问题


  • 翻译字段
    要翻译单个字段,例如标签的名称或产品的描述 可以使用globalize2 gem和单独的转换表或 具有相同特征的任何其他宝石。

  • comments_count
    产品的comments_count将显示总金额 评论,而不是特定语言。

  • 标记/的Tagging
    在做product.first.tags时,它会显示所有标记 无论当前的语言环境如何。这个问题的一个解决方案可以 是在语言环境表中放置一个语言环境字段,但我想在那里 是插件还是宝石?

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

我需要知道如何处理I18n应用程序的人提出建议并且问题很简单:如何解决上述问题?所有答案都表示赞赏。

1 个答案:

答案 0 :(得分:1)

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

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