Как включить откат в I18n с globalize2 - PullRequest
3 голосов
/ 27 января 2010

Так вот в чем проблема. В моем приложении globalize2 возвращает строку NIL, если в какой-либо записи нет перевода, вместо возврата к default_locale. Интересно, как включить тонкую функциональность? Кто-нибудь понял это?

Ответы [ 3 ]

10 голосов
/ 29 января 2010

Установить библиотеку sven fuchs i18n из http://github.com/svenfuchs/i18n

Тогда в вашей среде. Rb:

require "i18n/backend/fallbacks" 
I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks)

с использованием: "en-US" в качестве локали по умолчанию:

I18n.default_locale = :"en-US" 
I18n.fallbacks[:ca] # => [:ca, :"en-US", :en]
I18n.fallbacks :dk => [:"se-FI", :"fi-FI"] # => [:dk, :"se-FI", :se, :"fi-FI", :fi, :"en-US", :en]
1 голос
/ 06 февраля 2015

В последней версии i18n gem (0.7.0) я обнаружил, что необходимо определить запасные локали, например:

# Custom I18n fallbacks
config.after_initialize do
  I18n.fallbacks = I18n::Locale::Fallbacks.new(at: :"de-DE", ch: :"de-DE", gb: :"en-US")
end

Вам также необходимо установить config.i18n.fallbacks = true во всех config/environments/*.rb файлах.

0 голосов
/ 16 августа 2010

Это сработало для меня (i18n gem версии 0.4x не работало).

# config/environment.rb
config.gem 'i18n', :version => '0.3.7'

# config/initializers/i18n.rb
I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks)
...