Ruby on Rails本地化资源,包含翻译和嵌套资源

时间:2015-09-25 07:40:29

标签: ruby-on-rails ruby localization internationalization rails-i18n

我想要实现的目标有以下几点:

en:
  product:
     category: "Product category"
     category: 
       product: "Product"

这样我就会得到以下结果

t("product.category") => "Product category"
t("product.category.product") => "Product"

然而后一类别会覆盖第一类,所以我会这样:

t("product.category") => ":product: Product"
t("product.category.product") => "Product"

任何方式来实现那种在被要求提供根目录时返回文本的翻译结构,或者是Rails翻译结构化使得它是String(翻译)或Hash(嵌套翻译)并且没有办法有“两个”?

1 个答案:

答案 0 :(得分:2)

为什么不用Rails方式尝试呢?

en:
  activerecord:
    models:
      product: Product
      category: Category
    attributes:
      product:
        category: Product category
      category:
        product: Product

接下来你可以使用方法: Model.model_name.human显示模型名称 要么 Model.human_attribute_name(attribute)显示属性名称

更多信息: http://guides.rubyonrails.org/i18n.html#translations-for-active-record-models