如何在I18n.translate

时间:2016-09-07 12:42:34

标签: ruby-on-rails rails-i18n

I18n.translate可以翻译error.messages,如下所示:

I18n.translate('error.messages.taken')
-> has already been taken

但是有一些错误消息包含如下参数:

I18n.translate('error.messages.greater_than_or_equal_to')
-> must be greater than or equal to %{count}"

是否可以在I18n.translate中传递参数'count'?

4 个答案:

答案 0 :(得分:9)

您可以在密钥

之后传递参数
I18n.translate('error.messages.greater_than_or_equal_to', count: 2)

答案 1 :(得分:0)

这将允许您添加任意数量的参数

I18n.translate('error.messages.greater_than_or_equal_to {arg1}').replace('{arg1}', count)

答案 2 :(得分:0)

对于多个参数,可能是:

I18n.translate('error.messages.greater_than_or_equal_to', {
  count: 2,
  foo: 'bar'
})

答案 3 :(得分:0)

如果你有

"greeting": "hi {name}"

你需要写

i18n.translate('greeting', {values: {name: 'John'}});