在 Rails 翻译中访问 YAML 列表

Access YAML list in Rails translation

我有以下翻译文件:

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

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

t('common.age[2]')

但是没用。如何正确操作?

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

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

中对其进行迭代
array = t('common.age')
# => ["год", "года", "лет"]
array[2]
# => "лет"