加载了I18n回退:
I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks)
你知道如何临时禁用它吗?我有一些表单,想要编辑不同语言版本,在启用回退的情况下,如果没有给定翻译,我会得到默认语言的字段。
加载了I18n回退:
I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks)
你知道如何临时禁用它吗?我有一些表单,想要编辑不同语言版本,在启用回退的情况下,如果没有给定翻译,我会得到默认语言的字段。
您可以在I18n.translate
调用时传入:fallback => 'false'
,但这不是公共API的一部分。
另一种方法是尝试以下操作:
I18n.available_locales.each do
|al| I18n.fallbacks.merge!({al => [al]})
end
I18n.available_locales.each do
|al| I18n.fallbacks.merge!({al => [al, I18n.default_locale]})
end
I18n.fallbacks
:def foo
I18n.fallbacks[:at] = [:at]
# do stuff with I18n#t
ensure
I18n.fallbacks[:at] = [:at, :de] # or whatever is was before
end
config/initializers/i18n.rb:
require "i18n/backend/fallbacks"
I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks)
# monkey patch globalize3 to not use fallbacks
module Globalize
def self.fallbacks?
false
end
end
fallback: false
对我起作用了。 - Janosch