如何一般地本地化ActiveRecord消息?

时间:2012-09-16 21:42:16

标签: ruby-on-rails validation activerecord localization internationalization

我正在尝试

ru:
  activerecord:
    errors:
      format: "%{message}"

没有效果,但是

ru:
  activerecord:
    errors:
      messages:
        record_invalid: "Неверные значения: %{errors}"

正在运作。我想要覆盖它们。

My Rails在Ruby 1.9.3的顶部是3.2.1。

2 个答案:

答案 0 :(得分:3)

您可以使用此本地化代码

ru:
  activerecord:
    errors:
      messages:
        taken: "%{model} с таким именем уже существует"
        record_invalid: "Валидация не прошла: %{errors}"
        restrict_dependent_destroy:
          one: "Невозможно удалить запись, так как существуют зависимости: %{record}"
          many: "Невозможно удалить записи, так как существуют зависимости: %{record} "
        inclusion: "недопустимое значение"
        exclusion: "is reserved"
        invalid: "содержит недопустимое значение"
        confirmation: "doesn't match confirmation"
        accepted: "must be accepted"
        empty: "не может быть пустым"
        blank: "не может быть пустым"
        too_long: "слишком длинно (максимум: %{count} символов)"
        too_short: "слишком коротко (минимум: %{count} символов)"
        wrong_length: "is the wrong length (should be {{count}} characters)"
        taken: "%{attribute} уже занята"
        not_a_number: "может содержать только цифры"
        greater_than: "должно быть больше {{count}}"
        greater_than_or_equal_to: "должно быть больше или равно {{count}}"
        equal_to: "должно быть равно {{count}}"
        less_than: "должно быть меншье {{count}}"
        less_than_or_equal_to: "должно быть меньше или равно {{count}}"
        odd: "может быть только нечетным"
        even: "может быть только четным"

请查看此gist了解详情。

答案 1 :(得分:1)

在我看来,最好使用官方来源的本地化:https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/ru.yml