2010-01-27 30 views
3

所以這就是問題所在。在我的應用程序中,如果在某些記錄上沒有翻譯,globalize2將返回一個NIL字符串,而不是返回到default_locale。我想知道如何啓用瘦功能?有沒有人知道這一點?如何在I18n中啓用全球化回退功能2

回答

10

安裝從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 2010-01-29 11:49:23

0

這爲我工作(i18n寶石版本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

在最新的國際化寶石(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文件。