我有一个包含品牌,标签,评论和产品的页面 . 是时候走向国际了,我对如何设置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 回答
我使用puret http://github.com/jo/puret来翻译数据 . 好的插件运行良好,但在保存带翻译字段的嵌套模型时,我还有一些尚未解决的问题 .
现在没有使用Rails 3的其他替代方案 .