我正在将我的Rails 4.2应用升级到5.1。我所做的其中一项测试是验证所有英语i18n字符串在我的其他语言中都是对应的。
我注意到此测试现在失败了,因为看起来Rails 5.1改变/移动了errors
部分中的一些区域设置键。以下是我缺少的一些密钥,例如:
- errors.messages.required: 'must exist'
- errors.or: 'or'
- errors.array?: 'must be an array'
- errors.excludes?: 'must not include %{value}'
- errors.excluded_from?.arg.default: 'must not be one of: %{list}'
- errors.excluded_from?.arg.range: 'must not be one of: %{list_left} - %{list_right}'
所以我的问题是:密钥名称中的问号(如errors.excludes?
)是否具有特殊含义?或者我应该用其他语言逐字实现它。对于像errors.excluded_from?.arg.range
这样的密钥 - 我的YAML应该是这样的吗?:
errors:
excluded_from?:
arg:
range: ...
default: ...
提前致谢。