time.formats in the locale and then looks for the requested format in
that hash, thereby not doing fallback correctly. To make things worse
it then defaults to just using the requested format name as the format...
I18n.missing_translations_logger = Logger.new("#{RAILS_ROOT}/log/missing_translations.log")
I18n.exception_handler = :missing_translations_log_handler
I18n.missing_translations_logger = Logger.new("#{RAILS_ROOT}/log/missing_translations.log")
I18n.exception_handler = :missing_translations_log_handler
+
+module I18n
+ module Backend
+ class Simple
+ protected
+ alias_method :old_init_translations, :init_translations
+
+ def init_translations
+ old_init_translations
+
+ friendly = translate('en', 'time.formats.friendly')
+
+ available_locales.each do |locale|
+ time_formats = I18n.t('time.formats', :locale => locale)
+
+ unless time_formats.has_key?(:friendly)
+ store_translations(locale, :time => { :formats => { :friendly => friendly } })
+ end
+ end
+ end
+ end
+ end
+end