在 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]
# => "лет"
我有以下翻译文件:
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]
# => "лет"