ruby-on-rails – 是否可以使i18n locales轨道互相回落?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 是否可以使i18n locales轨道互相回落?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用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/

猜你在找的Ruby相关文章