yaroslav / russian

Russian language support for Ruby and Rails | Поддержка русского языка для Ruby и Rails
MIT License
475 stars 127 forks source link

Conflict I18n and russian #8

Closed bublik closed 14 years ago

bublik commented 14 years ago

config.gem 'yaroslav-russian', :lib => 'russian', :source => 'http://gems.github.com' В системе установлен i18n-0.3.5 как просили для rails 3 после чего слетела локализация дат

I18n.l(Time.now) ArgumentError: wrong number of arguments (4 for 3) from /usr/lib/ruby-enterprise-1.8.7/lib/ruby/gems/1.8/gems/i18n-0.3.5/lib/i18n.rb:224:in localize' from /usr/lib/ruby-enterprise-1.8.7/lib/ruby/gems/1.8/gems/i18n-0.3.5/lib/i18n.rb:224:inl'

yaroslav commented 14 years ago

Стабильная версия russian пока не совместима с Rails 3, потому что Rails 3 в текущем состоянии это помойка.

Чтобы убрать исключение, установите локально в plugins/russian версию из этой ветки: http://github.com/yaroslav/russian/tree/i18n-0.3

kaievns commented 14 years ago

реквестирую квикфикс и апдейт гема. ибо с выходом беты уже как бы уже пора наверное.

yaroslav commented 14 years ago

См. выше. Если нужна работа с 3.0b — Ветка 0.3 рабочая, patches are welcome.

Бета Rails 3 пригодна только для разработки Rails 3 — правильнее ее называть первой альфой. Новая релизная версия гема выйдет вместе с релизом Rails 2.3.6 и будет поддерживать только 2.3.6, для 2.3.5 и ниже будет рекомендовано пользоваться russian 0.2.x.

API, который в рельсах касается I18n, имеет свойство обновляться, когда нужно и не нужно (конкретно на 2.3 ветке один раз сломали API и один раз «блин а я не помню когда это было» — цитирую Свена — сделали подгрузку i18n из gemов, что и приводит к обсуждаемой ошибке; кроме того, по крайней мере в Rails 3.0b переводы для AR имеют другую структуру ключей), поэтому я не буду торопиться с обновлениями и поддерживать только стабильные версии, иначе придется сделать еще несколько апдейтов между двумя версиями Rails.

kaievns commented 14 years ago

Я не спорю что все плохо. Но как бы с выходом беты уже народ ставит третью рельсу напопробовать и после этого все старые проекты что использует Russian падают с ошибкой.

К тому же патч то тривиальный

module I18n
  module Backend
    class Advanced
      def localize_with_patch(locale, object, format = :default, *args)
        localize_without_patch(locale, object, format)
      end

      alias_method_chain :localize, :patch
    end
  end
end
yaroslav commented 14 years ago

@MadRabbit проверь master?

kaievns commented 14 years ago

у меня все работает, ждем гема!

yaroslav commented 14 years ago

[close]

kaievns commented 14 years ago

спасибо!