2010-01-27 3 views
3

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

ответ

10

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

Тогда в вашем environment.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] 
+0

Спасибо, человек, но я столкнулся с некоторыми проблемами, используя тонкий плагин I18n. Но ваш ответ правильный. – Filip

0

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

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

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

В последнем i18n драгоценного камня (0.7.0) Я счел необходимый определить замещающие локали, как это (в config/application.rb):

# 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 файлах.

Смежные вопросы