所以这就是问题所在。在我的应用程序 globalize2 中,如果某些记录上没有翻译,则返回 NIL 字符串,而不是回退到 default_locale。我想知道如何启用瘦功能?有人知道吗?
问问题
1615 次
3 回答
10
从http://github.com/svenfuchs/i18n安装 sven fuchs 的 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]
于 2010-01-28T22:08:15.617 回答
1
在最新的 i18n gem (0.7.0) 中,我发现有必要定义这样的后备语言环境(in 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
文件中进行设置。
于 2015-02-06T18:46:52.283 回答
0
这对我有用(i18n gem 版本 0.4x 不起作用)。
# config/environment.rb
config.gem 'i18n', :version => '0.3.7'
# config/initializers/i18n.rb
I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks)
于 2010-08-16T01:59:20.207 回答