【问题标题】:Access YAML list in Rails translation在 Rails 翻译中访问 YAML 列表
【发布时间】:2015-06-16 14:25:00
【问题描述】:

我有以下翻译文件:

ru:
  common:
    age:
      - год
      - года
      - лет

我想访问翻译中的列表项。我试过类似的东西:

t('common.age[2]')

但它不起作用。怎么做才合适?

【问题讨论】:

    标签: ruby-on-rails yaml rails-i18n


    【解决方案1】:

    你可以在 YAML 中存储一个数组结构,但你不能在 YAML 中迭代一个数组结构。 YAML 是一种数据序列化语言,并不意味着包含可执行语句(Array#[] 是 Ruby 方法调用),仅包含数据结构。可执行语句是您正在使用的编程语言的责任,在您的例子中是 Ruby。

    因此,在您的情况下,您需要使用 t('common.age') 首先从 YAML 中提取数组,然后在 Ruby-land 中对其进行迭代:

    array = t('common.age')
    # => ["год", "года", "лет"]
    array[2]
    # => "лет"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多