mar*_*arc 8 globalization ruby-on-rails internationalization globalize2 ruby-on-rails-3
我正在使用Rails 3和Globalize3 0.2.0.beta4
理想情况下我需要:fr回退到:en,反之亦然.
有些情况下只有法语翻译可用,我需要显示它,即使语言环境是:en.
我试过了
config.i18n.fallbacks = { :fr => :en, :en => :fr }
Run Code Online (Sandbox Code Playgroud)
但有点不出所料,它导致堆栈级别太深的错误.
我正在改变我的答案.
要启用回退,请将以下内容添加到environment.rb文件中:
#support for locale fallbacks
require "i18n/backend/fallbacks"
I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks)
Run Code Online (Sandbox Code Playgroud)
然后,您可以像尝试一样启用循环回退,例如:
config.i18n.fallbacks = {'en' => 'fr', 'fr' => 'en'}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如果en语言环境中缺少某些内容,它将检查fr语言环境,然后相反.我没有遇到任何错误.
资料来源:http://batsov.com/articles/2012/09/12/setting-up-fallback-locale-s-in-rails-3/
如果您传递一组区域设置,它们将被设置为所有区域设置的默认后备。
config.i18n.fallbacks = [:en, :fr]
Run Code Online (Sandbox Code Playgroud)
不幸的是,我还没有找到一种方法来设置两个区域设置以相互回退。
归档时间: |
|
查看次数: |
2922 次 |
最近记录: |