在application.rb中我改变了本地:
config.i18n.default_locale = :ru
我安装:
gem russian
我创建文件/config/locales/ru.yml:
ru:
activerecord:
errors:
messages:
Title: "Название"
Description: 'Описание'
我在控制器验证消息中输出:
def create
@album = current_user.albums.build(album_params)
if @album.save
render json: @album, :status => 200
else
@errors = Array.new
p '----------------'
@album.errors.full_messages.each do |msg|
p msg
@errors.push(msg)
end
p '----------------'
p @errors
render json: @errors, :status => 403
end
end
这是我在控制台中得到的结果:
"----------------"
"Title не может быть пустым"
"Title недостаточной длины (не может быть меньше 3 символов)"
"Description не может быть пустым"
"Description недостаточной длины (не может быть меньше 10 символов)"
"----------------"
如您所见,字段名称(标题,描述)仍未翻译。我应该如何翻译它们?
答案 0 :(得分:1)
此文件:/ config/locales/ru.yml需要额外的翻译才能让Rails将默认字段名称映射到俄语字符串。
使用这个确切的结构非常重要,否则不会加载字段名称的翻译。
activerecord:
attributes:
modelname:
fieldname: translated string
所以,在你的例子中......
activerecord:
attributes:
album:
Description: Описание
Title: Название
...
请尝试让我知道它是怎么回事。