寻找解决方案如何在以下情况下在I18n yml文件中编写翻译记录:
class SomeClass < ActiveRecord::Base
validate: stock_avail
def stock_avail
# errors is an instance of ActiveModel::Errors
errors.add(:quantity, I18n.t('validation.stock_exceeded'))
# how to write a translation for :quantity part ?
end
end
errors.add
记录在案here。
我如何以及在哪里为错误消息的:quantity
属性编写翻译?
感谢。
答案 0 :(得分:0)
这是@zwippie 答案的插件...
<块引用>现在我想知道自定义验证消息是否也可以存储在此文件中。
是的,它在 VectorizedRNG
/errors
下,如下所示:
messages
所以 nl:
activerecord:
models:
product: Product
attributes:
product:
name: Naam
quantity: Aantal
errors:
messages:
stock_exceeded: voorraad overschreden # HERE
将是:
error.add
答案 1 :(得分:-1)
如果是关于模型的属性名称,则可以将翻译添加到config/locales/models/model_name/lang.yml
。
例如,config/locales/models/product/nl.yml
的内容可能类似于:
nl:
activerecord:
models:
product: Product
attributes:
product:
name: Naam
quantity: Aantal
现在我想知道自定义验证消息是否也可以存储在这个文件中。
另外,请将其添加到config/application.rb
:
# Load locale files in nested dictionaries
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s]