Как настроить pluralization в Rails I18n?

Вьюха:
<%= t('validate_errors.error', count: 1) %>
Локаль:
validate_errors:
    error:
      one: "Форма содержит %{count} ошибку"
      few: "Форма содержит %{count} ошибки"
      many: "Форма содержит %{count} ошибок"
      other: "Форма содержит %{count} ошибок"


Должно ли это работать с стандартным(коробочным) I18n gem'ом?
Сейчас работает только "one" и "other".
Неужели в рельсах нету pluralization'а для разных языков?
  • Вопрос задан
  • 8997 просмотров
Решения вопроса 1
Jeiwan
@Jeiwan
Вот ответ: stackoverflow.com/questions/6166064/i18n-pluralization
Нужно задать правило плюразилации для русского языка и всё заработает:
2.1.2 :001 > I18n.locale = :ru
 => :ru 
2.1.2 :002 > I18n.t 'validate_errors.error', count: 1
 => "Форма содержит 1 ошибку" 
2.1.2 :003 > I18n.t 'validate_errors.error', count: 2
 => "Форма содержит 2 ошибки" 
2.1.2 :004 > I18n.t 'validate_errors.error', count: 3
 => "Форма содержит 3 ошибки" 
2.1.2 :005 > I18n.t 'validate_errors.error', count: 4
 => "Форма содержит 4 ошибки" 
2.1.2 :006 > I18n.t 'validate_errors.error', count: 5
 => "Форма содержит 5 ошибок" 
2.1.2 :007 > I18n.t 'validate_errors.error', count: 10
 => "Форма содержит 10 ошибок" 
2.1.2 :008 > I18n.t 'validate_errors.error', count: 22
 => "Форма содержит 22 ошибки" 
2.1.2 :009 > I18n.t 'validate_errors.error', count: 21
 => "Форма содержит 21 ошибку"
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
viktorvsk
@viktorvsk
Вы представляете, сколько мало разработчиков в мире? А сколько из них занимаются вебом? А сколько - на руби? А сколько - рельсами? А скольких из них интересует всесторонняя реализация своих проектов ? А скольких из них волнует русский (не говоря уже о "разных") ?

Есть gem Russian

насчет множественных чисел, например, вот, гуглится первым делом: rubyclub.com.ua/messages/show/18928-%D1%81%D0%BA%D...
Ответ написан
kirillplatonov
@kirillplatonov
Ruby on Rails developer
Нативная поддержка плюрализации на разных языках есть. guides.rubyonrails.org/i18n.html#pluralization

Попробуйте поэкспериментировать с версией рельс и запустить у себя пример из документации.
Ответ написан
Cthulhu
@Cthulhu
В оригинальном ответе подправил формулу: stackoverflow.com/a/26979816/228067
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы