【发布时间】:2015-06-16 14:25:00
【问题描述】:
我有以下翻译文件:
ru:
common:
age:
- год
- года
- лет
我想访问翻译中的列表项。我试过类似的东西:
t('common.age[2]')
但它不起作用。怎么做才合适?
【问题讨论】:
标签: ruby-on-rails yaml rails-i18n
我有以下翻译文件:
ru:
common:
age:
- год
- года
- лет
我想访问翻译中的列表项。我试过类似的东西:
t('common.age[2]')
但它不起作用。怎么做才合适?
【问题讨论】:
标签: ruby-on-rails yaml rails-i18n
你可以在 YAML 中存储一个数组结构,但你不能在 YAML 中迭代一个数组结构。 YAML 是一种数据序列化语言,并不意味着包含可执行语句(Array#[] 是 Ruby 方法调用),仅包含数据结构。可执行语句是您正在使用的编程语言的责任,在您的例子中是 Ruby。
因此,在您的情况下,您需要使用 t('common.age') 首先从 YAML 中提取数组,然后在 Ruby-land 中对其进行迭代:
array = t('common.age')
# => ["год", "года", "лет"]
array[2]
# => "лет"
【讨论】: