We have this in config/initializers/i18n.rb:
module I18n
def self.fallback_exception_handler(exception, locale, key, options)
options ||= {}
if !Rails.env.development? && exception.is_a?(MissingTranslationData)
if locale == self.default_locale
send(:normalize_translation_keys, locale, key, options[:scope]).last.to_s
else
self.t(key, options.merge(:locale => self.default_locale))
end
else
send :default_exception_handler, exception, locale, key, options
end
end
end
I18n.exception_handler = :fallback_exception_handler
Please note that he will not back down in development, in design (so you will notice the lack of translations).
, Rails 2. , Rails 3.