module I18n

A simple exception handler that behaves like the default exception handler but additionally logs missing translations to a given log.

Useful for identifying missing translations during testing.

E.g.

require 'globalize/i18n/missing_translations_log_handler'
I18n.missing_translations_logger = RAILS_DEFAULT_LOGGER
I18n.exception_handler = :missing_translations_log_handler

To set up a different log file:

logger = Logger.new("#{RAILS_ROOT}/log/missing_translations.log")
I18n.missing_translations_logger = logger

A simple exception handler that behaves like the default exception handler but also raises on missing translations.

Useful for identifying missing translations during testing.

E.g.

require 'globalize/i18n/missing_translations_raise_handler'
I18n.exception_handler = :missing_translations_raise_handler

Public Class Methods

missing_translations_log_handler(exception, locale, key, options) click to toggle source
# File lib/i18n/missing_translations_log_handler.rb, line 32
def missing_translations_log_handler(exception, locale, key, options)
  if MissingTranslationData === exception
    missing_translations_logger.warn(exception.message)
    return exception.message
  else
    raise exception
  end
end
missing_translations_logger() click to toggle source
# File lib/i18n/missing_translations_log_handler.rb, line 21
def missing_translations_logger
  @@missing_translations_logger ||= begin
    require 'logger' unless defined?(Logger)
    Logger.new(STDOUT)
  end
end
missing_translations_logger=(logger) click to toggle source
# File lib/i18n/missing_translations_log_handler.rb, line 28
def missing_translations_logger=(logger)
  @@missing_translations_logger = logger
end
missing_translations_raise_handler(exception, locale, key, options) click to toggle source
# File lib/i18n/missing_translations_raise_handler.rb, line 12
def missing_translations_raise_handler(exception, locale, key, options)
  raise exception
end