Использование I18n с сообщением Rails ActiveRecord Vaildation - PullRequest
0 голосов
/ 14 ноября 2011

Я создаю приложение, использующее I18n для отображения на разных языках.В этот момент сообщение проверки показывается следующим образом.

ru

USERNAME CAN'T BE BLANK

ч-ч

USERNAME 不能为空字符

Я бы хотел перевести атрибут ИМЯ ПОЛЬЗОВАТЕЛЯ в другую строку.Поэтому я следовал инструкции в Rails Guide и добавил следующие строки в мои файлы локалей:

en:
  activerecord:
    attributes:
      user:
        username: "User Name"


zh-CN:
  activerecord:
    attributes:
      user:
        username: "用户名"

Когда я запускаю команду human_attribute_name, ее можно перевести.

ruby-1.9.2-p290 :001 > User.human_attribute_name("username")
 => "Username"

Но в проверочном сообщении просто заглавные буквы в имени атрибута.

CURRENT_PASSWORD 不能为空字符

Я что-то пропустил?Как я могу это исправить?

Спасибо всем.:)

Ответы [ 2 ]

1 голос
/ 14 ноября 2011

Я думаю, вам может понадобиться

en:
  activerecord:
    errors:
      models: 
        user:
          attributes:
            username: "User Name"
0 голосов
/ 14 ноября 2011

Я сделал ошибку.Я добавил пользовательский помощник для обработки сообщения проверки.Соответствующий перевод I18n верен.Я могу использовать human_attribute_name для перевода этого атрибута.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...