【问题标题】:Ruby on Rails localization resource with translation and nested resources带有翻译和嵌套资源的 Ruby on Rails 本地化资源
【发布时间】:2015-09-25 07:40:28
【问题描述】:

我想要实现的想法如下:

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 翻译的结构是字符串(翻译)或哈希(嵌套翻译),没有办法有“两者”吗?

【问题讨论】:

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


    【解决方案1】:

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

    zh: 活动记录: 楷模: 产品:产品 类别:类别 属性: 产品: 类别:产品类别 类别: 产品:产品

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

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

    【讨论】:

    • 我正在从另一个后端服务器获取那些翻译字符串常量,我无法真正更改它们,因为它们也在其他地方使用。
    • 您的 YAML 文件有误。如果您使用YAML::load 阅读此文件,您将获得{"en"=>{"product"=>{"category"=>{"product"=>"Product"}}}}。你丢失了category: "Product category"en.wikipedia.org/wiki/YAML的信息
    猜你喜欢
    • 2023-03-29
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 2017-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多