我正在使用Rails 3和Globalize3 0.2.0.beta4
理想情况下我需要:fr回退到:en,反之亦然.
有些情况下只有法语翻译可用,我需要显示它,即使语言环境是:en.
我试过了
config.i18n.fallbacks = { :fr => :en,:en => :fr }
但有点不出所料,它导致堆栈级别太深的错误.
解决方法
我正在改变我的答案.
要启用回退,请将以下内容添加到environment.rb文件中:
#support for locale fallbacks require "i18n/backend/fallbacks" I18n::Backend::Simple.send(:include,I18n::Backend::Fallbacks)
然后,您可以像尝试一样启用循环回退,例如:
config.i18n.fallbacks = {'en' => 'fr','fr' => 'en'}
在这种情况下,如果en语言环境中缺少某些内容,它将检查fr语言环境,然后反过来.我没有遇到任何错误.
资料来源:http://batsov.com/articles/2012/09/12/setting-up-fallback-locale-s-in-rails-3/